mapbox / mapbox/github-release-tools
Monorepo-style tags break latest release detection
- Dominant language
- JavaScript
- Stars
- 16
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
The mapbox-gl-native repository uses [a non-semver-compliant tag naming scheme](https://github.com/mapbox/mapbox-gl-native/wiki/Versions-and-tagging) that prepends a platform identifier to an otherwise semver-compliant version number, since the various libraries developed in that monorepo are versioned independently. This tool relies on the `latest-semver` package, which is unable to understand these version numbers on its own:
https://github.com/mapbox/github-release-tools/blob/8d88e10b6fedf3f34f8d3929287148088e65709c/src/get-latest-release.js#L13
Fortunately, I think we can make the tool compatible with mapbox-gl-native by filtering tags by platform and stripping off the platform identifiers before calling `latestSemver()`. The tool would need a new command line option to specify a platform.
/cc @anandthakker
Contributor guide
Research direction
Start with src/get-latest-release.js and the latest-semver call linked in the issue. Trace how command-line options are parsed, then determine where platform filtering and prefix removal belong. Done means a platform option lets the tool identify the latest release from mapbox-gl-native-style tags without breaking existing tag handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- cli, release
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100