-
Notifications
You must be signed in to change notification settings - Fork 107
feat: migrate maven repository and enable snapshots #2032
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
Conversation
📝 Acceptance Test Report📋 Summary✅ The rule acceptance has passed for commit c523953 📊 Notices ComparisonNew Errors (1 out of 1909 datasets, ~0%) ✅Details of new errors due to code change, which is less than the provided threshold of 1%.
Dropped Errors (0 out of 1909 datasets, ~0%) ✅No changes were detected due to the code change. New Warnings (0 out of 1909 datasets, ~0%) ✅No changes were detected due to the code change. Dropped Warnings (0 out of 1909 datasets, ~0%) ✅No changes were detected due to the code change. 🛡️ Corruption Check38 out of 1947 sources (~2 %) are corrupted.
⏱️ Performance Assessment📈 Validation TimeAssess the performance in terms of seconds taken for the validation process.
📜 Memory Consumption
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request migrates the GTFS Validator publishing process from OSSRH to the new Maven Central Portal, adds snapshot publication on merges to main, and updates related documentation and image paths.
- Switch upload scripts and workflows to use Maven Central Portal API and dedicated Gradle tasks
- Introduce a GitHub Actions workflow to publish snapshot versions on main
- Update documentation and asset paths to reflect new publishing steps and directory structure
Reviewed Changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.
Show a summary per file
File | Description |
---|---|
scripts/publish_to_maven_central.sh | New Bash script to package and upload artifacts via Maven Central API |
docs/RELEASE.md | Renumber release steps, update links/descriptions for Maven Central |
docs/CONTRIBUTING.md, BRANCHING.md, ACCEPTANCE_TESTS.md, README.md | Fix image paths to /docs/images/... |
.github/workflows/publish_snapshots.yml | Add workflow to build and publish snapshot JARs on main |
.github/workflows/publish_assets.yml | Upgrade checkout action, switch to publishToMavenCentral task |
📝 Acceptance Test Report📋 Summary✅ The rule acceptance has passed for commit ddd3764 📊 Notices ComparisonNew Errors (0 out of 1909 datasets, ~0%) ✅No changes were detected due to the code change. Dropped Errors (0 out of 1909 datasets, ~0%) ✅No changes were detected due to the code change. New Warnings (0 out of 1909 datasets, ~0%) ✅No changes were detected due to the code change. Dropped Warnings (0 out of 1909 datasets, ~0%) ✅No changes were detected due to the code change. 🛡️ Corruption Check38 out of 1947 sources (~2 %) are corrupted.
⏱️ Performance Assessment📈 Validation TimeAssess the performance in terms of seconds taken for the validation process.
📜 Memory Consumption
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Summary
Closes https://github.com/MobilityData/product-tasks/issues/146 and #2013
Modified the gradle configuration to publish via Maven Central Portal instead of OSSRH (s01.oss.sonatype.org), since the latter will soon be deprecated.
Also added the publication of snapshots. This is triggered when a PR is merged in main if certain files/directories change, currently:
Expected behavior
Snapshot part
For the snapshot part, each time a PR is merged with changes in the abovementioned files, the Publish Jars Snapshots github action is run.
After that, you should be able to navigate to the snapshots from this page
The snaphot version will be built like this:
7.1.0
.7.1.1-SNAPSHOT
Each new snapshot uploaded will have as a suffix the date and UTC time it was uploaded and a digit.
Example: https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/mobilitydata/gtfs-validator/gtfs-validator-core/7.1.1-SNAPSHOT/7.1.1-20250528.204959-4/
So you can test by making sure of the presence of the snapshot that was just uploaded.
Release part
This is started by a release trigger in the Upload Release Assets Github action.
See the doc here
Testing
Testing was done by executing the GH actions.
When the actions are run, the version provided by the axion plugin would be a SNAPSHOT (e.g. 7.1.1-SNAPSHOT) since the current commit does not have a release tag.
To test the release, I forced the version in build.gradle i.e. replace
version scmVersion.version
byversion '1.2'
, then execute the GH actions.Please make sure these boxes are checked before submitting your pull request - thanks!
gradle test
to make sure you didn't break anything