Try to make CI more robust with more retries (#11532)* Try to make CI more robust with more retriesTry adding `--retry` to a bunch of `curl` commands to see if we can makeCI a bit more robust in
Try to make CI more robust with more retries (#11532)* Try to make CI more robust with more retriesTry adding `--retry` to a bunch of `curl` commands to see if we can makeCI a bit more robust in the face of flaky network failures.prtest:full* See if rustls is less flaky* See if curl isn't flaky?
show more ...
Add release binaries for 32-bit platforms (#10025)This commit notably adds release binaries for:* `i686-unknown-linux-gnu` - named `i686-linux`* `i686-pc-windows-msvc` - named `i686-windows`* `
Add release binaries for 32-bit platforms (#10025)This commit notably adds release binaries for:* `i686-unknown-linux-gnu` - named `i686-linux`* `i686-pc-windows-msvc` - named `i686-windows`* `armv7-unknown-linux-gnueabihf` - named `armv7-linux`These artifacts all use Pulley for their execution of WebAssembly andhave been added to the tiers listing under tier 3.
Refactor release builds, add aarch64-musl (#9885)* Refactor release builds, add aarch64-muslThis commit refactors the way release builds are done in CI in terms ofconfiguration and then addition
Refactor release builds, add aarch64-musl (#9885)* Refactor release builds, add aarch64-muslThis commit refactors the way release builds are done in CI in terms ofconfiguration and then additionally adds aarch64-musl release artifactsas requested in #9875. The refactoring here is done to reduce the numberof locations to understand release builds. Notably the`binary-compatible-builds` action was removed in favor of directenvironment configuration in conjunction with docker images used tobuild. The `aarch64-musl` build itself happens in a container providedby the `cross` project to ensure that the right toolchain is configured.Closes #9875prtest:full* Link musl dynamically
Update nightly in CI (#9501)* Update nightly in CIThis commit updates nightly again in CI after failing to do so in #9496.This fixes an issue in our release CI where CMake was misconfigured when
Update nightly in CI (#9501)* Update nightly in CIThis commit updates nightly again in CI after failing to do so in #9496.This fixes an issue in our release CI where CMake was misconfigured whencross-compiling and creating `aarch64-pc-windows-msvc` artifacts.prtest:full* Try installing ninja* Also install Ninja on Linux
Try again to fix version info in CI builds (#9157)Turns out just having `git` wasn't enough. In the containers things arerunning as `root` and `git` doesn't like that so try to convince gitthat i
Try again to fix version info in CI builds (#9157)Turns out just having `git` wasn't enough. In the containers things arerunning as `root` and `git` doesn't like that so try to convince gitthat it should like it.
Install `git` executable in container builds (#9152)Precompiled artifacts for macOS show this for `wasmtime --version` wasmtime-cli 24.0.0 (6fc3d274c 2024-08-20)whereas for Linux they show
Install `git` executable in container builds (#9152)Precompiled artifacts for macOS show this for `wasmtime --version` wasmtime-cli 24.0.0 (6fc3d274c 2024-08-20)whereas for Linux they show wasmtime-cli 24.0.0and this is due to `git` not being available in the build environment onLinux.
Clean up dist build configuration (#9113)* Clean up dist build configuration* Move updating `$PATH` to the `main.js` script which is the one that mounts `/rust/bin` so that knowledge isn't spre
Clean up dist build configuration (#9113)* Clean up dist build configuration* Move updating `$PATH` to the `main.js` script which is the one that mounts `/rust/bin` so that knowledge isn't spread around.* Remove some unused env vars in docker containers.* Forward cargo/rust-specific env vars to the build from outside of containers to the build itself.prtest:full* Change how musl rustflags are configured* More rustflags changes* Review feedback
Use cmake 3.26, which is available in AlmaLinux 8 (#8896)prtest:full
Use AlmaLinux:8 for x86_64-linux binary-compatible-builds (#8892)* Use Ubuntu-16.04 for x86_64-linux binary-compatible-builds* Revert "Use Ubuntu-16.04 for x86_64-linux binary-compatible-builds"
Use AlmaLinux:8 for x86_64-linux binary-compatible-builds (#8892)* Use Ubuntu-16.04 for x86_64-linux binary-compatible-builds* Revert "Use Ubuntu-16.04 for x86_64-linux binary-compatible-builds"This reverts commit 5625941dee84f27f1d47851908790fcd7d474b3a.* Use AlmaLinux 8prtest:full
Add release binaries for x86_64-musl (#8668)* Add release binaries for x86_64-muslThis was requested in bytecodealliance/wasmtime-py#237 and shouldn'tcost us too much in terms of CI resources an
Add release binaries for x86_64-musl (#8668)* Add release binaries for x86_64-muslThis was requested in bytecodealliance/wasmtime-py#237 and shouldn'tcost us too much in terms of CI resources and maintenance overhead.* Fix combining rustflagsprtest:full
Refactor installation of C API and features supported (#8642)* Refactor installation of C API and features supportedThis commit overhauls and refactors the management of the building ofthe C AP
Refactor installation of C API and features supported (#8642)* Refactor installation of C API and features supportedThis commit overhauls and refactors the management of the building ofthe C API. Instead of this being script-based it's now done entirelythrough CMake and CMake is the primary focus for building the C API. Forexample building the C API release artifacts is now done through CMakeinstead of through a shell script's `cargo build` and manually movingartifacts.The benefits that this brings are:* The C API now properly hides symbols in its header files that weren't enabled at build time. This is done through a new build-time generated `conf.h` templated on a `conf.h.in` file in the source tree.* The C API's project now supports enabling/disabling Cargo features to have finer-grained support over what's included (plus auto-management of the header file).* Building the C API and managing it is now exclusively done through CMake. For example invoking `doxygen` now lives in CMake, installation lives there, etc.The `CMakeLists.txt` file for the C API is overhauled in the process ofdoing this. The build now primarily matches on the Rust target beingbuilt rather than the host target. Additionally installation will nowinstall both the static and shared libraries instead of just one.Additionally during this refactoring various bits and pieces ofAndroid-specific code were all removed. Management of the C toolchainfeels best left in scope of the caller (e.g. configuring `CC_*` env varsand such) rather than here.prtest:full* Don't use `option` for optional strings* Invert release build checkAlso adjust some indentation* Fix more indentation* Remove no-longer-used variable* Reduce duplication in feature macro
add riscv64 backend for cranelift. (#4271)Add a RISC-V 64 (`riscv64`, RV64GC) backend. Co-authored-by: yuyang <[email protected]> Co-authored-by: Chris Fallin <[email protected]> Co-authored-by
add riscv64 backend for cranelift. (#4271)Add a RISC-V 64 (`riscv64`, RV64GC) backend. Co-authored-by: yuyang <[email protected]> Co-authored-by: Chris Fallin <[email protected]> Co-authored-by: Afonso Bordado <[email protected]>
Refactor binary-compatible-builds for releases (#4171)* Refactor binary-compatible-builds for releases I was poking around this yesterday and noticed a few things that could be improved for our
Refactor binary-compatible-builds for releases (#4171)* Refactor binary-compatible-builds for releases I was poking around this yesterday and noticed a few things that could be improved for our release builds: * The centos container for the x86_64 builds contained a bunch of extra tooling we no longer need such as python3 and a C++ compiler. Along with custom toolchain things this could all get removed since the C we include now is quite simple. * The aarch64 and s390x cross-compiled builds had relatively high glibc version requirements compared to the x86_64 build. This was because we don't use a container to build the cross-compiled binaries. I added containers here along the lines of the x86_64 build to use an older glibc to build the release binary to lower our version requirement. This lower the aarch64 version requirement from glibc 2.28 to 2.17. Additionally the s390x requirement dropped from 2.28 to 2.16. * To make the containers a bit easier to read/write I added `Dockerfile`s for them in a new `ci/docker` directory instead of hardcoding install commands in JS. This isn't intended to be a really big change or anything for anyone, but it's intended to keep our Linux-based builds consistent at least as best we can. * Remove temporary change