Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add gnullvm cross check to the CI #105

Merged
merged 1 commit into from
Nov 13, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 56 additions & 20 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ on:
branches:
- master
paths-ignore:
- '*.mkd'
- 'LICENSE'
- "*.mkd"
- "LICENSE"
pull_request:
types: [opened, reopened, synchronize]
workflow_dispatch:
Expand All @@ -20,8 +20,8 @@ jobs:
matrix:
rust_toolchain: [nightly, stable, 1.63.0]
os: [ubuntu-latest, windows-latest, macOS-latest]
mode: ['--release', '-Zminimal-versions', '']
manifest: ['psm/Cargo.toml', 'Cargo.toml']
mode: ["--release", "-Zminimal-versions", ""]
manifest: ["psm/Cargo.toml", "Cargo.toml"]
exclude:
- rust_toolchain: stable
mode: -Zminimal-versions
Expand Down Expand Up @@ -53,7 +53,7 @@ jobs:
strategy:
fail-fast: false
matrix:
manifest: ['psm/Cargo.toml', 'Cargo.toml']
manifest: ["psm/Cargo.toml", "Cargo.toml"]
rust_target:
- x86_64-pc-windows-msvc
- i686-pc-windows-msvc
Expand Down Expand Up @@ -93,7 +93,7 @@ jobs:
rust_target:
- x86_64-pc-windows-gnu
- i686-pc-windows-gnu
manifest: ['psm/Cargo.toml', 'Cargo.toml']
manifest: ["psm/Cargo.toml", "Cargo.toml"]
include:
- rust_target: x86_64-pc-windows-gnu
mingw_path: C:/msys64/mingw64/bin
Expand Down Expand Up @@ -121,6 +121,42 @@ jobs:
command: test
args: --target ${{ matrix.rust_target }} --manifest-path=${{ matrix.manifest }}

cross-windows-gnullvm-check:
name: Check ${{ matrix.manifest }} to ${{ matrix.rust_target }} with stable
runs-on: ubuntu-latest
env:
LLVM_MINGW_VERSION: "20241030"
strategy:
fail-fast: false
matrix:
rust_target:
- aarch64-pc-windows-gnullvm
- i686-pc-windows-gnullvm
- x86_64-pc-windows-gnullvm
manifest: ["psm/Cargo.toml", "Cargo.toml"]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: llvm-mingw-version
key: ${{ env.LLVM_MINGW_VERSION }}
- name: Install llvm-mingw
if: steps.cache.outputs.cache-hit != 'true'
run: curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${{ env.LLVM_MINGW_VERSION }}/llvm-mingw-${{ env.LLVM_MINGW_VERSION }}-ucrt-ubuntu-20.04-x86_64.tar.xz | tar xJf -
- name: Add llvm-mingw to PATH
run: echo "${{ github.workspace }}/llvm-mingw-${{ env.LLVM_MINGW_VERSION }}-ucrt-ubuntu-20.04-x86_64/bin" >> $GITHUB_PATH
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
target: ${{ matrix.rust_target }}
- name: Check
uses: actions-rs/cargo@v1
with:
command: check
args: --target ${{ matrix.rust_target }} --manifest-path=${{ matrix.manifest }}

cross-linux-test:
name: Test ${{ matrix.manifest }} on ${{ matrix.rust_target }} with nightly ${{ matrix.mode }}
runs-on: ubuntu-latest
Expand All @@ -146,8 +182,8 @@ jobs:
# https://github.com/rust-embedded/cross/pull/440
# - powerpc64-unknown-linux-gnu
- x86_64-unknown-linux-musl
manifest: ['psm/Cargo.toml', 'Cargo.toml']
mode: ['--release', '-Zminimal-versions', '']
manifest: ["psm/Cargo.toml", "Cargo.toml"]
mode: ["--release", "-Zminimal-versions", ""]
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -175,7 +211,7 @@ jobs:
# BSDs: could be tested with full system emulation
- i686-unknown-freebsd
- x86_64-unknown-freebsd
manifest: ['psm/Cargo.toml', 'Cargo.toml']
manifest: ["psm/Cargo.toml", "Cargo.toml"]
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -214,7 +250,7 @@ jobs:
# - sparc64-unknown-linux-gnu
# BSDs: could be tested with full system emulation
- x86_64-unknown-netbsd
manifest: ['psm/Cargo.toml', 'Cargo.toml']
manifest: ["psm/Cargo.toml", "Cargo.toml"]
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -242,7 +278,7 @@ jobs:
rust_target:
- aarch64-apple-ios
- x86_64-apple-ios
manifest: ['psm/Cargo.toml', 'Cargo.toml']
manifest: ["psm/Cargo.toml", "Cargo.toml"]
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
Expand All @@ -268,8 +304,8 @@ jobs:
rust_target:
- x86_64-pc-windows-msvc
- i686-pc-windows-msvc
manifest: ['psm/Cargo.toml', 'Cargo.toml']
xwin_version: ['0.1.6']
manifest: ["psm/Cargo.toml", "Cargo.toml"]
xwin_version: ["0.1.6"]
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -298,17 +334,17 @@ jobs:
xwin --accept-license 1 splat --output /tmp/xwin
- name: Test
env:
CC: 'clang-cl'
CXX: 'clang-cl'
AR: 'llvm-lib'
CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER: 'lld-link'
CARGO_TARGET_I686_PC_WINDOWS_MSVC_LINKER: 'lld-link'
CC: "clang-cl"
CXX: "clang-cl"
AR: "llvm-lib"
CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER: "lld-link"
CARGO_TARGET_I686_PC_WINDOWS_MSVC_LINKER: "lld-link"
# Note that we only disable unused-command-line-argument here since clang-cl
# doesn't implement all of the options supported by cl, but the ones it doesn't
# are _generally_ not interesting.
CFLAGS: '-Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/tmp/xwin/crt/include /imsvc/tmp/xwin/sdk/include/ucrt /imsvc/tmp/xwin/sdk/include/um /imsvc/tmp/xwin/sdk/include/shared'
CFLAGS: "-Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/tmp/xwin/crt/include /imsvc/tmp/xwin/sdk/include/ucrt /imsvc/tmp/xwin/sdk/include/um /imsvc/tmp/xwin/sdk/include/shared"
# Inform the linker where to search for libraries
RUSTFLAGS: '-Lnative=/tmp/xwin/crt/lib/x86_64 -Lnative=/tmp/xwin/sdk/lib/um/x86_64 -Lnative=/tmp/xwin/sdk/lib/ucrt/x86_64'
RUSTFLAGS: "-Lnative=/tmp/xwin/crt/lib/x86_64 -Lnative=/tmp/xwin/sdk/lib/um/x86_64 -Lnative=/tmp/xwin/sdk/lib/ucrt/x86_64"
run: |
set -eux
cargo build --target ${{ matrix.rust_target }} --manifest-path ${{ matrix.manifest }}
Expand Down
Loading