Skip to content

chore(deps): update actions/checkout action to v4 #78

chore(deps): update actions/checkout action to v4

chore(deps): update actions/checkout action to v4 #78

Workflow file for this run

---
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
check-license-comments:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check license comments
run: |
./.tools/check-license-comments.sh
cargo-deny:
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- advisories
- bans licenses sources
# Prevent sudden announcement of a new advisory from failing ci:
continue-on-error: ${{ matrix.checks == 'advisories' }}
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/[email protected]
with:
command: check ${{ matrix.checks }}
cargo-about:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install cargo-about
uses: taiki-e/[email protected]
with:
tool: cargo-about
- name: Generate up-to-date `THIRD_PARTY_LICENSES.md`
run: cargo about generate -o ./THIRD_PARTY_LICENSES.md ./.tools/cargo-about-markdown-template.hbs
- name: Verify `THIRD_PARTY_LICENSES.md` is up-to-date
run: |
git diff --exit-code ./THIRD_PARTY_LICENSES.md
if [ $? -ne 0 ]; then
echo "THIRD_PARTY_LICENSES.md is out of date. Please run 'cargo about generate -o ./THIRD_PARTY_LICENSES.md ./.tools/cargo-about-markdown-template.hbs' locally, compare what has changed and commit the changes."
exit 1
fi
linting:
permissions:
contents: read
checks: write # required for clippy-check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install latest Rust stable
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: clippy
- name: Install latest Rust nightly
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
components: rustfmt
- name: cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all --check
toolchain: nightly
- name: clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --workspace --lib --bins --tests --all-targets -- -Dwarnings
- name: yamllint
uses: frenck/[email protected]
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install latest Rust stable
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --all --release
- name: cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --all --release
- name: validate example checkmate config
uses: actions-rs/cargo@v1
with:
command: run
args: lint --config-file checkmate.example.yaml
build-docker-image:
permissions:
contents: read
packages: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: ghcr.io/takkt-ag/checkmate
- name: Login to GitHub Container Registry
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
tags: ${{ steps.meta.outputs.tags }}