1
1
name : Check advisories standalone
2
2
on :
3
- - push
4
3
- pull_request
5
4
jobs :
6
5
tools_changed :
15
14
concurrent_skipping : " never"
16
15
skip_after_successful_duplicate : " true"
17
16
paths : ' ["code/**"]'
17
+ do_not_skip : ' ["push", "workflow_dispatch", "schedule"]'
18
18
advisories_changed :
19
19
continue-on-error : true
20
20
runs-on : ubuntu-22.04
@@ -28,11 +28,42 @@ jobs:
28
28
skip_after_successful_duplicate : " true"
29
29
paths : ' ["advisories/**"]'
30
30
do_not_skip : ' ["push", "workflow_dispatch", "schedule"]'
31
- check-advisories :
31
+ code_hash :
32
+ name : Compute code directory hash
33
+ runs-on : ubuntu-22.04
34
+ outputs :
35
+ code_hash : ${{ steps.code-hash.outputs.code-hash }}
36
+ steps :
37
+ - name : git checkout
38
+ uses : actions/checkout@v3
39
+ - id : code-hash
40
+ run : |
41
+ code_hash=$(git rev-parse HEAD:code)
42
+ echo "code-hash=$code_hash" >> "$GITHUB_OUTPUT"
43
+ changed_files :
44
+ name : Debug
45
+ needs : [tools_changed, advisories_changed, code_hash]
46
+ if : ${{ needs.tools_changed.outputs.should_skip == 'true' && needs.advisories_changed.outputs.should_skip != 'true' }}
47
+ runs-on : ubuntu-22.04
48
+ permissions :
49
+ pull-requests : read
50
+ outputs :
51
+ advisories : ${{ steps.changed-files.outputs.all_changed_files }}
52
+ steps :
53
+ - name : Get changed files
54
+ id : changed-files
55
+ uses : tj-actions/changed-files@v37
56
+ with :
57
+ json : " true"
58
+
59
+ - name : List all changed files
60
+ run : echo "${{ steps.changed-files.outputs.all_changed_files }}"
61
+ check_advisories :
32
62
name : Invoke check-advisories workflow
33
- needs : [tools_changed, advisories_changed]
63
+ needs : [tools_changed, advisories_changed, code_hash, changed_files ]
34
64
if : ${{ needs.tools_changed.outputs.should_skip == 'true' && needs.advisories_changed.outputs.should_skip != 'true' }}
35
65
uses : ./.github/workflows/check-advisories.yml
36
66
with :
37
- artifact-name : hsec-tools-main
38
- changed-advisories : ${{ toJSON(needs.advisories_changed.outputs.changed_files) }}
67
+ fetch-key : hsec-tools-${{ needs.code_hash.outputs.code_hash }}
68
+ is-artifact : false
69
+ changed-advisories : ${{ needs.changed_files.outputs.advisories }}
0 commit comments