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

Add 1.4.0 release actions and update docs #937

Merged
merged 1 commit into from
Feb 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions docs/dev/release-steps-with-automations.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,16 @@ You will need to release these in the order defined here due to dependencies. Be
* https://github.com/orgs/eclipse-pass/packages/container/package/pass-journal-loader
* https://github.com/orgs/eclipse-pass/packages/container/package/pass-nihms-loader

You can instead use a [combined Java workflow](https://github.com/eclipse-pass/main/actions/workflows/pass-java-release.yml) which combines all the Java projects together and then releases them. This workflow depends on the JAVA_RELEASE_PAT secret having permission to access all the eclipse-pass repositories and write packages. You have have to create a new classic PAT to do the release. If you do so, scope it to only last a few days and make sure it has repo and write package permissions.
You can instead use a [combined Java workflow](https://github.com/eclipse-pass/main/actions/workflows/pass-java-release.yml) which combines all the Java projects together and then releases them.
This workflow depends on the JAVA_RELEASE_PAT secret having permission to access all the eclipse-pass repositories and write packages.
You have to create a new classic Personal Access Token (PAT) to do the release (GitHub/Settings/Developer Settings/Personal access tokens/Tokens (classic)).
If you do so, set the expiration to 7 days, check the `repo` and the `write:packages` scope (subscopes under `repo`
and `write:packages` will be selected too).

How to set the secret using the gh command line tool:
How to set the secret using the gh command line tool [GitHub CLI](https://cli.github.com/):
```
gh login
gh secret set JAVA_RELEASE_PAT --body PAT_VALUE --repo eclipse-pass/main
gh auth login
gh secret set JAVA_RELEASE_PAT --body <PAT_VALUE> --repo eclipse-pass/main
```

### Non-Java projects
Expand Down
60 changes: 60 additions & 0 deletions docs/release/release-actions-1.4.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Release Manager Actions Checklist Template

| | |
| --- |----------------|
| Release version | 1.4.0 |
| Next dev version | 1.5.0-SNAPSHOT |

## Release Process Overview
This is the full detailed release process, including the steps that are performed by the GitHub automation: [Release](../dev/release.md)

## Pre-release

- [x] Identify the version to be utilized for the release.
- [x] Ensure all code commits and PRs intended for the release have been merged.
- [x] Issue a code freeze statement on the Eclipse PASS slack #pass-dev channel to notify all developers that a release is imminent.

## Release Java Projects
[Release Steps with Automations](../dev/release-steps-with-automations.md)

Release Workflow Example: [Triggering a GitHub workflow](../dev/release-steps-with-automations.md#triggering-a-gitHub-workflow)

- [x] Release Main - [Main Release workflow](https://github.com/eclipse-pass/main/actions/workflows/release.yml)
- [x] Release Pass-Core - [Pass-Core Release workflow](https://github.com/eclipse-pass/pass-core/actions/workflows/release.yml)
- [x] Release Pass Support - [Pass Support Release workflow](https://github.com/eclipse-pass/pass-support/actions/workflows/release.yml)

## Release Non-Java Projects

- [x] Release Pass UI - [Pass UI workflow](https://github.com/eclipse-pass/pass-ui/actions/workflows/release.yml)
- [x] Verify Pass UI packages [Pass UI Packages](https://github.com/eclipse-pass/pass-ui/pkgs/container/pass-ui)
- [x] Pass UI Release Page - Perform after the Pass UI release is complete - [Pass UI GitHub Release Page](https://github.com/eclipse-pass/pass-ui/releases)

---

- [x] Release Pass Auth - [Pass Auth workflow](https://github.com/eclipse-pass/pass-auth/actions/workflows/release.yml)
- [x] Verify Pass Auth packages [Pass Auth Packages](https://github.com/eclipse-pass/pass-auth/pkgs/container/pass-auth)
- [x] Pass Auth Release Page - Perform after the Pass Auth release is complete - [Pass Auth GitHub Release Page](https://github.com/eclipse-pass/pass-auth/releases)

---

- [x] Release Pass Acceptance Testing - [Pass Acceptance Testing workflow](https://github.com/eclipse-pass/pass-acceptance-testing/actions/workflows/release.yml)
- [x] Verify Pass Acceptance Testing Tag [Pass Acceptance Testing Tag](https://github.com/eclipse-pass/pass-acceptance-testing/tags)
- [x] Pass Acceptance Testing Release Page - Perform after the Pass Acceptance Testing release is complete - [Pass Acceptance Testing GitHub Release Page](https://github.com/eclipse-pass/pass-acceptance-testing/releases)

## Release Other Projects
Note: This must be released last because it relies on some Docker images that will be published during the release process.

- [x] Release Pass Docker - Select checkbox for acceptance tests - [Release workflow](https://github.com/eclipse-pass/pass-docker/actions/workflows/release.yml)
- [x] Verify Pass Docker Tag [Pass Docker Tag](https://github.com/eclipse-pass/pass-docker/tags)
- [x] Pass Docker Release Page - Perform after the Pass Docker release is complete - [Pass Docker GitHub Release Page](https://github.com/eclipse-pass/pass-docker/releases)

## Post-release

- [x] Test the release by using the newly updated pass-docker to run the release locally.
- [x] Check that correct tickets are in the release milestone. [Github Ticket Update](../dev/release.md#update-release-notes)
- [x] Write release notes in the [Release Notes doc](../release-notes.md), submit a PR for the changes, and ensure the PR is merged. Release Notes should be written to be understandable by community members who are not technical.
- [x] Draft release message and have technical & community lead provide feedback. Ensure that a link to the release notes is included in the release message.
- [x] Post a message about the release to the PASS Google Group. [Notes about the PASS Google Group](../dev/release.md#process)
- [x] Update template if any steps were missed or if any new tasks were added. Also make note of these new steps in the release-actions-X.X.X.md file.
- [x] Update [Pass Demo](https://demo.eclipse-pass.org) to new release - [Publish to SNS Topic action](https://github.com/eclipse-pass/main/actions/workflows/deployToAWS.yml) using `Environment: demo`
- [x] Send message to Eclipse PASS slack #pass-dev channel that the release is complete.
3 changes: 2 additions & 1 deletion docs/release/release-actions-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,14 @@ Release Workflow Example: [Triggering a GitHub workflow](../dev/release-steps-wi
Note: This must be released last because it relies on some Docker images that will be published during the release process.

- [ ] Release Pass Docker - Select checkbox for acceptance tests - [Release workflow](https://github.com/eclipse-pass/pass-docker/actions/workflows/release.yml)
- [ ] Verify Pass Docker Tag [Pass Docker Tag](https://github.com/eclipse-pass/pass-docker/tags)
- [ ] Pass Docker Release Page - Perform after the Pass Docker release is complete - [Pass Docker GitHub Release Page](https://github.com/eclipse-pass/pass-docker/releases)

## Post-release

- [ ] Test the release by using the newly updated pass-docker to run the release locally.
- [ ] Check that correct tickets are in the release milestone. [Github Ticket Update](../dev/release.md#update-release-notes)
- [ ] Write release notes in the [Release Notes doc](../release-notes.md), update the [Roadmap](../roadmap.md), submit a PR for the changes, and ensure the PR is merged. Release Notes should be written to be understandable by community members who are not technical.
- [ ] Write release notes in the [Release Notes doc](../release-notes.md), submit a PR for the changes, and ensure the PR is merged. Release Notes should be written to be understandable by community members who are not technical.
- [ ] Draft release message and have technical & community lead provide feedback. Ensure that a link to the release notes is included in the release message.
- [ ] Post a message about the release to the PASS Google Group. [Notes about the PASS Google Group](../dev/release.md#process)
- [ ] Update template if any steps were missed or if any new tasks were added. Also make note of these new steps in the release-actions-X.X.X.md file.
Expand Down
Loading