fdn 0.8.6

A tool for uniformly change file or directory names and support rollback these operations
Documentation
name: Release

# on:
#   release:
#     types: [created]

on:
  push:
    branches: ["rust"]
  pull_request:
    branches: ["rust"]

permissions:
  contents: write

jobs:
  release:
    name: release ${{ matrix.target }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        include:
          - target: x86_64-pc-windows-gnu
            archive: tar.gz
          - target: x86_64-unknown-linux-gnu
            archive: tar.gz tar.xz
          - target: x86_64-apple-darwin
            archive: tar.gz
    steps:
      - uses: actions/checkout@master
      - name: Compile and release
        uses: rust-build/rust-build.action@v1.3.2
        env:
          GITHUB_TOKEN: ${{ secrets.FDN_GITHUB_WORKFLOW_TOKEN }}
        with:
          RUSTTARGET: ${{ matrix.target }}
          ARCHIVE_TYPES: ${{ matrix.archive }}
          TOOLCHAIN_VERSION: 1.74.0
  windows-msvc-release:
    name: release windows msvc
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@master
      - name: Build
        run: |
          cargo build --release
      - name: tar
        run: tar --directory=target/release -cf archive.tar.gz nitrogen.exe
      - name: upload
        run: |
          $id = gh api -H "Accept: application/vnd.github+json" /repos/capeprivacy/nitrogen/releases/tags/${{ github.ref_name }} --jq .id
          curl --fail-with-body -sS  -X POST --data-binary "@archive.tar.gz" -H 'Content-Type: application/octet-stream' -H 'Authorization: Bearer ${{ secrets.FDN_GITHUB_WORKFLOW_TOKEN }}' "https://uploads.github.com/repos/capeprivacy/nitrogen/releases/$id/assets?name=nitrogen_${{ github.ref_name }}_x86_64-pc-windows-msvc.tar.gz"
        env:
          GITHUB_TOKEN: ${{ secrets.FDN_GITHUB_WORKFLOW_TOKEN }}
  macos-arm-release:
    name: release mac os arm release
    runs-on: macos-12
    steps:
      - uses: actions/checkout@master
      - name: check toolchain
        run: rustup default
      - name: Build
        run: |
          rustup toolchain install stable-aarch64-apple-darwin
          rustup target add aarch64-apple-darwin
          cargo build --release --target aarch64-apple-darwin
      - name: tar
        run: tar --directory=target/aarch64-apple-darwin/release -cf archive.tar.gz nitrogen
      - name: upload
        run: |
          id=$(gh api -H "Accept: application/vnd.github+json" /repos/capeprivacy/nitrogen/releases/tags/${{ github.ref_name }} --jq .id)
          curl --fail-with-body -sS  -X POST --data-binary @"archive.tar.gz" -H 'Content-Type: application/octet-stream' -H "Authorization: Bearer ${{ secrets.FDN_GITHUB_WORKFLOW_TOKEN }}" "https://uploads.github.com/repos/capeprivacy/nitrogen/releases/$id/assets?name=nitrogen_${{ github.ref_name }}_aarch64-apple-darwin.tar.gz"
        env:
          GITHUB_TOKEN: ${{ secrets.FDN_GITHUB_WORKFLOW_TOKEN }}