release.yml (2399B)
1 name: Release Builds 2 3 on: 4 push: 5 tags: 6 - 'v*' # on every version tag 7 8 jobs: 9 # first just a small job to draft the release so all others can use the upload_url 10 create_release: 11 runs-on: ubuntu-latest 12 steps: 13 - name: create release 14 id: create_release 15 uses: ncipollo/release-action@v1 16 17 build_ubuntu: 18 runs-on: ubuntu-20.04 19 needs: create_release 20 steps: 21 - uses: actions/checkout@v4 22 - name: build 23 run: bash .github/workflows/release.sh 24 - name: upload release assets linux 25 uses: AButler/upload-release-assets@v3.0 26 with: 27 files: 'agate.*.gz' 28 repo-token: ${{ secrets.GITHUB_TOKEN }} 29 release-tag: ${{ github.ref_name }} 30 31 build_windows: 32 runs-on: windows-latest 33 needs: create_release 34 steps: 35 - uses: actions/checkout@v4 36 - name: Build 37 run: cargo build --verbose --release 38 - name: strip names 39 run: strip target/release/agate.exe 40 - name: compress 41 run: Compress-Archive -LiteralPath target/release/agate.exe -DestinationPath agate.x86_64-pc-windows-msvc.zip 42 - name: upload release asset win 43 uses: AButler/upload-release-assets@v3.0 44 with: 45 files: agate.x86_64-pc-windows-msvc.zip 46 repo-token: ${{ secrets.GITHUB_TOKEN }} 47 release-tag: ${{ github.ref_name }} 48 49 build_macos_x86_64: 50 runs-on: macos-latest 51 needs: create_release 52 steps: 53 - uses: actions/checkout@v4 54 - name: install toolchain 55 run: rustup target add aarch64-apple-darwin 56 - name: Build x86_64 57 run: cargo build --verbose --release 58 - name: strip names x86 59 run: strip target/release/agate 60 - name: compress x86 61 run: gzip -c target/release/agate > ./agate.x86_64-apple-darwin.gz 62 - name: Build ARM 63 run: SDKROOT=$(xcrun -sdk macosx --show-sdk-path) MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx --show-sdk-platform-version) cargo build --verbose --release --target=aarch64-apple-darwin 64 - name: strip names ARM 65 run: strip target/aarch64-apple-darwin/release/agate 66 - name: compress ARM 67 run: gzip -c target/aarch64-apple-darwin/release/agate > ./agate.aarch64-apple-darwin.gz 68 - name: upload release assets darwin 69 uses: AButler/upload-release-assets@v3.0 70 with: 71 files: 'agate.*.gz' 72 repo-token: ${{ secrets.GITHUB_TOKEN }} 73 release-tag: ${{ github.ref_name }}