Skip to content

Commit

Permalink
Test Windows gnullvm targets on CI
Browse files Browse the repository at this point in the history
  • Loading branch information
purplesyringa committed Jan 23, 2025
1 parent cfea5a8 commit c46f332
Showing 1 changed file with 27 additions and 23 deletions.
50 changes: 27 additions & 23 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -192,46 +192,50 @@ jobs:
fail-fast: false
matrix:
arch: [x86_64, i686]
abi: [msvc, gnu]
abi: [msvc, gnu, gnullvm]
env:
host: ${{ matrix.arch }}-pc-windows-${{ matrix.abi == 'gnullvm' && 'gnu' || matrix.abi }}
target: ${{ matrix.arch }}-pc-windows-${{ matrix.abi }}
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set default-host
run: rustup set default-host ${{ env.target }}
run: rustup set default-host $host
- name: Install Rust
run: rustup update nightly && rustup default nightly
- name: Install and configure LLVM-MinGW
if: matrix.abi == 'gnullvm'
run: >
rustup target add $target &&
curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/20250114/llvm-mingw-20250114-ucrt-x86_64.zip -o llvm-mingw.zip &&
7z x llvm-mingw.zip &&
echo "[target.x86_64-pc-windows-gnullvm]" >~/.cargo/config.toml &&
echo "linker = '$(pwd -W)/llvm-mingw-20250114-ucrt-x86_64/bin/clang'" >>~/.cargo/config.toml
- name: Test with panic backend (debug)
shell: bash
run: LITHIUM_BACKEND=panic ci/cargo-save "Test with panic backend (debug)" test
run: LITHIUM_BACKEND=panic ci/cargo-save "Test with panic backend (debug)" test --target $target
- name: Test with SEH backend (debug)
if: matrix.abi == 'msvc'
shell: bash
run: LITHIUM_BACKEND=seh ci/cargo-save "Test with SEH backend (debug)" test
run: LITHIUM_BACKEND=seh ci/cargo-save "Test with SEH backend (debug)" test --target $target
- name: Test with Itanium backend (debug)
if: matrix.abi == 'gnu'
shell: bash
run: LITHIUM_BACKEND=itanium ci/cargo-save "Test with Itanium backend (debug)" test
if: matrix.abi == 'gnu' || matrix.abi == 'gnullvm'
run: LITHIUM_BACKEND=itanium ci/cargo-save "Test with Itanium backend (debug)" test --target $target
- name: Test with std thread locals (debug)
if: matrix.abi == 'msvc'
run: LITHIUM_THREAD_LOCAL=std ci/cargo-save "Test with std thread locals (debug)" test
shell: bash
if: matrix.abi == 'msvc' || matrix.abi == 'gnullvm'
run: LITHIUM_THREAD_LOCAL=std ci/cargo-save "Test with std thread locals (debug)" test --target $target
- name: Test with panic backend (release)
shell: bash
run: LITHIUM_BACKEND=panic ci/cargo-save "Test with panic backend (release)" test --release
run: LITHIUM_BACKEND=panic ci/cargo-save "Test with panic backend (release)" test --target $target --release
- name: Test with SEH backend (release)
if: matrix.abi == 'msvc'
shell: bash
run: LITHIUM_BACKEND=seh ci/cargo-save "Test with SEH backend (release)" test --release
run: LITHIUM_BACKEND=seh ci/cargo-save "Test with SEH backend (release)" test --target $target --release
- name: Test with Itanium backend (release)
if: matrix.abi == 'gnu'
shell: bash
run: LITHIUM_BACKEND=itanium ci/cargo-save "Test with Itanium backend (release)" test --release
if: matrix.abi == 'gnu' || matrix.abi == 'gnullvm'
run: LITHIUM_BACKEND=itanium ci/cargo-save "Test with Itanium backend (release)" test --target $target --release
- name: Test with std thread locals (release)
if: matrix.abi == 'msvc'
run: LITHIUM_THREAD_LOCAL=std ci/cargo-save "Test with std thread locals (release)" test --release
shell: bash
if: matrix.abi == 'msvc' || matrix.abi == 'gnullvm'
run: LITHIUM_THREAD_LOCAL=std ci/cargo-save "Test with std thread locals (release)" test --target $target --release
- name: Upload built tests for Wine
uses: actions/upload-artifact@v4
with:
Expand All @@ -257,7 +261,7 @@ jobs:
# - os: ubuntu-24.04-arm
# ubuntu_arch: arm64
# rust_arch: aarch64
abi: [msvc, gnu]
abi: [msvc, gnu, gnullvm]
env:
WINEDEBUG: fixme+all,err+all # :ferrisClueless:
target: ${{ matrix.machine.rust_arch }}-pc-windows-${{ matrix.abi }}
Expand Down

0 comments on commit c46f332

Please sign in to comment.