File tree Expand file tree Collapse file tree 3 files changed +28
-6
lines changed
opa/rego/poutine/inventory
testdata/.github/workflows Expand file tree Collapse file tree 3 files changed +28
-6
lines changed Original file line number Diff line number Diff line change 11package poutine.inventory
22
3- import future.keywords.contains
3+ import rego.v1
44
5- build_dependencies contains dep {
5+ import data.poutine.utils
6+
7+ build_dependencies contains dep if {
68 pkg := input.packages[_]
79 step := pkg.github_actions_workflows[_].jobs[_].steps[_]
810
911 dep := purl.parse_github_actions (step.uses)
1012}
1113
12- build_dependencies contains dep {
14+ build_dependencies contains dep if {
1315 pkg := input.packages[_]
1416 job := pkg.github_actions_workflows[_].jobs[_]
1517 image := job.container.image
1618 not contains (image, " $" )
1719 dep := purl.parse_docker_image (image)
1820}
1921
20- package_dependencies contains dep {
22+ build_dependencies contains dep if {
23+ pkg := input.packages[_]
24+ job := pkg.github_actions_workflows[_].jobs[_]
25+ uses := job.uses
26+ not utils.empty (uses)
27+
28+ dep := purl.parse_github_actions (uses)
29+ }
30+
31+ package_dependencies contains dep if {
2132 pkg := input.packages[_]
2233 step := pkg.github_actions_metadata[_].runs.steps[_]
2334
2435 dep := purl.parse_github_actions (step.uses)
2536}
2637
27- package_dependencies contains dep {
38+ package_dependencies contains dep if {
2839 pkg := input.packages[_]
2940 runs := pkg.github_actions_metadata[_].runs
3041
Original file line number Diff line number Diff line change @@ -42,10 +42,11 @@ func TestPurls(t *testing.T) {
4242 "pkg:githubactions/org/repo@main" ,
4343 "pkg:docker/debian%3Avuln" ,
4444 "pkg:githubactions/bridgecrewio/checkov-action@main" ,
45+ "pkg:githubactions/org/repo@main#.github/workflows/Reusable.yml" ,
4546 }
4647 assert .ElementsMatch (t , i .Purls (), purls )
4748 assert .Equal (t , 1 , len (i .Packages ))
48- assert .Equal (t , 15 , len (i .Packages [0 ].BuildDependencies ))
49+ assert .Equal (t , 16 , len (i .Packages [0 ].BuildDependencies ))
4950 assert .Equal (t , 4 , len (i .Packages [0 ].PackageDependencies ))
5051}
5152
Original file line number Diff line number Diff line change 1313 - uses : actions/checkout@main
1414 with :
1515 ref : ${{ inputs.ref }}
16+
17+ uses :
18+ runs-on : ubuntu-latest
19+ uses : org/repo/.github/workflows/Reusable.yml@main
20+ with :
21+ ref : ${{ inputs.ref }}
22+
23+ local-uses :
24+ runs-on : ubuntu-latest
25+ uses : ./.github/workflows/ci.yml
You can’t perform that action at this time.
0 commit comments