blackhole-bin 0.6.2

blackhole is a server that responds to any request with http status code 200
Documentation
name: Release

on:
  push:
    tags:
     - 'v*.*.*'
env:
  NAME: blackhole

jobs:
  create_github_release:
    name: Create Github release
    runs-on: ubuntu-latest

    steps:
    - name: Setup code
      uses: actions/checkout@v3
      # Fetch all histories and tags to create release note
      with: { fetch-depth: 0 }

    - name: Create release
      id: create_release
      run: gh release create ${{ github.ref_name }} --generate-notes
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  build_and_publish:
    name: Build and publish
    needs: [create_github_release]
    strategy:
      matrix:
        include:
        - target: x86_64-unknown-linux-gnu
          os: ubuntu-latest
        - target: x86_64-apple-darwin
          os: macos-latest
        - target: aarch64-apple-darwin
          os: macos-latest

    runs-on: ${{ matrix.os }}

    steps:
    - name: Setup code
      uses: actions/checkout@v3

    - name: Setup Rust toolchain
      run: |
        rustup set profile minimal
        rustup install stable
        rustup override set stable
        rustup target add ${{ matrix.target }}

    - name: Build
      run: cargo build --release --target=${{ matrix.target }}

    - name: Create artifact
      run: |
        tar -acvf ${{ env.NAME }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz -C target/${{ matrix.target }}/release ${{ env.NAME }}
        set -e
        ls -la ${{ env.NAME }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz

    - name: Upload assets
      run: gh release upload ${{ github.ref_name }} ./${{ env.NAME }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}