Skip to content

build: bump clap from 4.5.43 to 4.5.45 (#20) #22

build: bump clap from 4.5.43 to 4.5.45 (#20)

build: bump clap from 4.5.43 to 4.5.45 (#20) #22

Workflow file for this run

name: main
on:
push:
branches:
- 'main'
env:
CARGO_TERM_COLOR: always
jobs:
changes:
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
code: ${{ steps.filter.outputs.code }}
deps: ${{ steps.filter.outputs.deps }}
publish: ${{ steps.filter.outputs.publish }}
workflows: ${{ steps.filter.outputs.workflows }}
yml: ${{ steps.filter.outputs.yml }}
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
code:
- "src/**"
- "**/*.rs"
- Cargo.*
- clippy.toml
- rust-toolchain.toml
- ".github/actions/**/*.yml"
- ".github/workflows/main.yml"
deps:
- "Cargo.toml"
- "Cargo.lock"
- "deny.toml"
- ".github/workflows/main.yml"
publish:
- "Cargo.toml"
- ".github/workflows/main.yml"
workflows:
- ".github/**/*.yml"
yml:
- "**.yml"
- "**.yaml"
lint:
needs: changes
if: ${{ needs.changes.outputs.code == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y libasound2-dev
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy, rustfmt
- name: Check formatting
run: cargo fmt --all -- --check
- name: Lint
run: cargo clippy
build:
needs: changes
if: ${{ needs.changes.outputs.code == 'true' }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update && sudo apt-get install -y libasound2-dev
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Build
run: cargo build
test:
needs: changes
if: ${{ needs.changes.outputs.code == 'true' }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update && sudo apt-get install -y libasound2-dev
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install nextest
uses: taiki-e/install-action@ad95d4e02e061d4390c4b66ef5ed56c7fee3d2ce # v2.58.17
with:
tool: cargo-nextest
- name: Test
env:
RUST_BACKTRACE: 0
run: cargo nextest run
lint-yaml:
needs: changes
if: ${{ needs.changes.outputs.yml == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dhth/composite-actions/.github/actions/lint-yaml@main
lint-workflows:
needs: changes
if: ${{ needs.changes.outputs.workflows == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dhth/composite-actions/.github/actions/lint-actions@main
audit:
needs: changes
if: ${{ needs.changes.outputs.deps == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install cargo-deny
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
with:
repo: EmbarkStudios/cargo-deny
- name: cargo deny
run: cargo deny check
publish-check:
needs: changes
if: ${{ needs.changes.outputs.publish == 'true' }}
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: cargo publish check
run: cargo publish --dry-run