MetaMask / MetaMask/metamask-mobile

Add a semver pre-release identifier to all build except for prod

Open
#21,446 2 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?

All builds that are not prod should have a pre-release identifier to easily identify test/internal builds and production.

This requires appending the environment and build number to the semver during the build process.

This should be done for both android and iOS and example of what this would look like is:
Android:
```
- 7.56.0-rc01
- 7.56.0-beta01
- 7.56.0-test01
- 7.56.0-e2e01
- 7.56.0-exp01
```
iOS:
```
- 7.56.0-rc.1
- 7.56.0-beta.1
- 7.56.0-test.1
- 7.56.0-e2e.1
- 7.56.0-exp.1
```

### Scenario

_No response_

### Design

_No response_

### Technical Details

Here is documentation on the how to for each platform:
- [iOS](https://developer.apple.com/documentation/packagedescription/version/prereleaseidentifiers)
- [Android](https://developer.android.com/jetpack/androidx/versions#:~:text=Jetpack%20libraries%20ship%20separately%20from,disrupt%20the%20workflow%20of%20developers.&text=Alpha%20releases%20are%20functionally%20stable,added%2C%20removed%2C%20or%20changed.)

### Threat Modeling Framework

_No response_

### Acceptance Criteria

_No response_

### Stakeholder review needed before the work gets merged

- [ ] 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

No repository files, tests, or entry points are named. Start by locating the Android and iOS build/version configuration, then trace how environment and build numbers are supplied; done means non-production builds use the platform-specific prerelease formats while production remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, ios, react-native, typescript
Domain
build-system, mobile-dev, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.