rust-template-generated-bin 0.3.5

Example project generated by gifnksm/rust-tmeplate
Documentation
name: CD

on:
  push:
    tags:
      - "v?[0-9]+.[0-9]+.[0-9]+"
    branches:
      - main
  pull_request:

jobs:
  publish:
    name: Publishing for ${{ matrix.job.target }}
    runs-on: ${{ matrix.job.os }}
    strategy:
      fail-fast: false
      matrix:
        rust: [stable]
        job:
          - os: ubuntu-latest
            target: x86_64-unknown-linux-gnu
          - os: ubuntu-latest
            target: aarch64-unknown-linux-gnu
          - os: ubuntu-latest
            target: i686-unknown-linux-gnu
          - os: macos-latest
            target: x86_64-apple-darwin
          - os: windows-latest
            target: x86_64-pc-windows-msvc

    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.rust }}
          profile: minimal
          override: true
      - uses: Swatinem/rust-cache@v2
        with:
          key: ${{ matrix.job.target }}
      - name: Install cross
        uses: taiki-e/install-action@cross

      - name: cargo xtask dist
        uses: actions-rs/cargo@v1
        with:
          command: xtask
          toolchain: ${{ matrix.rust }}
          args: dist --use-cross-if-needed --target ${{ matrix.job.target }}

      - name: Upload binaries as artifacts
        uses: actions/upload-artifact@v3
        with:
          path: target/dist/*

      - name: Releasing assets
        uses: softprops/action-gh-release@v1
        with:
          files: target/dist/*
          generate_release_notes: true
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        if: ${{ startsWith(github.ref, 'refs/tags/') }}