Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add a new check to map artifacts to pipelines #471

Merged
merged 6 commits into from
Sep 13, 2023

Conversation

behnazh-w
Copy link
Member

@behnazh-w behnazh-w commented Sep 12, 2023

This PR adds a new check, mcn_infer_artifact_pipeline_1 to detect a potential pipeline from which an artifact is published.

When a verifiable provenance is found for an artifact, the result of this check can be discarded. Otherwise, we check whether a CI workflow run has automatically published the artifact.

We use several heuristics in this check:

  • The workflow run should have started before the artifact is published.
  • The workflow step that calls a deploy command should have run successfully.
  • The workflow step that calls a deploy command should have started before the artifact is published.

This check supports Maven artifacts built using Gradle or Maven and published on Maven Central only. Support for other registries and ecosystems will be added in the future.

Note: due to a limitation, we cannot specify the provenance checks as parents of this check because a check cannot have more than one parent in the current design. It would be good to skip this with a success result if the relevant provenance checks pass in the future.

@behnazh-w behnazh-w self-assigned this Sep 12, 2023
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 12, 2023
@behnazh-w behnazh-w changed the title Add artifact match pipeline check feat: add a new check to map artifacts to pipelines Sep 12, 2023
@behnazh-w behnazh-w force-pushed the add-artifact-match-pipeline-check branch 2 times, most recently from f6128e4 to 7cc62b6 Compare September 12, 2023 12:59
@behnazh-w behnazh-w marked this pull request as ready for review September 12, 2023 21:41
@behnazh-w behnazh-w requested a review from tromai as a code owner September 12, 2023 21:41
@behnazh-w behnazh-w force-pushed the add-artifact-match-pipeline-check branch from b36f0ff to 9d628de Compare September 13, 2023 00:06
@behnazh-w behnazh-w force-pushed the add-artifact-match-pipeline-check branch from 9d628de to 5cfd17a Compare September 13, 2023 00:40
@behnazh-w behnazh-w merged commit 13206e5 into staging Sep 13, 2023
10 checks passed
@behnazh-w behnazh-w deleted the add-artifact-match-pipeline-check branch September 21, 2023 04:06
art1f1c3R pushed a commit that referenced this pull request Nov 29, 2024
This PR adds a new check, `mcn_infer_artifact_pipeline_1` to detect a 
potential pipeline from which an artifact is published.

When a verifiable provenance is found for an artifact, the result of this 
check can be discarded. Otherwise, we check whether a CI workflow 
run has automatically published the artifact.

This check supports Maven artifacts built using Gradle or Maven and 
published on Maven Central only. Support for other registries and ecosystems will be added in the future.

Signed-off-by: behnazh-w <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants