name: Release on: push: tags: - 'v*' workflow_dispatch: permissions: contents: write jobs: build: runs-on: ubuntu-latest strategy: matrix: target: [x86_64-unknown-linux-gnu] # aarch64-unknown-linux-gnu can be added when cross compilation is stable steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - name: Install target run: rustup target add ${{ matrix.target }} - name: Build release run: cargo build --release --target ${{ matrix.target }} - name: Package binary run: | mkdir -p dist cp target/${{ matrix.target }}/release/wipe dist/wipe-${{ matrix.target }} cp target/${{ matrix.target }}/release/wipe dist/wipe tar -czf dist/wipe-${{ matrix.target }}.tar.gz -C dist wipe-${{ matrix.target }} sha256sum dist/* > dist/SHA256SUMS ls -lh dist/ - name: Create Release if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: files: dist/* generate_release_notes: true