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

GitHub Action CI/CD Enhancements #1554

Open
10 tasks
WadeBarnes opened this issue Jul 27, 2021 · 0 comments
Open
10 tasks

GitHub Action CI/CD Enhancements #1554

WadeBarnes opened this issue Jul 27, 2021 · 0 comments
Assignees
Labels
enhancement help wanted Ubuntu 20.04 Ubuntu 20.04 related activity.

Comments

@WadeBarnes
Copy link
Member

WadeBarnes commented Jul 27, 2021

The following is a list of what the existing Jenkins Pipelines do that the GitHub Actions Workflows don't (yet).

We'll be focusing on the features and functionality of the Jenkinsfile.cd Pipeline, since the GitHub Actions Workflows have incorporated all of the features and functionality of the Jenkinsfile.ci Pipeline.

The flow of the pipeline is setup in Jenkinsfile.cd but the execution is controlled by the testAndPublish script in the privatesovrin-foundation/jenkins-shared repository therefore anyone working on these enhancements will need to be granted read-only access to that repository in order to follow the code. The scripts automate the release process described here; Indy-Node Release Workflow. The same scripts are used for both indy-node and indy-plenum.

  • Configure auto-merge on PRs containing changes to setup.py and no other files.
  • Update the release version on release candidate (isRC) PRs.
  • Conditionally build (for release candidates) or repack (for releases) artifacts.
  • Promote/copy artifacts (deb packages) to different locations in the repository.
  • Optionally run system tests (this feature is used for indy-node, but not indy-plenum).
  • Create a release PR for (off) RC PRs.
  • Notify a mailing list that a new RC release is waiting for approval, and then wait for the release to be approved.
  • Merge approved release candidate PRs into the release branch.
  • Notify a mailing list that a new release is available.
  • Rollback release commits on PRs when the release is not approved.

When developing the enhancements a separate issue should be created to track the work and be linked back to this issue. Feature enhancements should be limited to the smallest set of related features in order to limit the scope of the work.

@WadeBarnes WadeBarnes added enhancement help wanted Ubuntu 20.04 Ubuntu 20.04 related activity. labels Jul 27, 2021
@WadeBarnes WadeBarnes self-assigned this Jun 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement help wanted Ubuntu 20.04 Ubuntu 20.04 related activity.
Projects
None yet
Development

No branches or pull requests

1 participant