@@ -59,42 +59,60 @@ jobs:
59
59
path : cargo-c-windows-${{ matrix.conf }}.zip
60
60
61
61
linux-binaries :
62
+ strategy :
63
+ matrix :
64
+ target :
65
+ - x86_64-unknown-linux-musl
66
+ - powerpc64le-unknown-linux-gnu
67
+ - aarch64-unknown-linux-gnu
68
+ include :
69
+ - target : x86_64-unknown-linux-musl
70
+ sdk : musl-tools
71
+ cc : musl-gcc
72
+ - target : powerpc64le-unknown-linux-gnu
73
+ sdk : crossbuild-essential-ppc64el
74
+ cc : powerpc64le-linux-gnu-gcc
75
+ - target : aarch64-unknown-linux-gnu
76
+ sdk : crossbuild-essential-arm64
77
+ cc : aarch64-linux-gnu-gcc
62
78
63
79
runs-on : ubuntu-latest
64
80
65
81
steps :
66
82
- uses : actions/checkout@v2
67
83
68
- - name : Install musl-tools
84
+ - name : Install $${{ matrix.sdk }}
69
85
run : |
70
- sudo apt-get install musl-tools
86
+ sudo apt-get install ${{ matrix.sdk }}
71
87
72
- - name : Install Rust stable and musl target
88
+ - name : Install Rust toolchain
73
89
uses : dtolnay/rust-toolchain@stable
74
90
with :
75
91
profile : minimal
76
92
toolchain : stable
77
- target : x86_64-unknown-linux-musl
93
+ target : ${{ matrix.target }}
78
94
override : true
79
95
80
96
- name : Build cargo-c
81
97
run : |
82
- cargo build --target x86_64-unknown-linux-musl --release --features vendored-openssl
98
+ mkdir .cargo
99
+ echo -e "[target.${{ matrix.target }}]\nlinker=\"${{ matrix.cc }}\"" > .cargo/config
100
+ cargo build --target ${{ matrix.target }} --release --features vendored-openssl
83
101
84
102
- name : Create zip
85
103
run : |
86
- cd target/x86_64-unknown-linux-musl /release
104
+ cd target/${{ matrix.target }} /release
87
105
strip cargo-capi cargo-cbuild cargo-cinstall
88
- tar -czvf $GITHUB_WORKSPACE/cargo-c-linux .tar.gz \
106
+ tar -czvf $GITHUB_WORKSPACE/cargo-c-${{ matrix.target }} .tar.gz \
89
107
cargo-capi \
90
108
cargo-cbuild \
91
109
cargo-cinstall
92
110
93
111
- name : Upload binaries
94
112
uses : actions/upload-artifact@v2
95
113
with :
96
- name : cargo-c-linux -binaries
97
- path : cargo-c-linux .tar.gz
114
+ name : cargo-c-${{ matrix.target }} -binaries
115
+ path : cargo-c-${{ matrix.target }} .tar.gz
98
116
99
117
macos-binaries :
100
118
0 commit comments