When certain notifiers are updated, downstream notifiers need to be updated in a variety of ways in order to test the latest releases. This PR adds a Github actions workflow and Rake task in order to:
Generate a pull request updating the upstream submodule whenever it's released, targeting the next branch
Run the full set of tests on the new branch derived from next, with the submodule updated
Design
The workflow, as it is currently implemented, uses the repository_dispatch trigger to activate. Upstream, in the bugsnag-android or bugsnag-cocoa repositories another workflow will be established to trigger this repo their release, triggering this workflow. The workflow will then set up the environment with the relevant ruby versions and github permissions, then trigger the Rake task dependencies:update.
The Rake task leans on bugsnag/platforms-bumpsnag to perform certain tasks including:
Finding and updating the submodule itself
Parsing the existing changelog and adding a new entry showing the submodule update
Creating an appropriately named branch and committing the changes with an appropriate message
Pushing the branch
The workflow will then create a PR with the created branch targeting the next branch. A relevant maintainer will be applied as a reviewer.
Changeset
This PR is mostly additive, with minor changes made in the Gemfile to install bumpsnag in the Github actions test environment.
Testing
We've been manually testing the workflow changes using a push trigger in the new workflow. This has produced a number of PRs simulating what the output would be, the latest of which can be found here. Further testing will need to happen once this PR is merged, and a manual trigger option will be applied to facilitate that.
Note - the current changelog generated by bumpsnag contains too many line breaks, and will be corrected with a change made there.
Goal
When certain notifiers are updated, downstream notifiers need to be updated in a variety of ways in order to test the latest releases. This PR adds a Github actions workflow and Rake task in order to:
next
branchnext
, with the submodule updatedDesign
The workflow, as it is currently implemented, uses the
repository_dispatch
trigger to activate. Upstream, in thebugsnag-android
orbugsnag-cocoa
repositories another workflow will be established to trigger this repo their release, triggering this workflow. The workflow will then set up the environment with the relevant ruby versions and github permissions, then trigger the Rake taskdependencies:update
.The Rake task leans on
bugsnag/platforms-bumpsnag
to perform certain tasks including:The workflow will then create a PR with the created branch targeting the
next
branch. A relevant maintainer will be applied as a reviewer.Changeset
This PR is mostly additive, with minor changes made in the Gemfile to install
bumpsnag
in the Github actions test environment.Testing
We've been manually testing the workflow changes using a
push
trigger in the new workflow. This has produced a number of PRs simulating what the output would be, the latest of which can be found here. Further testing will need to happen once this PR is merged, and amanual
trigger option will be applied to facilitate that.Note - the current changelog generated by bumpsnag contains too many line breaks, and will be corrected with a change made there.