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

update commit message for automated PRs #252

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
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
2 changes: 2 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ jobs:
uses: peter-evans/create-pull-request@v4
with:
title: "Automated PR for harmonizer release ${{github.event.inputs.version}}"
commit-message: "release: composition@v${{github.event.inputs.version}}"
branch: create-pull-request/harmonizer
router-bridge_pr:
name: Create router-bridge release
Expand Down Expand Up @@ -72,4 +73,5 @@ jobs:
uses: peter-evans/create-pull-request@v4
with:
title: "Automated PR for router-bridge release ${{github.event.inputs.version}}"
commit-message: "release: router-bridge@v${{github.event.inputs.version}}"
branch: create-pull-request/router-bridge
40 changes: 24 additions & 16 deletions federation-2/harmonizer/RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,30 @@ This is a list of the things that need to happen when publishing `harmonizer-2`

None of the `federation-rs` packages currently maintain changelogs as they are largely mirrors of upstream packages. You're off the hook!

### Start a release PR

1. Make sure you have both `npm` and `cargo` installed on your machine and in your `PATH`.
1. Run `HARMONIZER_RELEASE_VERSION=composition@v{version}` where `{version}` is the new version you're bumping to. The major version should NOT be 0, it should be 2.
1. Run `git checkout main && git stash && git pull && git checkout -b $HARMONIZER_RELEASE_VERSION`.
1. Update the version of `@apollo/composition` in `./federation-2/harmonizer/package.json`
1. Run `cargo xtask dist --debug` from the root of `federation-rs`
1. Push up a commit containing the version bumps with the message `release: $HARMONIZER_RELEASE_VERSION`
1. Wait for tests to pass on the PR
1. Merge your PR to `main`

### Build and tag release

1. Once merged, run `git checkout main && git pull`
1. Run `cargo xtask tag --package $HARMONIZER_RELEASE_VERSION --real-publish`
1. Wait for CI to build and publish `harmonizer` to crates.io and `supergraph` to `federation-rs` GitHub releases.


### ~~Start a release PR~~ This should be handled by the "Release Components" Github Action, but instructions are preserved in case it needs to be done manually.

~~1. Make sure you have both `npm` and `cargo` installed on your machine and in your `PATH`.~~
~~2. Run `HARMONIZER_RELEASE_VERSION=composition@v{version}` where `{version}` is the new version you're bumping to. The major version should NOT be 0, it should be 2.~~
~~3. Run `git checkout main && git stash && git pull && git checkout -b $HARMONIZER_RELEASE_VERSION`.~~
~~4. Update the version of `@apollo/composition` in `./federation-2/harmonizer/package.json`~~
~~5. Run `cargo xtask dist --debug` from the root of `federation-rs`~~
~~6. Push up a commit containing the version bumps with the message `release: $HARMONIZER_RELEASE_VERSION`~~
~~7. Wait for tests to pass on the PR~~
~~8. Merge your PR to `main`~~

### ~~Build and tag release~~ This should be handled by the "Publish Components" Github Action, but instructions are preserved in case it needs to be done manually.

~~1. Once merged, run `git checkout main && git pull`~~
~~2. Run `cargo xtask tag --package $HARMONIZER_RELEASE_VERSION --real-publish`~~
~~3. Wait for CI to build and publish `harmonizer` to crates.io and `supergraph` to `federation-rs` GitHub releases.~~

### Releasing
1. When `federation` is released, it should run the "Release Components" Github Action which will create a PR for the `harmonizer` and `router-bridge`. Identify the correct PR and validate that everything looks good. If for some reason the Github action needs to be run manually, it can be done so from https://github.com/apollographql/federation-rs/actions/workflows/release.yml (you will need to pass in the version you are releasing as an input).
1. If the PR build doesn't pass, you may need to make updates the code in order to get it working.
1. Once everything builds correctly, approve and merge the PR.
1. Validate that the "Publish Components" action is created and runs correctly.

### Update the latest version delivered by Rover

Expand Down
45 changes: 26 additions & 19 deletions federation-2/router-bridge/RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,32 @@ This is a list of the things that need to happen when publishing `router-bridge`

None of the `federation-rs` packages currently maintain changelogs as they are largely mirrors of upstream packages. You're off the hook!

### Start a release PR

1. Make sure you have both `npm` and `cargo` installed on your machine and in your `PATH`.
1. Run `ROUTERBRIDGE_RELEASE_VERSION=router-bridge@v{version}` where `{version}` is the new version you're bumping to.
1. Run `git checkout main && git stash && git pull && git checkout -b $ROUTERBRIDGE_RELEASE_VERSION`.
1. Update the version of `@apollo/federation-internals` and `@apollo/query-planner` in the `package.json`.
1. Then run `npm install` from the `federation-2/router-bridge` directory to let it update the `package-lock.json`.
1. Update the version of `router-bridge` in `Cargo.toml`
1. Run `cargo build -p router-bridge` from the `federation-2/` workspace
1. Push up a commit containing the version bumps with the message `release: $ROUTERBRIDGE_RELEASE_VERSION`
1. Wait for tests to pass on the PR
1. Merge your PR to `main`

### Build and tag release

1. Once merged, run `git checkout main && git pull`
1. Return to the root of the repository if you're not already there.
1. Run `cargo xtask tag --package $ROUTERBRIDGE_RELEASE_VERSION --real-publish`
1. Wait for CI to build and publish `router-bridge` to crates.io.
### ~~Start a release PR~~ This should be handled by the "Release Components" Github Action, but instructions are preserved in case it needs to be done manually.

~~1. Make sure you have both `npm` and `cargo` installed on your machine and in your `PATH`.~~
~~2. Run `ROUTERBRIDGE_RELEASE_VERSION=router-bridge@v{version}` where `{version}` is the new version you're bumping to.~~
~~3. Run `git checkout main && git stash && git pull && git checkout -b $ROUTERBRIDGE_RELEASE_VERSION`.~~
~~4. Update the version of `@apollo/federation-internals` and `@apollo/query-planner` in the `package.json`.~~
~~5. Then run `npm install` from the `federation-2/router-bridge` directory to let it update the `package-lock.json`.~~
~~6. Update the version of `router-bridge` in `Cargo.toml`~~
~~7. Run `cargo build -p router-bridge` from the `federation-2/` workspace~~
~~8. Push up a commit containing the version bumps with the message `release: $ROUTERBRIDGE_RELEASE_VERSION`~~
~~9. Wait for tests to pass on the PR~~
~~10. Merge your PR to `main`~~

### ~~Build and tag release~~ This should be handled by the "Publish Components" Github Action, but instructions are preserved in case it needs to be done manually.

~~1. Once merged, run `git checkout main && git pull`~~
~~2. Return to the root of the repository if you're not already there.~~
~~3. Run `cargo xtask tag --package $ROUTERBRIDGE_RELEASE_VERSION --real-publish`~~
~~4. Wait for CI to build and publish `router-bridge` to crates.io.~~

### Releasing
1. When `federation` is released, it should run the "Release Components" Github Action which will create a PR for the `harmonizer` and `router-bridge`. Identify the correct PR and validate that everything looks good. If for some reason the Github action needs to be run manually, it can be done so from https://github.com/apollographql/federation-rs/actions/workflows/release.yml (you will need to pass in the version you are releasing as an input).
1. If the PR build doesn't pass, you may need to make updates the code in order to get it working.
1. Once everything builds correctly, approve and merge the PR.
1. Validate that the "Publish Components" action is created and runs correctly.


## Troubleshooting a release

Expand Down