ctl-core 0.1.1

Shared clap chassis for the *ctl CLIs
Documentation
name: CI

on:
  pull_request:
  push:
    branches: [main]

permissions:
  contents: read

env:
  GIT_CONFIG_COUNT: "1"
  GIT_CONFIG_KEY_0: init.defaultBranch
  GIT_CONFIG_VALUE_0: main
  CARGO_TERM_COLOR: always
  MISE_ENV: dev,ci

concurrency:
  group: ci-${{ github.workflow }}-${{ github.head_ref || github.ref_name }}-${{ github.event.pull_request.base.sha || github.sha }}
  cancel-in-progress: true

jobs:
  verify:
    name: Verify
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
      - name: Install locked toolchain
        uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 # v4.2.4
        with:
          version: 2026.8.2
          cache: true
      - name: Cache cargo registry and target
        uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
        with:
          shared-key: ctl-core-verify
          cache-on-failure: true
      - name: Verify
        run: mise run verify
      - name: Advisories
        run: mise run deny:advisories
      - name: Package
        run: cargo package --locked --all-features