55 tags :
66 - ' v*'
77 - ' v*-dev.*'
8+ release :
9+ types :
10+ - published
811 workflow_dispatch :
912 inputs :
1013 tag :
11- description : " Version (i.e. v1.0 .0)"
14+ description : " Version (i.e. v0.1 .0)"
1215 required : true
1316
1417jobs :
15- build :
16- name : Build and Release
17- runs-on : ${{ matrix.os }}
18+ build-and-release :
19+ name : Build and Release Dash Evo Tool
20+ runs-on : ["self-hosted", "ubuntu-platform"]
1821 strategy :
1922 matrix :
20- os : [ubuntu-latest, macos-latest ]
23+ os : [self-hosted ]
2124 arch : [amd64, arm64]
2225 include :
23- - os : ubuntu-latest
26+ - platform : linux/amd64
27+ runner : ["self-hosted", "linux", "amd64", "ubuntu-platform"]
2428 target : x86_64-unknown-linux-gnu
25- arch : amd64
26- - os : ubuntu-latest
29+ - platform : linux/arm64
30+ runner : ["self-hosted", "linux", "arm64", " ubuntu-platform"]
2731 target : aarch64-unknown-linux-gnu
28- arch : arm64
29- - os : macos-latest
32+ - platform : macos/amd64
33+ runner : ["self-hosted", "macOS", "amd64", " macos-platform"]
3034 target : x86_64-apple-darwin
31- arch : amd64
32- - os : macos-latest
35+ - platform : macos/arm64
36+ runner : ["self-hosted", "macOS", "arm64", " macos-platform"]
3337 target : aarch64-apple-darwin
34- arch : arm64
3538 steps :
3639 - name : Check out code
3740 uses : actions/checkout@v4
@@ -43,31 +46,29 @@ jobs:
4346 target : ${{ matrix.target }}
4447 override : true
4548
46- - name : Install dependencies for cross-compilation (Linux only)
47- if : runner.os == 'Linux'
48- run : sudo apt-get update && sudo apt-get install -y gcc-aarch64-linux-gnu
49-
5049 - name : Build project
5150 run : cargo build --release --target ${{ matrix.target }}
5251
5352 - name : Upload build artifact
5453 uses : actions/upload-artifact@v3
5554 with :
56- name : dash-evo-tool-${{ matrix.os }}-${{ matrix.arch }}
55+ name : dash-evo-tool-${{ matrix.platform }}
5756 path : target/${{ matrix.target }}/release/dash-evo-tool
5857
58+ continue-on-error : true
59+
5960 release :
60- name : Create Release
61- needs : build
61+ name : Create GitHub Release
62+ needs : build-and-release
6263 runs-on : ubuntu-latest
6364 steps :
64- - name : Download artifacts
65+ - name : Download build artifacts
6566 uses : actions/download-artifact@v3
6667 with :
6768 name : dash-evo-tool-*
6869 path : ./release
6970
70- - name : Set up release
71+ - name : Publish release
7172 uses : softprops/action-gh-release@v1
7273 env :
7374 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments