This adds a new command gbm release integrate which can create WPAndroid and WPiOS release PRs given an existing GBM release PR
It also adds the command gbm release status which lists the PR info regarding release PRs.
Overview
The general flow to create an integration pr is in internal/integration/integration.go. This package can handle any type of integration
pkg/release/integration.go sets everything up for releases.
Testing
There is a decent amount of unit testing on some of the heavy business logic.
To perform an e2e tests, set the env variable, GBM_WPMOBILE_ORG to a github account that has forks of Gutenberg Mobile, WPAndroid and WPiOS. example
export GBM_WPMOBILE_ORG=jhnstn
Now any requests the script will make will go to those github repos
running
go run main.go release integrate -h
Will output the command usage info
Try the same with release status -h
Then manually create a release pr on the forked Gutenberg Mobile repo example https://github.com/jhnstn/gutenberg-mobile/pull/3. The script pulls the version from the PR title so make sure the title contains a valid semantic version. 0.0.0 is a good option since that release does not exit on the main Gutenberg Mobile repo
Assuming the test PR uses the version 0.0.0 try
go run main.go release integrate 0.0.0 --verbose
This will generate both integration release PRs and log some step info
Then run
go run main.go release status 0.0.0
That should list 4 prs. The Gutenberg PR should show N/A values.
Visit both integration PRs and confirm the correct changes to the Gutenberg Mobile config and that the PR info matches our current release PRs.
Description
This adds a new command
gbm release integrate
which can create WPAndroid and WPiOS release PRs given an existing GBM release PRIt also adds the command
gbm release status
which lists the PR info regarding release PRs.Overview
The general flow to create an integration pr is in
internal/integration/integration.go
. This package can handle any type of integrationpkg/release/integration.go
sets everything up for releases.Testing
There is a decent amount of unit testing on some of the heavy business logic.
To perform an e2e tests, set the env variable,
GBM_WPMOBILE_ORG
to a github account that has forks of Gutenberg Mobile, WPAndroid and WPiOS. exampleNow any requests the script will make will go to those github repos
running
Will output the command usage info
Try the same with
release status -h
Then manually create a release pr on the forked Gutenberg Mobile repo example https://github.com/jhnstn/gutenberg-mobile/pull/3. The script pulls the version from the PR title so make sure the title contains a valid semantic version.
0.0.0
is a good option since that release does not exit on the main Gutenberg Mobile repoAssuming the test PR uses the version 0.0.0 try
This will generate both integration release PRs and log some step info
Then run
That should list 4 prs. The Gutenberg PR should show
N/A
values.Visit both integration PRs and confirm the correct changes to the Gutenberg Mobile config and that the PR info matches our current release PRs.