Skip to content

Commit 811bb08

Browse files
committed
Restructured builds and artifacts
1 parent 5100106 commit 811bb08

File tree

1 file changed

+28
-32
lines changed

1 file changed

+28
-32
lines changed

.github/workflows/ci.yaml

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,26 @@ jobs:
99
uses: actions/checkout@v4
1010
- name: Update Rust
1111
run: rustup toolchain install stable --profile minimal --no-self-update
12+
- name: Install MUSL Toolchain
13+
run: rustup target add x86_64-unknown-linux-musl
14+
- name: Install MUSL dependencies
15+
run: sudo apt-get install musl-tools
1216
- name: Enable Rust Caching
1317
uses: Swatinem/rust-cache@v2
1418
- name: Release Build
15-
run: cargo build --release --all
19+
run: cargo build --release --all --target x86_64-unknown-linux-musl
1620
- name: Execute Tests
17-
run: cargo test --release --all
21+
run: cargo test --release --all --target x86_64-unknown-linux-musl
1822
- name: Run Clippy
19-
run: cargo clippy --release --all --all-targets --all-features --locked -- -D warnings
23+
run: cargo clippy --release --all --target x86_64-unknown-linux-musl --all-targets --all-features --locked -- -D warnings
2024
- name: Check Formatting
2125
run: cargo fmt --all -- --check
2226
- uses: actions/upload-artifact@v4
2327
with:
24-
name: x86_64-linux-gnu
25-
path: target/release/dmarc-report-viewer
28+
name: linux-x86_64
29+
path: target/x86_64-unknown-linux-musl/release/dmarc-report-viewer
2630
linux_aarch64:
27-
name: Linux (AArch64)
31+
name: Linux (aarch64)
2832
runs-on: ubuntu-24.04
2933
steps:
3034
- name: Checkout
@@ -43,7 +47,7 @@ jobs:
4347
run: cross test --release --all --target aarch64-unknown-linux-musl
4448
- uses: actions/upload-artifact@v4
4549
with:
46-
name: aarch64-linux-musl
50+
name: linux-aarch64
4751
path: target/aarch64-unknown-linux-musl/release/dmarc-report-viewer
4852
windows_x86_64:
4953
name: Windows (x86-64)
@@ -63,7 +67,7 @@ jobs:
6367
run: cargo test --release --all
6468
- uses: actions/upload-artifact@v4
6569
with:
66-
name: x86_64-windows
70+
name: windows-x86_64
6771
path: target/release/dmarc-report-viewer.exe
6872
mac_x86_64:
6973
name: Mac (x86-64)
@@ -83,7 +87,7 @@ jobs:
8387
run: cargo test --release --all --target x86_64-apple-darwin
8488
- uses: actions/upload-artifact@v4
8589
with:
86-
name: x86_64-mac
90+
name: mac-x86_64
8791
path: target/x86_64-apple-darwin/release/dmarc-report-viewer
8892
mac_aarch64:
8993
name: Mac (aarch64)
@@ -101,10 +105,10 @@ jobs:
101105
run: cargo test --release --all --target aarch64-apple-darwin
102106
- uses: actions/upload-artifact@v4
103107
with:
104-
name: aarch64-mac
108+
name: mac-aarch64
105109
path: target/aarch64-apple-darwin/release/dmarc-report-viewer
106110
docker_linux_x86_64:
107-
name: Linux Docker (x86-64)
111+
name: Docker (Linux, x86-64)
108112
runs-on: ubuntu-24.04
109113
permissions:
110114
contents: read
@@ -134,14 +138,8 @@ jobs:
134138
run: docker save -o dmarc-report-viewer.tar dmarc-report-viewer
135139
- uses: actions/upload-artifact@v4
136140
with:
137-
name: x86_64-linux-docker
141+
name: docker-linux-x86_64
138142
path: dmarc-report-viewer.tar
139-
- name: Extract MUSL Binary
140-
run: container_id=$(docker create dmarc-report-viewer) && docker cp "$container_id:/dmarc-report-viewer" ./dmarc-report-viewer && docker rm "$container_id"
141-
- uses: actions/upload-artifact@v4
142-
with:
143-
name: x86_64-linux-musl
144-
path: dmarc-report-viewer
145143
release:
146144
name: Release
147145
if: startsWith(github.ref, 'refs/tags/')
@@ -156,24 +154,22 @@ jobs:
156154
uses: actions/download-artifact@v4
157155
- name: Pack Artifacts for Release
158156
run: |
159-
zip -r x86_64-windows.zip x86_64-windows
160-
zip -r x86_64-linux-gnu.zip x86_64-linux-gnu
161-
zip -r x86_64-linux-musl.zip x86_64-linux-musl
162-
zip -r aarch64-linux-musl.zip aarch64-linux-musl
163-
zip -r x86_64-mac.zip x86_64-mac
164-
zip -r aarch64-mac.zip aarch64-mac
165-
mv x86_64-linux-docker/dmarc-report-viewer.tar x86_64-linux-docker.tar
157+
zip -r windows-x86_64.zip windows-x86_64
158+
zip -r linux-x86_64.zip linux-x86_64
159+
zip -r linux-aarch64.zip linux-aarch64
160+
zip -r mac-x86_64.zip mac-x86_64
161+
zip -r mac-aarch64.zip mac-aarch64
162+
mv docker-linux-x86_64/dmarc-report-viewer.tar docker-linux-x86_64.tar
166163
- name: Publish Release
167164
uses: softprops/action-gh-release@v2
168165
with:
169166
body: Release created automatically from git tag ${{github.ref_name}}, see CHANGELOG.md for more details.
170167
files: |
171168
CHANGELOG.md
172169
LICENSE
173-
x86_64-windows.zip
174-
x86_64-linux-gnu.zip
175-
x86_64-linux-musl.zip
176-
aarch64-linux-musl.zip
177-
x86_64-mac.zip
178-
aarch64-mac.zip
179-
x86_64-linux-docker.tar
170+
windows-x86_64.zip
171+
linux-x86_64.zip
172+
linux-aarch64.zip
173+
mac-x86_64.zip
174+
mac-aarch64.zip
175+
docker-linux-x86_64.tar

0 commit comments

Comments
 (0)