name: CI
on: [push, pull_request, workflow_dispatch]
permissions:
contents: read
jobs:
rust:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup toolchain install stable --profile minimal --component rustfmt --component clippy
- run: cargo +stable fmt --check
- run: cargo +stable clippy --all-targets --locked -- -D warnings
- run: cargo +stable test --locked
- run: python3 scripts/update-runner.py --check
- run: docker build -t local/runnerctl-test-base:1 runner
- run: docker build -t local/runnerctl-test:1 -f tests/Dockerfile .
- run: bash tests/entrypoint.sh
- run: bash tests/docker-socket.sh
- run: cargo +stable test --locked docker_ -- --ignored --nocapture
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: rustup toolchain install stable --profile minimal --component clippy
- run: cargo +stable clippy --all-targets --locked -- -D warnings
- run: cargo +stable test --locked
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- run: rustup toolchain install stable --profile minimal --component clippy
- run: cargo +stable clippy --all-targets --locked -- -D warnings
- run: cargo +stable test --locked