From bf4a86ceede87727c96cbd18e9bcf5d9f34714e4 Mon Sep 17 00:00:00 2001 From: Johann150 Date: Sat, 5 Aug 2023 12:08:23 +0200 Subject: [PATCH] update release actions Some of the actions used in the release pipeline throw warnings about being outdated so they have been replaced. Looks like Github themself are no longer maintaining the actions around releases. The two Darwin builds have been collapsed into one action so there is only one machine and one git checkout and one upload action. --- .github/workflows/release.yml | 112 ++++++++-------------------------- 1 file changed, 27 insertions(+), 85 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f89e880..6df1374 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,6 @@ name: Release Builds -on: +on: push: tags: - 'v*' # on every version tag @@ -12,17 +12,10 @@ jobs: steps: - name: create release id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: ncipollo/release-action@v1 with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} # only draft the release so changelog can be edited draft: true - prerelease: false - outputs: - upload_url: ${{ steps.create_release.outputs.upload_url }} build_ubuntu: runs-on: ubuntu-20.04 @@ -31,42 +24,12 @@ jobs: - uses: actions/checkout@v3 - name: build run: bash .github/workflows/release.sh - - name: upload release asset x86_64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: upload release assets linux + uses: AButler/upload-release-assets@v2.0 with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./agate.x86_64-unknown-linux-gnu.gz - asset_name: agate.x86_64-unknown-linux-gnu.gz - asset_content_type: application/gzip - - name: upload release asset arm - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./agate.arm-unknown-linux-gnueabihf.gz - asset_name: agate.arm-unknown-linux-gnueabihf.gz - asset_content_type: application/gzip - - name: upload release asset armv7 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./agate.armv7-unknown-linux-gnueabihf.gz - asset_name: agate.armv7-unknown-linux-gnueabihf.gz - asset_content_type: application/gzip - - name: upload release asset aarch64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./agate.aarch64-unknown-linux-gnu.gz - asset_name: agate.aarch64-unknown-linux-gnu.gz - asset_content_type: application/gzip + files: 'agate.*.gz' + repo-token: ${{ secrets.GITHUB_TOKEN }} + release-tag: ${{ github.ref }} build_windows: runs-on: windows-latest @@ -78,57 +41,36 @@ jobs: - name: strip names run: strip target/release/agate.exe - name: compress - run: Compress-Archive -LiteralPath target/release/agate.exe -DestinationPath agate.zip + run: Compress-Archive -LiteralPath target/release/agate.exe -DestinationPath agate.x86_64-pc-windows-msvc.zip - name: upload release asset win - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: AButler/upload-release-assets@v2.0 with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_name: agate.x86_64-pc-windows-msvc.zip - asset_path: agate.zip - asset_content_type: application/zip + files: agate.x86_64-pc-windows-msvc.zip + repo-token: ${{ secrets.GITHUB_TOKEN }} + release-tag: ${{ github.ref }} build_macos_x86_64: - runs-on: macos-latest - needs: create_release - steps: - - uses: actions/checkout@v3 - - name: Build - run: cargo build --verbose --release - - name: strip names - run: strip target/release/agate - - name: compress - run: gzip -c target/release/agate > ./agate.gz - - name: upload release asset darwin - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./agate.gz - asset_name: agate.x86_64-apple-darwin.gz - asset_content_type: application/gzip - - build_macos_arm: runs-on: macos-latest needs: create_release steps: - uses: actions/checkout@v3 - name: install toolchain run: rustup target add aarch64-apple-darwin - - name: Build + - name: Build x86_64 + run: cargo build --verbose --release + - name: strip names x86 + run: strip target/release/agate + - name: compress x86 + run: gzip -c target/release/agate > ./agate.x86_64-apple-darwin.gz + - name: Build ARM 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 - - name: strip names + - name: strip names ARM run: strip target/aarch64-apple-darwin/release/agate - - name: compress - run: gzip -c target/aarch64-apple-darwin/release/agate > ./agate.gz - - name: upload release asset darwin - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: compress ARM + run: gzip -c target/aarch64-apple-darwin/release/agate > ./agate.aarch64-apple-darwin.gz + - name: upload release assets darwin + uses: AButler/upload-release-assets@v2.0 with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./agate.gz - asset_name: agate.aarch64-apple-darwin.gz - asset_content_type: application/gzip + files: 'agate.*.gz' + repo-token: ${{ secrets.GITHUB_TOKEN }} + release-tag: ${{ github.ref }}