Skip to content

Commit f5b548d

Browse files
committed
fix: refactor CI workflows for Windows and update RISC-V config
- Split cargo-hack checks and clippy runs into separate steps for TLS options - Simplify artifact naming in cross-compile workflow - Update RISC-V target to use rustls-tls and remove OpenSSL steps
1 parent 901972f commit f5b548d

4 files changed

Lines changed: 29 additions & 28 deletions

File tree

.github/workflows/build.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,18 @@ jobs:
7474
- name: Install cargo-hack
7575
uses: taiki-e/install-action@cargo-hack
7676

77-
- name: Check workspace (each feature combination)
78-
run: |
79-
# Test packages that don't require TLS
80-
cargo hack check -p librespot-protocol --each-feature
81-
# Test workspace root with each TLS option
82-
cargo hack check -p librespot --each-feature --exclude-all-features \
83-
--include-features native-tls --exclude-features rustls-tls
84-
cargo hack check -p librespot --each-feature --exclude-all-features \
85-
--include-features rustls-tls --exclude-features native-tls
77+
- name: Check packages without TLS requirements
78+
run: cargo hack check -p librespot-protocol --each-feature
79+
80+
- name: Check workspace with native-tls
81+
run: >
82+
cargo hack check -p librespot --each-feature --exclude-all-features
83+
--include-features native-tls --exclude-features rustls-tls
84+
85+
- name: Check workspace with rustls-tls
86+
run: >
87+
cargo hack check -p librespot --each-feature --exclude-all-features
88+
--include-features rustls-tls --exclude-features native-tls
8689
8790
- name: Build binary with default features
8891
run: cargo build --frozen

.github/workflows/cross-compile.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,6 @@ jobs:
7373
- name: Upload debug artifacts
7474
uses: actions/upload-artifact@v4
7575
with:
76-
name: >
77-
librespot-${{ matrix.platform.runs-on }}-
78-
${{ matrix.platform.arch }}-${{ matrix.toolchain }}
76+
name: librespot-${{ matrix.platform.runs-on }}-${{ matrix.platform.arch }}-${{ matrix.toolchain }} # yamllint disable-line rule:line-length
7977
path: target/${{ matrix.platform.target }}/debug/librespot
8078
if-no-files-found: error

.github/workflows/quality.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,15 @@ jobs:
6565
- name: Install cargo-hack
6666
uses: taiki-e/install-action@cargo-hack
6767

68-
- name: Run clippy (each feature combination)
69-
run: |
70-
# Test packages that don't require TLS
71-
cargo hack clippy -p librespot-protocol --each-feature
72-
# Test workspace root with each TLS option
73-
cargo hack clippy -p librespot --each-feature --exclude-all-features \
74-
--include-features native-tls --exclude-features rustls-tls
75-
cargo hack clippy -p librespot --each-feature --exclude-all-features \
76-
--include-features rustls-tls --exclude-features native-tls
68+
- name: Run clippy on packages without TLS requirements
69+
run: cargo hack clippy -p librespot-protocol --each-feature
70+
71+
- name: Run clippy with native-tls
72+
run: >
73+
cargo hack clippy -p librespot --each-feature --exclude-all-features
74+
--include-features native-tls --exclude-features rustls-tls
75+
76+
- name: Run clippy with rustls-tls
77+
run: >
78+
cargo hack clippy -p librespot --each-feature --exclude-all-features
79+
--include-features rustls-tls --exclude-features native-tls

Cross.toml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ pre-build = [
66
]
77

88
[target.riscv64gc-unknown-linux-gnu]
9-
# RISC-V: Try system packages first, fall back to vendored OpenSSL via feature flag
10-
# Building with --no-default-features to avoid Rodio (which needs ALSA)
11-
pre-build = [
12-
"dpkg --add-architecture $CROSS_DEB_ARCH",
13-
"apt-get update",
14-
"apt-get --assume-yes install libssl-dev:$CROSS_DEB_ARCH || true",
15-
]
9+
# RISC-V: Uses rustls-tls (no system dependencies needed)
10+
# Building with --no-default-features --features rustls-tls
11+
# No pre-build steps required - rustls is pure Rust
12+
pre-build = []

0 commit comments

Comments
 (0)