Repository navigation
Conversation
- build.yml: mvn install on JDK 8, 17 and 21 for pushes to master and PRs. - release.yml: on a v* tag (as created by update-version.sh), check the tag matches the project version and deploy to GitHub Packages via -DaltDeploymentRepository. distributionManagement is left as is for a later Maven Central setup. - Build against the released Codename One 7.0.273 instead of 8.0-SNAPSHOT, which only exists in a local Codename One build, and add repo.codenameone.com where Codename One releases are published, so a clean runner can resolve it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U1nqukudLDu9Qix74WZruV
The Codename One test runner in tests/javase starts the JavaSE port, which needs a display; with java.awt.headless it fails before any test runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U1nqukudLDu9Qix74WZruV
…format - annotations targeted Java 1.7, which JDK 21's javac no longer supports; every other module already targets 8. - Use the id::layout::url form of -DaltDeploymentRepository: annotations and the processor pin maven-deploy-plugin 2.8.2, which only accepts that form (3.x accepts it too). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U1nqukudLDu9Qix74WZruV
tests/pom.xml pinned codenameone-maven-plugin 7.0.22, whose compliance-check needs ~/.codenameone/CodeNameOneBuildClient.jar to already exist, so it failed on a fresh CI runner. Inheriting 7.0.273 from the parent removes that requirement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U1nqukudLDu9Qix74WZruV
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CodeRAD had no CI, and releases were deployed by hand to the legacy Sonatype OSSRH endpoint. This adds CI, and a tag-driven release to GitHub Packages. Maven Central publishing is left for later.
Workflows
.github/workflows/build.yml: runsxvfb-run -a mvn -B installon JDK 8, 17 and 21 for pushes tomaster, for PRs, and on manual dispatch. The JDK 21 leg would have caught the annotation-processor NPE fixed in Fix annotation processing on JDK 21 and stray Processor service file #29.xvfb-runis needed because the Codename One test runner intests/javasestarts the JavaSE port, which needs a display..github/workflows/release.yml: runs onv*tags, whichupdate-version.shalready creates. It fails if the tag doesn't match the project version. Otherwise it runsmvn deployto GitHub Packages with-DaltDeploymentRepositoryand the built-inGITHUB_TOKEN, so no secrets are needed.Release steps:
Build changes needed for a clean runner
pom.xml: builds against the released Codename One7.0.273instead of8.0-SNAPSHOT, which only existed in a local Codename One build. It also addshttps://repo.codenameone.com/maven2(repository and plugin repository, releases only), because Codename One releases are published there rather than to Maven Central.tests/pom.xml: no longer pins Codename One7.0.22. It now inherits the parent's version. The 7.0.22 plugin'scompliance-checkneeds~/.codenameone/CodeNameOneBuildClient.jarto already exist, so it failed on a fresh runner (first CI run, JDK 21 job).annotations/pom.xml: compiles for Java 8 instead of 1.7. JDK 21's javac no longer supports 1.7, and every other module already targets 8.distributionManagement(the oldoss.sonatype.orgsettings) is unchanged, ready for the Maven Central setup.Verification
Workflow commands were run locally from an empty Maven repository and an empty home directory, with no custom
settings.xml:xvfb-run -a mvn -B installgives BUILD SUCCESS on JDK 8 and 21. JDK 17 passed before thetests/pom.xmlchange. Thecn1:testgoal reports "All tests passed. Total 3 tests passed".help:evaluateexpression returns2.0.7-SNAPSHOT.mvn deploy -DaltDeploymentRepository=github::default::file://…deployed all 13 modules. Theid::default::urlform is used becauseannotationsandcoderad-annotation-processorpinmaven-deploy-plugin2.8.2.actionlintfinds no problems in either workflow.Note for consumers: GitHub Packages requires authentication even for public Maven packages, so users need a GitHub token in their
settings.xmlto resolve releases from there.🤖 Generated with Claude Code
https://claude.ai/code/session_01U1nqukudLDu9Qix74WZruV