Skip to content

Commit e0c2683

Browse files
committedSep 21, 2023
Add job to post audit status issue
1 parent 89ac10f commit e0c2683

File tree

4 files changed

+73
-0
lines changed

4 files changed

+73
-0
lines changed
 

‎.github/workflows/nightly.yml

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ jobs:
3434
with:
3535
toolchain: nightly
3636
rustflags: -Zallow-features=
37+
vet-status:
38+
uses: ./.github/workflows/vet-status.yml
3739

3840
create-issue:
3941
name: create issue
@@ -48,6 +50,7 @@ jobs:
4850
- updates-nightly
4951
- minimal-versions
5052
- minimal-versions-nightly
53+
- vet-status
5154
steps:
5255
- uses: actions/checkout@v4
5356
with:
@@ -73,6 +76,7 @@ jobs:
7376
- updates-nightly
7477
- minimal-versions
7578
- minimal-versions-nightly
79+
- vet-status
7680
steps:
7781
- uses: lee-dohm/close-matching-issues@v2
7882
with:

‎.github/workflows/vet-status.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
jobs:
2+
vet-status:
3+
name: cargo vet status
4+
runs-on: ubuntu-latest
5+
steps:
6+
- uses: actions/checkout@v4
7+
- uses: actions/checkout@v4
8+
if: hashFiles('supply-chain/config.toml') != ''
9+
with:
10+
repository: 'Nullus157/.github'
11+
path: nullus.github
12+
- uses: taiki-e/install-action@v2
13+
if: hashFiles('supply-chain/config.toml') != ''
14+
with:
15+
tool: cargo-vet
16+
- uses: taiki-e/cache-cargo-install-action@v1
17+
if: hashFiles('supply-chain/config.toml') != ''
18+
with:
19+
tool: toml2json
20+
- id: vet_status
21+
uses: mathiasvr/command-output@v2.0.0
22+
if: hashFiles('supply-chain/config.toml') != ''
23+
with:
24+
run: ./nullus.github/vet-status
25+
- uses: JasonEtco/create-an-issue@v2
26+
if: hashFiles('supply-chain/config.toml') != ''
27+
env:
28+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
29+
VET_STATUS: ${{ steps.vet_status.outputs.stdout }}
30+
with:
31+
update_existing: true
32+
filename: nullus.github/vet-status.md
33+
34+
on:
35+
workflow_call:

‎vet-status

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env bash
2+
3+
tq() {
4+
toml2json "supply-chain/$1" | jq -r "$2 | keys | .[]"
5+
}
6+
7+
local=($(tq audits.toml '.audits'))
8+
remote=($(tq imports.lock '.audits["first-party"].audits'))
9+
audited=($( (echo ${local[@]}; echo ${remote[@]}) | sort -u))
10+
imported=($(tq imports.lock '.audits | del(."first-party") | .[].audits' | sort -u))
11+
trusted=($(tq audits.toml '.trusted'))
12+
exempted=($(tq config.toml '.exemptions'))
13+
14+
log() {
15+
title=$1
16+
shift
17+
echo
18+
echo "<details><summary>$title: $#</summary>"
19+
echo
20+
printf ' * %s\n' "$@"
21+
echo
22+
echo "</details>"
23+
}
24+
25+
log Audited "${audited[@]}"
26+
log Imported "${imported[@]}"
27+
log Trusted "${trusted[@]}"
28+
log Exempted "${exempted[@]}"

‎vet-status.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: "`cargo vet` status"
3+
labels: supply-chain/status
4+
---
5+
6+
{{ env.VET_STATUS }}

0 commit comments

Comments
 (0)
Please sign in to comment.