Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: add semantic release #526

Merged
merged 23 commits into from
Dec 2, 2024
Merged

Conversation

KiwiKilian
Copy link
Collaborator

@KiwiKilian KiwiKilian commented Dec 2, 2024

  • I tried to setup with changesets first, but this would only notice our monorepo and ignore the main package 😕

  • Went with semantic-release, where I do have quite some experience with already

    • Most importantly is for all maintainers to understand how the release types are triggered by the commit message
  • I would recommend we switch to beta now

    • Requires us to merge into branch beta
    • I just re-recreated beta from main
    • From beta branch there will always only be beta releases
    • Once we want a major latest v10, we merge beta into main
  • Previous versioning needs some fixes

    • I’v created a job to:
    • Re-tag 9.1.0 as latest
    • Tag 10.0.0-alpha.29 as alpha
    • Currently commented out
    • Will be removed after it’s first and single run
  • For testing I already created branch beta and used --dry-run

  • I’ve also added package provenance (need to use npm command for this currently)

  • I would also like to fix-up the version Tags on git manually, so they all follow the proper tagFormat: v${version}

    • Already did so fort the latest and alpha release, to make semantic-release work

So the following questions:

  • Are you fine with me fixing the NPM tags? Then I will comment in those jobs and remove in a follow-up after it has run on beta (and worked)
  • Would you like to first merge with --dry-run or should I remove it? (as I’ve previously tested on beta, it should work 😄)
  • Should we switch the default branch to beta until we do a proper v10 release?
  • Are you fine with me fixing the git tags? (will make sure, releases aren't broken, works already on alpha 29)

@tyrauber
Copy link
Collaborator

tyrauber commented Dec 2, 2024

Code looks good to me.

My biggest concern is accidentally breaking deployment for people with locked versions. I know people are using versions of 10.0.0-alpha in production.

  • Therefore, I am hesitant messing with npm tags for existing releases.
  • Fine updating the git tags as long as it is a gjt / github thing, but perhaps the safest change is to change the format moving forward
  • I don't think we need to rename the default branch, as long as merging doesn't preemptively tag 10.0.0.
  • We can merge and run dry-run if that is the safest transition.

@KiwiKilian
Copy link
Collaborator Author

KiwiKilian commented Dec 2, 2024

I think I would prefer the tag format with v prefix. Changing this shouldn't mess with NPMJS releases, it only concerns git and GitHub.

Alright, so anyone who is currently using the latest channel (which are actually alpha releases) might need to manually switch to beta releases. It's fine and will be handled properly by semantic-release in the future.

We can keep main as the default, it's only temporarily a bit messy as it will show the last alpha release code per default until we have the prod v10 release.

But for pre-releases it's a must now and in the future to be happening on alpha or beta branches. So PRs should be setup towards beta, then we will get a pre-release. Once the code is ready for a latest tagged release, the beta branch can be merged into the main branch.

@KiwiKilian
Copy link
Collaborator Author

I've removed the tags fixing. Would prefer to merge it as is with--dry-run. If that logs looks good, remove the --dry-run in a follow up and lets see, what happens.

@KiwiKilian KiwiKilian marked this pull request as ready for review December 2, 2024 09:33
@KiwiKilian
Copy link
Collaborator Author

As discussed on a call we go forward with the new format and review with --dry-run.

@KiwiKilian KiwiKilian merged commit 069b6c5 into maplibre:beta Dec 2, 2024
7 checks passed
@KiwiKilian KiwiKilian deleted the ci/semantic-release branch December 2, 2024 09:58
github-actions bot pushed a commit that referenced this pull request Dec 2, 2024
# [10.0.0-beta.1](v9.1.0...v10.0.0-beta.1) (2024-12-02)

### Bug Fixes

* add @babel/plugin-transform-private-methods for jest ([3a2188f](3a2188f))
* add generic expo config plugin to remove duplicate signature ([#453](#453)) ([2671381](2671381))
* allow MapView and Images to have no children ([#521](#521)) ([1e35bf6](1e35bf6))
* allow resetting contentInset with 0 ([#468](#468)) ([1fe42c6](1fe42c6))
* android example crashing on launch ([#372](#372)) ([aeef5c3](aeef5c3))
* cleanup yarn setup ([#463](#463)) ([d9a4d30](d9a4d30))
* corepack enable  on publish workflow ([2d13f33](2d13f33))
* correct types in MapView ([#268](#268)) ([0ea35c4](0ea35c4))
* disable code signing for release builds ([b3cf088](b3cf088))
* disable library code signing ([22030dd](22030dd))
* empty pbxproj and dwarf-with-dsym plugin config for EAS ([#458](#458)) ([0d54b46](0d54b46))
* expo-app should load library from workspace:. ([016b44a](016b44a))
* group dependabot commits by core, dev and example ([#165](#165)) ([b697978](b697978))
* keep [@ts-ignore](https://github.com/ts-ignore) for headingIcon in library [#476](#476) ([#477](#477)) ([ef62454](ef62454))
* make MarkerView props with defaults optional ([#460](#460)) ([185cf3e](185cf3e))
* plugin for debug simulator ([#164](#164)) ([06b23d4](06b23d4))
* remove AbortController test mock ([#403](#403)) ([698b558](698b558))
* round compass margins and attribution position to nearest integers [android] ([#294](#294)) ([c89c842](c89c842))
* setMaxAnimationFps on null ([#440](#440)) ([2884256](2884256))
* style expressions ([#466](#466)) ([2202908](2202908))
* updated Mapbox callstack check for iOS custom headers to check for MapLibre instead ([#461](#461)) ([a6d6216](a6d6216))
* use UIManager exported from react-native ([#511](#511)) ([a4030b5](a4030b5))
* yarn implementation ([#419](#419)) ([39233b1](39233b1))

### Continuous Integration

* add semantic release ([#526](#526)) ([069b6c5](069b6c5))

### Features

* align react and react-native versions for development ([b92abfe](b92abfe))
* configure packages/examples ([c4510c3](c4510c3))
* extract android UserLocation FPS ([#428](#428)) ([8c0abaa](8c0abaa))
* make Camera pure ([#471](#471)) ([23ecf88](23ecf88))
* MapLibre Android SDK 11.5.0 ([#455](#455)) ([042b759](042b759))
* monorepo configuration ([343e7ac](343e7ac))
* mv example packages/react-native-app ([5c9d3d0](5c9d3d0))
* mv examples, styles, assets, utils and scenes to packages/examples ([13600fe](13600fe))
* packages/expo-app ([c01abd5](c01abd5))
* setup build step ([#504](#504)) ([a017d64](a017d64))
* shared dependencies through packages/examples ([01a9586](01a9586))
* support new arch through interop layer ([#483](#483)) ([951e9cf](951e9cf))
* update maplibre native version ([#61](#61)) ([25c418a](25c418a))
* upgrade [@Turf](https://github.com/turf) to v7 and remove geo utils ([#478](#478)) ([a45fc55](a45fc55))

### BREAKING CHANGES

* Upgrade native packages and migrate components

* ci: move native builds to review

* ci: run release immediate for debugging

* ci: use android working directory for build

* docs: remove RELEASE.md

* chore: remove manual changelog task

* ci: enable release on beta branch

* ci: keep default tagFormat

* ci: setup npm tag fixes

* ci: run review on mr to beta

* ci: run fix tags on beta

* ci: fix name

* ci: clarify workflow_call

* ci: disable debugging

* ci: run fix tags in pr

* ci: setup fix tags to run on beta

* docs: prepare changelog for semantic-release

* ci: remove fix npm tags workflow
Copy link

github-actions bot commented Dec 2, 2024

🎉 This PR is included in version 10.0.0-beta.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants