rustic_scheduler 0.2.1

rustic scheduler - a client/server application to schedule regular backups on many clients to one identical repository controlled by a central scheduling server.
Documentation
name: Create PR artifacts

on:
  pull_request:
    types: [labeled]
    branches:
      - main
    paths-ignore:
      - "**/*.md"
      - "docs/**/*"
  workflow_dispatch:

env:
  BINARY_NAME: rustic-scheduler

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

jobs:
  pr-build:
    if: ${{ github.event.label.name == 'S-build' && github.repository_owner == 'rustic-rs' }}
    name: Build PR on ${{ matrix.job.target }}
    runs-on: ${{ matrix.job.os }}
    strategy:
      matrix:
        rust: [stable]
        job:
          - os: windows-latest
            os-name: windows
            target: x86_64-pc-windows-msvc
            architecture: x86_64
            binary-postfix: ".exe"
            use-cross: false
          - os: windows-latest
            os-name: windows
            target: x86_64-pc-windows-gnu
            architecture: x86_64
            binary-postfix: ".exe"
            use-cross: true
          - os: macos-13
            os-name: macos
            target: x86_64-apple-darwin
            architecture: x86_64
            binary-postfix: ""
            use-cross: false
          - os: macos-latest
            os-name: macos
            target: aarch64-apple-darwin
            architecture: arm64
            binary-postfix: ""
            use-cross: false
          - os: ubuntu-latest
            os-name: linux
            target: x86_64-unknown-linux-gnu
            architecture: x86_64
            binary-postfix: ""
            use-cross: false
          - os: ubuntu-latest
            os-name: linux
            target: x86_64-unknown-linux-musl
            architecture: x86_64
            binary-postfix: ""
            use-cross: false
          - os: ubuntu-latest
            os-name: linux
            target: aarch64-unknown-linux-gnu
            architecture: arm64
            binary-postfix: ""
            use-cross: true
          - os: ubuntu-latest
            os-name: linux
            target: i686-unknown-linux-gnu
            architecture: i386
            binary-postfix: ""
            use-cross: true
          - os: ubuntu-latest
            os-name: linux
            target: armv7-unknown-linux-gnueabihf
            architecture: armv7
            binary-postfix: ""
            use-cross: true

    steps:
      - name: Checkout repository
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
        with:
          fetch-depth: 0 # fetch all history so that git describe works
      - name: Create binary artifact
        uses: rustic-rs/create-binary-artifact-action@main # dev
        with:
          toolchain: ${{ matrix.rust }}
          target: ${{ matrix.job.target }}
          use-cross: ${{ matrix.job.use-cross }}
          describe-tag-suffix: -${{ github.run_id }}-${{ github.run_attempt }}
          binary-postfix: ${{ matrix.job.binary-postfix }}
          os: ${{ runner.os }}
          binary-name: ${{ env.BINARY_NAME }}
          package-secondary-name: ${{ matrix.job.target}}
          github-token: ${{ secrets.GITHUB_TOKEN }}
          github-ref: ${{ github.ref }}
          sign-release: false
          hash-release: true
          use-project-version: false # not being used in rustic_scheduler

  remove-build-label:
    name: Remove build label
    needs: pr-build
    permissions:
      contents: read
      issues: write
      pull-requests: write
    runs-on: ubuntu-latest
    if: |
      always() &&
      ! contains(needs.*.result, 'skipped') &&
      github.repository_owner == 'rustic-rs'
    steps:
      - name: Remove label
        env:
          GH_TOKEN: ${{ github.token }}
        run: |
          gh api \
          --method DELETE \
          -H "Accept: application/vnd.github+json" \
          -H "X-GitHub-Api-Version: 2022-11-28" \
          /repos/${{ github.repository }}/issues/${{ github.event.number }}/labels/S-build