MetaMask / MetaMask/metamask-mobile

Guarantee no duplicate build numbers in CI/CD system

Open
#21,445 0 comments 0 reactions 0 assignees View on GitHub
team-dev-ops
Dominant language
TypeScript
Stars
3k
Forks
1.7k
Avg merge
1d 14h
Merged PRs (30d)
669

Description

### What is this about?

The Bitrise system leverages [GH action](https://github.com/MetaMask/metamask-mobile/actions/workflows/update-latest-build-version.yml) which bumps the build number for a specified branch. It does not currently have any controls to stop race case scenarios where 2 builds can have the same build number. This ticket is to guarantee that the build number source can be accessed in 2 separate builds.

Thoughts on tactics:
- [ ] Block Duplicate Version Builds Via CI Logic
- [ ] Create a CI step to validate that the version being used hasn't already been built and uploaded
- [ ] Query the app stores for currently uploaded values

### Scenario

_No response_

### Design

_No response_

### Technical Details

- Action link: https://github.com/MetaMask/metamask-mobile/actions/workflows/update-latest-build-version.yml

### Threat Modeling Framework

_No response_

### Acceptance Criteria

_No response_

### Stakeholder review needed before the work gets merged

- [x] Engineering (needed in most cases)
- [ ] Design
- [ ] Product
- [ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)

### References

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with the linked update-latest-build-version.yml GitHub Actions workflow and trace how Bitrise consumes its build number. Clarify the concurrency and store-validation approach with maintainers; done should mean concurrent builds cannot receive or upload duplicate build numbers, with acceptance criteria and tests documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
build-system, ci-cd, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.