Skip to content

Commit 1dccdf6

Browse files
ci: Lint and test statically linked binaries
Lint and test the `x86_64-unknown-linux-musl` and `x86_64-pc-windows-msvc` statically linked binaries, as these are the ones we release. Also, refactor the lint and test workflow matrices to make it easier to add new targets to test.
1 parent 52e1dd8 commit 1dccdf6

File tree

2 files changed

+42
-12
lines changed

2 files changed

+42
-12
lines changed

.github/workflows/lint.yml

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,21 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [ubuntu-24.04, macos-14, windows-2022]
18+
target:
19+
- x86_64-unknown-linux-musl
20+
- x86_64-pc-windows-msvc
21+
- aarch64-apple-darwin
1922
feature-args: ['', '-Funstable-mobile-app']
2023
include:
21-
- os: ubuntu-24.04
24+
- target: x86_64-unknown-linux-musl
25+
os: ubuntu-24.04
2226
display-os: Linux
23-
- os: macos-14
24-
display-os: macOS
25-
- os: windows-2022
27+
- target: x86_64-pc-windows-msvc
28+
os: windows-2022
2629
display-os: Windows
30+
- target: aarch64-apple-darwin
31+
os: macos-14
32+
display-os: macOS
2733
- feature-args: ''
2834
feature-suffix: ''
2935
- feature-args: '-Funstable-mobile-app'
@@ -38,11 +44,20 @@ jobs:
3844
- name: Install Rust Toolchain
3945
run: rustup toolchain install stable --profile minimal --component clippy --component rustfmt --no-self-update
4046

47+
- name: Add Target
48+
run: rustup target add ${{ matrix.target }}
49+
50+
- name: Install musl-gcc (Linux only)
51+
if: matrix.os == 'ubuntu-24.04'
52+
run: |
53+
sudo apt-get update
54+
sudo apt-get install -y musl-tools
55+
4156
- name: Cache Dependencies
4257
uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0
4358

4459
- name: Run Rustfmt
4560
run: cargo fmt --all -- --check
4661

4762
- name: Run Clippy
48-
run: cargo clippy --workspace --tests ${{ matrix.feature-args }}
63+
run: cargo clippy --workspace --tests --target ${{ matrix.target }} ${{ matrix.feature-args }}

.github/workflows/test.yml

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,21 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [ubuntu-24.04, macos-14, windows-2022]
18+
target:
19+
- x86_64-unknown-linux-musl
20+
- x86_64-pc-windows-msvc
21+
- aarch64-apple-darwin
1922
feature-args: ['', '-Funstable-mobile-app']
2023
include:
21-
- os: ubuntu-24.04
24+
- target: x86_64-unknown-linux-musl
25+
os: ubuntu-24.04
2226
display-os: Linux
23-
- os: macos-14
24-
display-os: macOS
25-
- os: windows-2022
27+
- target: x86_64-pc-windows-msvc
28+
os: windows-2022
2629
display-os: Windows
30+
- target: aarch64-apple-darwin
31+
os: macos-14
32+
display-os: macOS
2733
- feature-args: ''
2834
feature-suffix: ''
2935
- feature-args: '-Funstable-mobile-app'
@@ -36,8 +42,17 @@ jobs:
3642
- name: Checkout Repository
3743
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
3844

45+
- name: Add Target
46+
run: rustup target add ${{ matrix.target }}
47+
48+
- name: Install musl-gcc (Linux only)
49+
if: matrix.os == 'ubuntu-24.04'
50+
run: |
51+
sudo apt-get update
52+
sudo apt-get install -y musl-tools
53+
3954
- name: Cache Dependencies
4055
uses: swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # 2.8.0
4156

4257
- name: Run Cargo Tests
43-
run: cargo test --workspace ${{ matrix.feature-args }}
58+
run: cargo test --workspace --target ${{ matrix.target }} ${{ matrix.feature-args }}

0 commit comments

Comments
 (0)