diff --git a/.github/workflows/code-coverage-main.yml b/.github/workflows/code-coverage-main.yml index 8060378fb17..a107d9fa70a 100644 --- a/.github/workflows/code-coverage-main.yml +++ b/.github/workflows/code-coverage-main.yml @@ -27,6 +27,12 @@ jobs: - name: Install rust ${{ env.rust_release }} run: rustup update ${{ env.rust_release }} && rustup default ${{ env.rust_release }} + - name: Disable rust-lld (to fix linkme) + run: | + echo RUSTFLAGS=${RUSTFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + echo RUSTDOCFLAGS=${RUSTDOCFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + if: matrix.rust_release == 'nightly' + - uses: ./.github/actions/install-conjure with: os_arch: linux diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml index d983307f0b7..296a5c4f95b 100644 --- a/.github/workflows/code-coverage.yml +++ b/.github/workflows/code-coverage.yml @@ -40,6 +40,12 @@ jobs: - name: Install rust ${{ env.rust_release }} run: rustup update ${{ env.rust_release }} && rustup default ${{ env.rust_release }} + + - name: Disable rust-lld (to fix linkme) + run: | + echo RUSTFLAGS=${RUSTFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + echo RUSTDOCFLAGS=${RUSTDOCFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + if: matrix.rust_release == 'nightly' - uses: ./.github/actions/install-conjure with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d59d1638354..fe35bddc322 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,7 +24,7 @@ on: env: SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache" - SCCACHE_GHA_VERSION: 2 + SCCACHE_GHA_VERSION: 4 jobs: build-and-test: @@ -54,6 +54,12 @@ jobs: - name: Run sccache-cache uses: mozilla-actions/sccache-action@v0.0.3 + - name: Disable rust-lld (to fix linkme) + run: | + echo RUSTFLAGS=${RUSTFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + echo RUSTDOCFLAGS=${RUSTDOCFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + if: matrix.rust_release == 'nightly' + - run: rustup update ${{ matrix.rust_release }} && rustup default ${{ matrix.rust_release }} - run: cargo build -vv --workspace diff --git a/readme.md b/readme.md index dc829b0e758..78e3b32b99d 100644 --- a/readme.md +++ b/readme.md @@ -13,6 +13,21 @@ This repository hosts the following projects: This project is being produced by staff and students of University of St Andrews, and is licenced under the [MPL 2.0](./LICENCE). +## Rust Nightly Support + +The following compiler flags are required for Conjure-Oxide to work with +Nightly Rust: + +```sh +export RUSTFLAGS="-Zlinker-features=-lld" +export RUSTDOCFLAGS="-Zlinker-features=-lld" +cargo build <...> +``` + +This is because of current incompatibilities with linkme and the new default +linker ([link](https://github.com/dtolnay/linkme/issues/94)). + + ## Documentation API documentation can be found [here](https://conjure-cp.github.io/conjure-oxide/docs/).