1414 runs-on : ubuntu-latest
1515 steps :
1616 - name : Check out code
17- uses : actions/checkout@v3
17+ uses : actions/checkout@v4
1818 - name : Set up docker buildx
1919 uses : docker/setup-buildx-action@v2
2020 - name : Build docker image
@@ -29,25 +29,46 @@ jobs:
2929 - name : Compile and package Volta
3030 run : docker run --volume ${PWD}:/root/workspace --workdir /root/workspace --rm --init --tty volta /root/workspace/ci/build-linux.sh volta-linux
3131 - name : Upload release artifact
32- uses : actions/upload-artifact@v3
32+ uses : actions/upload-artifact@v4
3333 with :
3434 name : linux
3535 path : target/release/volta-linux.tar.gz
3636
37+ linux-arm :
38+ name : Build - Linux ARM
39+ runs-on : ubuntu-latest
40+ steps :
41+ - name : Check out code
42+ uses : actions/checkout@v4
43+ - name : Install cross-rs
44+ uses : taiki-e/install-action@v2
45+ with :
46+ tool : cross
47+ - name : Compile Volta
48+ run : cross build --release --target aarch64-unknown-linux-gnu
49+ - name : Package Volta
50+ run : |
51+ cd target/aarch64-unknown-linux-gnu/release && tar -zcvf "volta-linux-arm.tar.gz" volta volta-shim volta-migrate
52+ - name : Upload release artifact
53+ uses : actions/upload-artifact@v4
54+ with :
55+ name : linux-arm
56+ path : target/aarch64-unknown-linux-gnu/release/volta-linux-arm.tar.gz
57+
3758 macos :
3859 name : Build - MacOS
3960 runs-on : macos-latest
4061 steps :
4162 - name : Check out code
42- uses : actions/checkout@v3
63+ uses : actions/checkout@v4
4364 - name : Set up cargo
4465 uses : actions-rust-lang/setup-rust-toolchain@v1
4566 with :
4667 target : aarch64-apple-darwin,x86_64-apple-darwin
4768 - name : Compile and package Volta
4869 run : ./ci/build-macos.sh volta-macos
4970 - name : Upload release artifact
50- uses : actions/upload-artifact@v3
71+ uses : actions/upload-artifact@v4
5172 with :
5273 name : macos
5374 path : target/universal-apple-darwin/release/volta-macos.tar.gz
5778 runs-on : windows-latest
5879 steps :
5980 - name : Check out code
60- uses : actions/checkout@v3
81+ uses : actions/checkout@v4
6182 - name : Set up cargo
6283 uses : actions-rust-lang/setup-rust-toolchain@v1
6384 - name : Add cargo-wix subcommand
@@ -69,12 +90,12 @@ jobs:
6990 run : powershell Compress-Archive volta*.exe volta-windows.zip
7091 working-directory : ./target/release
7192 - name : Upload installer
72- uses : actions/upload-artifact@v3
93+ uses : actions/upload-artifact@v4
7394 with :
7495 name : windows-installer
7596 path : target/wix/volta-windows.msi
7697 - name : Upload zip
77- uses : actions/upload-artifact@v3
98+ uses : actions/upload-artifact@v4
7899 with :
79100 name : windows-zip
80101 path : target/release/volta-windows.zip
89110 if : github.event_name == 'push'
90111 steps :
91112 - name : Check out code
92- uses : actions/checkout@v3
113+ uses : actions/checkout@v4
93114 - name : Determine release version
94115 id : release_info
95116 env :
@@ -100,6 +121,11 @@ jobs:
100121 with :
101122 name : linux
102123 path : release
124+ - name : Fetch Linux ARM artifact
125+ uses : actions/download-artifact@v2
126+ with :
127+ name : linux-arm
128+ path : release
103129 - name : Fetch MacOS artifact
104130 uses : actions/download-artifact@v2
105131 with :
@@ -135,6 +161,15 @@ jobs:
135161 asset_path : ./release/volta-linux.tar.gz
136162 asset_name : volta-${{ steps.release_info.outputs.version }}-linux.tar.gz
137163 asset_content_type : application/gzip
164+ - name : Upload Linux ARM artifact
165+ uses : actions/upload-release-asset@v1
166+ env :
167+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
168+ with :
169+ upload_url : ${{ steps.create_release.outputs.upload_url }}
170+ asset_path : ./release/volta-linux-arm.tar.gz
171+ asset_name : volta-${{ steps.release_info.outputs.version }}-linux-arm.tar.gz
172+ asset_content_type : application/gzip
138173 - name : Upload MacOS artifact
139174 uses : actions/upload-release-asset@v1
140175 env :
0 commit comments