Comments (15)
Hi @kgantchev and thanks for your proposal, I'll wait for this repo maintainer's feedback and guidance 👍
from wabt.
My own opinion is that I'd love to focus on having our deliverable be source code (like a typical old-school FLOSS project), and let downstream distributors (Linux distributions, PPAs, MacPorts, Homebrew, etc.) be the ones to prepare binaries. If Homebrew isn't preparing binaries in a way that serves the needs of Mac users, that seems like a great topic to bring up with them...
But, sure, if there's a PR that makes people happy and doesn't cost us anything, great.
from wabt.
I think I got the setup correctly, but some of the tests are not passing. Perhaps one of the other (more experienced) contributors can pick it up from here?
from wabt.
If somebody wants to send a PR that does this (but doesn't cost anything) feel free to do so.
In the mean time it seems reasonable to suggest that folks just use homebrew (or for more complex use cases like your just build your own binaries).
from wabt.
I think we probably could talk ourselves into merging the CI change without the tests 100% passing on arm64 yet, but somebody needs to submit it as a Pull Request for me (or any of us) to review it.
from wabt.
Can folks use the homebrew version: https://formulae.brew.sh/formula/wabt ?
from wabt.
Yes we worked around this way for now, unfortunately this way we cannot control the wabt installed version and it can give issues.
It would be nice to have a GH official release of the packages for all of the architectures.
from wabt.
If you would like to contribute a github CI recipe to publish an arm64 macOS build that would be most welcome.
from wabt.
Make sense, unfortunately, I'm extremely not familiar with this project build and tools, I have attempted to use the new apple silicon runners but they are available only for enterprise accounts.
It should be anyhow possible to do something with Qemu or similar, it would be great if you have any reference or link to spare to get me started @sbc100 🙏
from wabt.
@andreaTP Hi, I'm the CEO and co-founder of FlyCI. You can also try the FlyCI's M1 and M2 runners. We have a free tier of 500 minutes/month on M1.
Easily replace your M1 runners:
jobs:
ci:
- runs-on: macos-latest
+ runs-on: flyci-macos-large-latest-m1
steps:
- name: 👀 Checkout repo
uses: actions/checkout@v4
Exclusive M2 runners:
jobs:
ci:
- runs-on: macos-latest
+ runs-on: flyci-macos-large-latest-m2
steps:
- name: 👀 Checkout repo
uses: actions/checkout@v4
They're up to 2x faster and up to 2x cheaper than GitHub's. We'll be very happy to have you on board.
from wabt.
@kgantchev I attempted to run on FlyCI:
https://github.com/andreaTP/wabt/actions/runs/7658941205/job/20872958046#step:2:6
Apparently, the CI definition needs more tweaks than I initially thought, this is very low priority for me, if you want to pick it up it would be great!
from wabt.
Looks like only two tests are failing, both related to SIMD. But this seems quite close.
The simd_address failure is expected as we have a TODO for this (https://github.com/WebAssembly/wabt/blob/main/src/template/wasm2c_simd.declarations.c#L6); somebody will need to give us the appropriate asm constraint on arm64.
The simd_i8x16_arith2 failure is less expected and seems to indicate an arm64 issue with the simd-everywhere library that wasm2c uses; I would try updating the third_party/simde
submodule to the latest simd-everywhere commit, and if that fixes it, great. Otherwise somebody needs to report this upstream to https://github.com/simd-everywhere/simde
from wabt.
Thanks @keithw... I trust that you guys got it from here.
The change is pretty simple tho. Let me know if you run into any issues with our MacOS arm64 runners. Our team is standing by should you have any problems.
Best Regards,
Kiril Gantchev
CEO and co-founder of FlyCI
Web: flyci.net | Twitter: flyciapp | LinkedIn: FlyCI | Discord: FlyCI
from wabt.
@keithw I'm not sure if that's an invitation for me to make the PR... :)
However, I made a draft PR. I'll be happy to contribute with it if that's the direction you were thinking about.
One thing to consider is that FlyCI app should be installed on this account and it should be granted permission to this repo, otherwise, none of the FlyCI jobs will be picked up by our workers. The install instructions are in the draft PR. Once that's ready, I'll make the draft into an actual PR.
from wabt.
M1 runners are now available for open-source projects on GH Action:
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
from wabt.
Related Issues (20)
- wasm2c: Are module instances truly thread-safe? HOT 5
- can wast2json write out binary modules as they are without error checking? HOT 3
- wat2wasm fails converting .wast files in testsuite: error: unexpected token (, expected EOF. HOT 4
- feature request: support for WASI preview 2 component model HOT 1
- wat2wasm segfaults on .wat file with many nested if statements HOT 9
- Use of call_ref does not take a type indice in wat2wasm HOT 1
- Output results of the wasm-decompile to be easier to understand which function is called by call_indirect HOT 1
- [wasm2c] MSVC miscompiles for certain fp constants HOT 5
- WASM2C - What happened to wasm_rt_allocate_memory HOT 3
- Error using wasm2wat on a wasm file generated by Moonbit: "unexpected type form (got -0x30)" HOT 1
- Out-of-Memory Program Abort in wabt::interp::Table::Grow() HOT 2
- Out-of-Memory Program Abort in BinaryReaderInterp::OnDataCount()
- Invalid Memory Read in FreeList<wabt::interp::Object*>::IsUsed()
- error initializing module: invalid import "a.a" HOT 1
- Error while running testsuite (simd_lane, simd_load) "loop not vectorized" HOT 3
- wasm2wat: support component wasm HOT 1
- Wrong type error when validating globals with gc proposal features
- wat2wasm: Assertion `!"ParseExpr should only be called when IsExpr() is true"' failed in wabt::WastParser::ParseExpr
- Wast2Json fails on the testsuite HOT 8
- Library not loaded: /usr/local/opt/openssl@3/lib/libcrypto.3.dylib HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wabt.