radvd 0.0.0

IPv6 router discovery daemon
---
name: CI

"on":
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  release:
    types:
      - released

env:
  DEBIAN_FRONTEND: noninteractive
  CARGO_INCREMENTAL: "false"
  SCCACHE_GHA_ENABLED: "true"
  RUSTC_WRAPPER: "sccache"

jobs:
  lint:
    strategy:
      fail-fast: false
      matrix:
        job:
          - clippy
          - rustfmt
        include:
          - job: rustfmt
            toolchain: nightly
            components: rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: mozilla-actions/sccache-action@v0.0.9
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - uses: taiki-e/install-action@v2
        with:
          tool: just
      - name: Lint
        run: just ci-lint-${{ matrix.job }}
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: mozilla-actions/sccache-action@v0.0.9
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - uses: taiki-e/install-action@v2
        with:
          tool: just
      - name: Build
        run: just ci-build
  test:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
      - uses: actions/checkout@v4
      - uses: mozilla-actions/sccache-action@v0.0.9
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - uses: taiki-e/install-action@v2
        with:
          tool: just
      - name: Test
        run: just ci-test
  check-ci:
    if: always()
    needs:
      - lint
      - build
      - test
    runs-on: ubuntu-latest
    steps:
      - uses: re-actors/alls-green@release/v1
        with:
          jobs: ${{ toJSON(needs) }}