Skip to content

chore(repo): add GitHub Sponsors button via FUNDING.yml #11

chore(repo): add GitHub Sponsors button via FUNDING.yml

chore(repo): add GitHub Sponsors button via FUNDING.yml #11

Workflow file for this run

# SPDX-License-Identifier: AGPL-3.0-or-later
name: rust
on:
pull_request:
branches: [main]
push:
branches: [main]
permissions:
contents: read
concurrency:
group: rust-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-D warnings"
RUST_BACKTRACE: "1"
jobs:
cargo-fmt:
name: cargo fmt
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0
- run: cargo fmt --all -- --check
dotenv-lint:
name: dotenv lint
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dotenv-linter/action-dotenv-linter@6c39ca3e4c1f440bf1911b4169c2056ec86c3f99 # v3.0.0
with:
dotenv_linter_flags: --skip UnorderedKey
reporter: github-check
cargo-clippy:
name: cargo clippy
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0
- uses: Swatinem/rust-cache@23869a5bd66c73db3c0ac40331f3206eb23791dc # v2.9.1
with:
shared-key: clippy
- run: cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo-test:
name: cargo test
runs-on: ${{ matrix.os }}
timeout-minutes: 25
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0
- uses: Swatinem/rust-cache@23869a5bd66c73db3c0ac40331f3206eb23791dc # v2.9.1
with:
shared-key: test
- run: cargo test --workspace --all-features --no-fail-fast
rust-test-summary:
name: rust test summary
needs: [cargo-test]
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- run: echo "all rust test matrix entries passed"
cargo-deny:
name: cargo deny
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: EmbarkStudios/cargo-deny-action@a4d2d701318fdc1c6ae17ba8cea8f329c5110eb2 # v2.0.17
with:
command: check
cargo-sbom:
name: cargo sbom
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0
- uses: taiki-e/install-action@cca35edeb1d01366c2843b68fc3ca441446d73d3 # v2.77.1
with:
tool: cargo-cyclonedx@0.5.9
- run: cargo cyclonedx --format json
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: sbom-cyclonedx-1.6
path: '**/*.cdx.json'
retention-days: 30
if-no-files-found: error
overwrite: true
compose-smoke:
name: compose smoke
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- run: |
cp .env.example .env
chmod +x scripts/smoke-compose.sh
bash scripts/smoke-compose.sh