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

RE 2877 Jira<->Changeset traceability for solidity changes #14141

Merged

Conversation

HenryNguyen5
Copy link
Collaborator

@HenryNguyen5 HenryNguyen5 commented Aug 17, 2024

This PR adds traceability to our solidity changes, such that when we generate artifacts for review, we have a full trail of jira issues that were used to generate these code changes.

Note: Since these are tightly bound to changesets, I've moved the changeset GHA code from changeset.yml to solidity-traceability.yml to colocate them

e2e Test Cases

Enforcement Stage (This is when we ensure the right metadata is being added for traceability during artifact generation)

  • A changeset must exist when opening a PR with solidity changes
  • If the changeset does not contain the jira issue number extracted from a commit / branch / PR title, then the job should append one in for the user and push it back to their PR branch for them
  • There can be at most one changeset per PR that contains solidity changes, otherwise we don't know which changeset to append the jira issue number to

Traceability Stage (This is when we consume the metadata from the previous stage to create links / backlinks for traceability of our solidity changes between two refs)

  • When a workflow_dispatch event is sent to the artifact generation workflow, there should be a list of affected changesets
  • All issue numbers should be extracted from the affected changesets
  • A URL should be set as an output from the action, which is then used to post to the step summary of the artifact generation job. This URL links out to all affected issues. NOTE: We should just link to the label instead.
  • All affected issues should have an artifact URL posted as a comment to them, if the artifact URL does not exist already. This should be job re-run tolerant.
  • All affected issues should have a label that links them all together, the label should be relevant to the artifact generation parameters, this should be job re-run tolerant.

@HenryNguyen5 HenryNguyen5 requested review from a team as code owners August 17, 2024 00:15
@HenryNguyen5 HenryNguyen5 changed the title RE 2877 update jira with solidity artifact label link RE 2877 Jira traceability for solidity changes Aug 17, 2024
@HenryNguyen5 HenryNguyen5 changed the title RE 2877 Jira traceability for solidity changes RE 2877 Jira<->Changeset traceability for solidity changes Aug 17, 2024
@HenryNguyen5 HenryNguyen5 marked this pull request as draft August 17, 2024 00:24
@Tofel
Copy link
Contributor

Tofel commented Aug 19, 2024

@HenryNguyen5 artifact generation pipeline is available in develop: https://github.com/smartcontractkit/chainlink/actions/workflows/solidity-foundry-artifacts.yml

Also... we will have changesets that do not have any JIRA issues :/ So this step should be fault-tolerant for now.

@HenryNguyen5 HenryNguyen5 force-pushed the RE-2877-update-jira-with-solidity-artifact-label-link branch 6 times, most recently from d987cce to 26735ab Compare August 23, 2024 03:35
@HenryNguyen5 HenryNguyen5 marked this pull request as ready for review August 23, 2024 03:37
Tofel
Tofel previously approved these changes Aug 23, 2024
@HenryNguyen5 HenryNguyen5 requested a review from a team as a code owner August 25, 2024 01:38
@HenryNguyen5 HenryNguyen5 force-pushed the RE-2877-update-jira-with-solidity-artifact-label-link branch 3 times, most recently from b4598ae to 054ff7a Compare August 25, 2024 02:55
momentmaker
momentmaker previously approved these changes Aug 26, 2024
@cl-sonarqube-production
Copy link

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

@HenryNguyen5 HenryNguyen5 added this pull request to the merge queue Aug 27, 2024
Merged via the queue into develop with commit ca7b958 Aug 27, 2024
90 of 93 checks passed
@HenryNguyen5 HenryNguyen5 deleted the RE-2877-update-jira-with-solidity-artifact-label-link branch August 27, 2024 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants