diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/publish.yml | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..1f92c63 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,81 @@ +name: Publish + +on: + push: + tags: + - "*" + +jobs: + publish: + name: ${{ matrix.target }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + use-cross: false + + - os: ubuntu-latest + target: x86_64-unknown-linux-musl + use-cross: false + + - os: windows-latest + target: x86_64-pc-windows-msvc + use-cross: false + + - os: macos-latest + target: x86_64-apple-darwin + use-cross: false + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + fetch-depth: 1 + + - name: Set the version + id: version + run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/} + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + target: ${{ matrix.target }} + + - name: Build + uses: actions-rs/cargo@v1 + with: + use-cross: ${{ matrix.use-cross }} + command: build + args: + --target ${{ matrix.target }} --release --locked --bin angelsharkcli + + - name: Strip binary + if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' + run: strip target/${{ matrix.target }}/release/angelsharkcli + + - name: Upload nix binaries to release + if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: target/${{ matrix.target }}/release/angelsharkcli + asset_name: + angelsharkcli-${{ steps.version.outputs.VERSION }}-${{ matrix.target + }} + tag: ${{ github.ref }} + + - name: Upload Windows binaries to release + if: matrix.os == 'windows-latest' + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: target/${{ matrix.target }}/release/angelsharkcli.exe + asset_name: + angelsharkcli-${{ steps.version.outputs.VERSION }}-${{ matrix.target + }}.exe + tag: ${{ github.ref }} |