name: Security Audit

on:
  push:
    branches:
      - master
    paths:
      - '**/Cargo.toml'
  schedule:
    - cron: '0 2 * * *' # run at 2 AM UTC

permissions:
  contents: read

jobs:
  security-audit:
    permissions:
      checks: write  # for rustsec/audit-check to create check
      contents: read  # for actions/checkout to fetch code
      issues: write  # for rustsec/audit-check to create issues
    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, 'ci skip')"
    steps:
      - uses: actions/checkout@v3

      - name: Audit Check
        # https://github.com/rustsec/audit-check/issues/2
        uses: rustsec/audit-check@master
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
