From d8aa76522cc078b5784c94843be37f2875ad5966 Mon Sep 17 00:00:00 2001 From: "Carpenter, Adam (CORP)" Date: Tue, 12 Oct 2021 14:22:20 -0400 Subject: ci: add github action, update readme --- .github/workflows/publish.yml | 81 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .github/workflows/publish.yml (limited to '.github/workflows') 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 }} -- cgit v1.2.3