Skip to content

improv: add workflow triggers for tags on release and QA#5902

Merged
NicolasMassart merged 3 commits intomainfrom
443_trigger_build_on_tag
Mar 15, 2023
Merged

improv: add workflow triggers for tags on release and QA#5902
NicolasMassart merged 3 commits intomainfrom
443_trigger_build_on_tag

Conversation

@NicolasMassart
Copy link
Copy Markdown
Contributor

@NicolasMassart NicolasMassart commented Mar 6, 2023

Development & PR Process

  1. Follow MetaMask Mobile Coding Standards
  2. Add release-xx label to identify the PR slated for a upcoming release (will be used in release discussion)
  3. Add needs-dev-review label when work is completed
  4. Add needs-qa label when dev review is completed
  5. Add QA Passed label when QA has signed off

Description

Add workflow triggers for tags on release and QA and update build notifications to also run on success

1. What is the reason for the change?
We have to trigger manually right now and notifications are not optimal.
However, if it triggers automatically (people may not be aware of the Bitrise trigger when creating a tag), it's important to have notification for both success and failure to raise awareness on the workflow run.

2. What is the improvement/solution?

  • Add triggers on tags
  • Modify notifications to send Slack messages on failure on individual platflorm builds and on success of global build workflow

Slack notification utils are now success or failure instead of build or e2e. The messages have been changed to adapt to both.
It simplifies the bitrise file.
Now we have two workflows to allow choosing when to notify: on success, on failure or both, no mater what workflow it is about.

A workflow for instance create_qa_builds will notify on failure for each build_android_qa or build_ios_qa
but will only notify success if both success and create_qa_builds eventually succeeds.

The goal is to only provide relevant notifications and prevent notification flood that leads to ignored notifications.

Example notifications process

Running create_qa_builds runs build_android_qa and build_ios_qa in parallele.

  • build_android_qa ✅ and build_ios_qa 🛑 -> only build_ios_qa failure notification sent
  • build_android_qa 🛑 and build_ios_qa ✅ -> only build_android_qa failure notification sent
  • build_android_qa ✅ and build_ios_qa ✅ -> only create_qa_builds success notification sent

Issue

fixes MetaMask/mobile-planning#443

Checklist

  • There is a related GitHub issue
  • Tests are included if applicable
  • Any added code is fully documented

Update build notifications to also run on success
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 6, 2023

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@NicolasMassart NicolasMassart marked this pull request as ready for review March 9, 2023 14:25
@NicolasMassart NicolasMassart requested a review from a team as a code owner March 9, 2023 14:25
@NicolasMassart NicolasMassart added the needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) label Mar 9, 2023
@NicolasMassart NicolasMassart changed the title improv: #443 add workflow triggers for tags on release and QA improv: add workflow triggers for tags on release and QA Mar 10, 2023
Copy link
Copy Markdown
Contributor

@sethkfman sethkfman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sethkfman sethkfman added needs-qa Any New Features that needs a full manual QA prior to being added to a release. and removed needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) labels Mar 15, 2023
@NicolasMassart NicolasMassart merged commit 9f5d4ae into main Mar 15, 2023
@NicolasMassart NicolasMassart deleted the 443_trigger_build_on_tag branch March 15, 2023 16:15
@github-actions github-actions bot locked and limited conversation to collaborators Mar 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

needs-qa Any New Features that needs a full manual QA prior to being added to a release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants