diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index cf3d9c9..f764b7f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -64,15 +64,16 @@ jobs: run: cargo build --release - name: Acquire Package Version - shell: bash + id: get_version + shell: bash # required to prevent Windows runners from failing run: | - PACKAGE_VERSION=$(cargo metadata --format-version 1 --no-deps | jq '.packages[0].version' -r) - echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> $GITHUB_ENV + set -euo pipefail # exit on error + echo "version=$(cargo metadata --format-version 1 --no-deps | jq '.packages[0].version' -r)" >> $GITHUB_OUTPUT - name: Upload Artifact uses: actions/upload-artifact@v4 with: - name: "pacman-${{ env.PACKAGE_VERSION }}-${{ matrix.target }}" + name: "pacman-${{ steps.get_version.outputs.version }}-${{ matrix.target }}" path: ./target/release/${{ matrix.artifact_name }} retention-days: 7 if-no-files-found: error @@ -98,7 +99,7 @@ jobs: uses: dtolnay/rust-toolchain@master with: target: wasm32-unknown-emscripten - toolchain: 1.86.0 # we are unfortunately pinned to 1.86.0 for some reason, bulk-memory-opt related issues + toolchain: 1.86.0 - name: Rust Cache uses: Swatinem/rust-cache@v2 diff --git a/README.md b/README.md index e6737af..8a727aa 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,8 @@ I wanted to hit a log of goals and features, making it a 'perfect' project that Since this project is still in progress, I'm only going to cover non-obvious build details. By reading the code, build scripts, and copying the online build workflows, you should be able to replicate the build process. +- We use rustc 1.86.0 for the build, due to bulk-memory-opt related issues on wasm32-unknown-emscripten. + - Technically, we could probably use stable or even nightly on desktop targets, but using different versions for different targets is a pain, mainly because of clippy warnings changing between versions. - Install `cargo-vcpkg` with `cargo install cargo-vcpkg`, then run `cargo vcpkg build` to build the requisite dependencies via vcpkg. - For the WASM build, you need to have the Emscripten SDK cloned; you can do so with `git clone https://github.com/emscripten-core/emsdk.git` - The first time you clone, you'll need to install the appropriate SDK version with `./emsdk install 3.1.43` and then activate it with `./emsdk activate 3.1.43`. On Windows, use `./emsdk/emsdk.ps1` instead. diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 17d5023..79d0262 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,4 @@ [toolchain] +# we are unfortunately pinned to 1.86.0 for some reason, bulk-memory-opt related issues on wasm32-unknown-emscripten channel = "1.86.0" components = ["rustfmt", "llvm-tools-preview", "clippy"]