1212 packages : write
1313 strategy :
1414 matrix :
15- target : [x86_64-unknown-linux-musl, aarch64-unknown-linux-musl]
15+ target :
16+ - x86_64-unknown-linux-musl
17+ - i686-unknown-linux-musl
18+ - aarch64-unknown-linux-musl
19+ - armv7-unknown-linux-musleabihf
1620
1721 steps :
1822 - name : Checkout
@@ -28,14 +32,30 @@ jobs:
2832 - name : Install target and build deps
2933 run : |
3034 sudo apt-get update
31- sudo apt-get install -y musl-tools ca-certificates gcc-aarch64-linux-gnu
35+ sudo apt-get install -y \
36+ musl-tools \
37+ gcc-aarch64-linux-gnu \
38+ gcc-arm-linux-gnueabihf \
39+ gcc-i686-linux-gnu
40+
3241 rustup target add ${{ matrix.target }}
3342
34- if [ "${{ matrix.target }}" = "aarch64-unknown-linux-musl" ]; then
35- mkdir -p ~/.cargo
36- echo '[target.aarch64-unknown-linux-musl]' >> ~/.cargo/config.toml
37- echo 'linker = "aarch64-linux-gnu-gcc"' >> ~/.cargo/config.toml
38- fi
43+ mkdir -p ~/.cargo
44+
45+ case "${{ matrix.target }}" in
46+ i686-unknown-linux-musl)
47+ echo '[target.i686-unknown-linux-musl]' >> ~/.cargo/config.toml
48+ echo 'linker = "i686-linux-gnu-gcc"' >> ~/.cargo/config.toml
49+ ;;
50+ aarch64-unknown-linux-musl)
51+ echo '[target.aarch64-unknown-linux-musl]' >> ~/.cargo/config.toml
52+ echo 'linker = "aarch64-linux-gnu-gcc"' >> ~/.cargo/config.toml
53+ ;;
54+ armv7-unknown-linux-musleabihf)
55+ echo '[target.armv7-unknown-linux-musleabihf]' >> ~/.cargo/config.toml
56+ echo 'linker = "arm-linux-gnueabihf-gcc"' >> ~/.cargo/config.toml
57+ ;;
58+ esac
3959
4060 - name : Cache cargo registry and build
4161 uses : actions/cache@v4
4868
4969 - name : Build (release)
5070 env :
51- RUSTFLAGS : " -C target-feature=+crt-static"
71+ RUSTFLAGS : " -C target-feature=+crt-static -C link-arg=-s "
5272 run : |
5373 cargo build --release --target ${{ matrix.target }}
5474
0 commit comments