Skip to content

Commit

Permalink
ci: cargo-denyのadvisoriesだけcronでの実行にする (#893)
Browse files Browse the repository at this point in the history
`cargo-deny`ワークフローを`licenses`と`audit`に分離し、後者を毎日のcron
実行とする。

RustSecへの登録によって「何もしていないのにCIが落ちた」ケースが最近増え
てきたため。

Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
  • Loading branch information
qryxip and Hiroshiba authored Dec 23, 2024
1 parent bf7448d commit 2ac59f4
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 16 deletions.
10 changes: 10 additions & 0 deletions .github/actions/install-cargo-deny/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Install cargo-deny
description: cargo-denyをインストールする。

runs:
using: composite
steps:
- name: Install cargo-binstall
uses: taiki-e/install-action@cargo-binstall
- name: Install cargo-deny
run: cargo binstall cargo-deny@^0.16 --no-confirm --log-level debug
24 changes: 24 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# 依存ライブラリを監査する。
#
# RustSec Advisory Databaseに登録された、あるいは単にヤンクされたクレートを検出する。
# 検出されるものは脆弱性(`vulnerability`)のみとは限らない。
# 依存ライブラリが単に"unmaintained"とされたりヤンクされたりしても反応する。

name: audit

# データベースへの登録とクレートのヤンクはこちらの依存ライブラリの編集と関係なく起きるため、`push`
# と`pull_request`はトリガーにしない。
on:
workflow_dispatch:
schedule:
- cron: '0 15 * * *'

jobs:
audit:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install cargo-deny
uses: ./.github/actions/install-cargo-deny
- name: cargo-deny
run: cargo deny --all-features check -s advisories
16 changes: 0 additions & 16 deletions .github/workflows/cargo-deny.yml

This file was deleted.

22 changes: 22 additions & 0 deletions .github/workflows/licenses.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 依存ライブラリのライセンスを確認する。
#
# `advisories`以外についてcargo-denyを実行する。

name: licenses

# 外部からの貢献者の負担を減らすため、PR時点では不適合になることを許容する。その代わりmainブランチで
# は毎回本ワークフローを実行する。
on:
push:
branches:
- main

jobs:
licenses:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install cargo-deny
uses: ./.github/actions/install-cargo-deny
- name: cargo-deny
run: cargo deny --all-features check -s bans licenses sources

0 comments on commit 2ac59f4

Please sign in to comment.