Release MapLibre iOS
We make iOS releases to GitHub (a downloadable XCFramework), the Swift Package Index and CocoaPods. Everyone with write access to the repository is able to make releases using the instructions below.
Also see the current release policy.
Making a release
-
Prepare a PR, see this PR as an example.
- Update the changelog. The changelog should contain links to all relevant PRs for iOS since the last release. You can use the script below with a GitHub access token with the
public_repo
scope. You will need to filter out PRs that do not relate to iOS.
The heading in the changelog must matchGITHUB_ACCESS_TOKEN=... node scripts/generate-changelog.mjs ios
## <VERSION>
exactly, or it will not be picked up. For example, for version 6.0.0:## 6.0.0
- Update the
VERSION
file inplatform/ios/VERSION
with the version to be released. We use semantic versioning, so any breaking changes require a major version bump. Use a minor version bump when functionality has been added in a backward compatible manner, and a patch version bump when the release contains only backward compatible bug fixes.
- Update the changelog. The changelog should contain links to all relevant PRs for iOS since the last release. You can use the script below with a GitHub access token with the
-
Once the PR is merged the
ios-ci.yml
workflow will detect that theVERSION
file is changed, and a release will be made automatically.
Pre-release
Run the ios-ci
workflow. You can use the GitHub CLI:
gh workflow run ios-ci.yml -f release=pre --ref main
Or run the workflow from the Actions tab on GitHub.
The items under the ## main
heading in platform/ios/CHANGELOG.md
will be used as changelog for the pre-release.