From 3107efda2c12833e8d1d9f848004bdf1aae569d0 Mon Sep 17 00:00:00 2001 From: Moreno Feltscher Date: Mon, 22 Jul 2024 16:22:40 +0200 Subject: [PATCH] feat: add automatic releases --- .github/workflows/release.yml | 73 +++++++---------------------------- 1 file changed, 13 insertions(+), 60 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e33dd58..fe29adf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,66 +1,19 @@ +--- name: Release -env: - PROJECT_NAME: swiss-qr-bill-decoder - CARGO_TERM_COLOR: always - on: push: - tags: - # Regex for a version number such as v0.2.1 - - "v[0-9]+.[0-9]+.[0-9]+" + branches: + - master + - next + - next-major + - beta + - alpha + - "[0-9]+.[0-9]+.x" + - "[0-9]+.x" jobs: - build_and_release: - runs-on: ${{ matrix.platform.runner }} - strategy: - matrix: - platform: - - name: linux-amd64 - runner: ubuntu-latest - target: x86_64-unknown-linux-gnu - - name: macos-amd64 - runner: macos-latest - target: x86_64-apple-darwin - - name: macos-arm64 - runner: macos-latest - target: aarch64-apple-darwin - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - with: - targets: "${{ matrix.platform.target }}" - - - name: Rust (Cargo) Caching - uses: Swatinem/rust-cache@v2 - - - name: Run tests - run: cargo test --locked --target ${{ matrix.platform.target }} - - - name: Build release - run: cargo build --release --locked --target ${{ matrix.platform.target }} - - - name: Get the release version from the tag - shell: bash - run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV - - - name: Build archive - shell: bash - run: | - binary_name="${{env.PROJECT_NAME}}" - - dirname="$binary_name-${{ env.VERSION }}-${{ matrix.platform.target }}" - mkdir "$dirname" - mv "target/${{ matrix.platform.target }}/release/$binary_name" "$dirname" - tar -czf "$dirname.tar.gz" "$dirname" - echo "ASSET=$dirname.tar.gz" >> $GITHUB_ENV - - - name: Upload the binaries - uses: softprops/action-gh-release@v2 - with: - files: | - ${{ env.ASSET }} \ No newline at end of file + release: + uses: semantic-release-action/rust/.github/workflows/release-binary.yml@v5 + with: + disable-semantic-release-cargo: true