scsys-xtask 0.0.0

A custom build system for the scsys ecosystem
Documentation
name: release

concurrency:   
  cancel-in-progress: false
  group: ${{ github.workflow }}-${{ github.ref }}

env:
  CARGO_INCREMENTAL: 0
  CARGO_TERM_COLOR: always
  RUST_BACKTRACE: 1

on:
  release:
    types: [ published ]
  repository_dispatch:
    types: [ release ]
  workflow_dispatch:
    inputs:
      prerelease:
        description: 'Is this a pre-release?'
        required: true
        default: false
        type: boolean

jobs:
  native:
    permissions:
      contents: read
      deployments: write
    env:
      IS_PRERELEASE: ${{ github.event.inputs.prerelease || github.event.release.prerelease }} 
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-latest, windows-latest, macos-latest ]
    runs-on: ${{ matrix.os }}
    steps:
      - 
        uses: actions/checkout@v4
        name: Checkout
      - 
        uses: actions-rust-lang/setup-rust-toolchain@v1
        name: Setup Rust
        with:
          cache-key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
          cache-workspaces: true
      - 
        name: build (release)
        run: cargo build --locked --release --features full --workspace
      - 
        name: Create Release Artifacts
        uses: softprops/action-gh-release@v2
        with:
          append_body: false
          generate_release_notes: true
          draft: false
          prerelease: ${{ env.IS_PRERELEASE }}
          name: ${{ github.event.release.name }}
          tag_name: ${{ github.event.release.tag_name }}
          body: |
            # ${{ github.event.repository.name }} (${{ github.event.release.tag_name }})

            ## Release Notes
            
            ${{ github.event.release.body }}

            ***
            
          files: |
            target/release/scsys