Edburns/80 java monorepo add phase 02#1350
Draft
edburns wants to merge 56 commits into
Draft
Conversation
…thub.com/github/cnew file: 80-java-monorepo-add-01-remove-before-merge/20260512-prompts.md - Commence practice of keeping running prompts for sharing and review. new file: 80-java-monorepo-add-01-remove-before-merge/dd-2989727-move-java-to-monorepo-plan.md - Document WIP plan for review.
modified: 80-java-monorepo-add-01-remove-before-merge/dd-2989727-move-java-to-monorepo-plan.md
modified: 80-java-monorepo-add-01-remove-before-merge/20260513-prompts.md modified: 80-java-monorepo-add-01-remove-before-merge/dd-2989727-move-java-to-monorepo-plan.md - WIP Phase 0. .github/workflows/java-publish-maven.yml .github/workflows/java-publish-snapshot.yml - Copy over from `copilot-sdk-java-00`. 80-java-monorepo-add-01-remove-before-merge/ghcpsp-90-gpg-key-archive.sh 80-java-monorepo-add-01-remove-before-merge/ghcpsp-90-gpg-key-import.sh - Durable way to hand off the ability to publish to maven central. Currently resides with @edburns.
Copied from github/copilot-sdk-java: src/, pom.xml, config/, scripts/codegen/, CHANGELOG.md, README.md, jbang-example.java, .lastmerge, docs/adr/, mvnw, mvnw.cmd, .mvn/, .gitignore, test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Since the Java SDK now lives inside the copilot-sdk monorepo, point copilot.sdk.clone.dir at the monorepo root (../) instead of cloning into target/. Remove the antrun git clone execution entirely. Update SCM URLs to github/copilot-sdk. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Revert pom.xml to preserve the git-clone-based test harness setup (copilot.sdk.clone.dir = target/copilot-sdk/) instead of pointing at the monorepo root. Add scripts/codegen/package-lock.json (pins @github/copilot@1.0.49-3) and .gitignore that were missed in the initial file copy.
Creates the Java SDK test workflow for the monorepo with: - Push/PR triggers on java/** and test/** paths - OS matrix: ubuntu, macos, windows (matching other SDKs) - JDK 17 (microsoft distribution) with Maven cache - Node.js setup for E2E test harness - spotless:check formatting gate (Linux only) - javadoc:javadoc verification (Linux only) - mvn clean verify (build + all tests including E2E) - Surefire report upload on failure Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add java/scripts/codegen/** and java/src/generated/** to path triggers - Add java-codegen job that runs npx tsx java.ts from java/scripts/codegen/ - Checks for uncommitted changes in java/src/generated/ after running codegen Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adapted from copilot-sdk-java codegen-agentic-fix.md with paths updated for the monorepo structure (java/ prefix on all paths). The .lock.yml could not be generated because gh aw compile timed out — it can be compiled later when gh aw is available in an appropriate environment. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add JDK 17 (microsoft distribution) with Maven cache - Add Java codegen npm cache-dependency-path - Add Java codegen dependency install step - Add java -version and mvn --version to verification Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add maven ecosystem entry for /java directory - Add npm ecosystem entry for /java/scripts/codegen (codegen deps) - Both use multi-ecosystem-group 'all' matching existing entries Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add push path filter (java/**, test/**, workflow, actions) - Remove OS matrix, run on ubuntu-latest only - Set permissions: contents write, checks write, pull-requests write - Use SHA-pinned actions (matching copilot-sdk-java source) - Add persist-credentials: false on checkout - Use .github/actions/setup-copilot for COPILOT_CLI_PATH - Add COPILOT_GITHUB_TOKEN and COPILOT_CLI_PATH env vars to mvn verify - Add JaCoCo badge generation (generate-java-coverage-badge.sh) - Add JaCoCo badge PR creation (peter-evans/create-pull-request) - Add java-test-report composite action for step summary - Upload test results artifact on main branch for site generation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reverts codegen-check.yml to its composition on main (no Java paths). Creates java-codegen-check.yml adapted from the standalone repo's codegen-check.yml with monorepo paths (java/ prefix, working-directory). Updates java-codegen-fix.md to reference java-codegen-check workflow. The java-codegen-fix.lock.yml could not be re-compiled because gh aw is not responsive in this environment. Run 'gh aw compile java-codegen-fix' to regenerate it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace curl|bash gh-aw install with pinned setup action (github/gh-aw@4d44d0e89 v0.73.0, version: v0.68.3) - Add 'git config core.hooksPath .githooks' to enable the repo-root pre-commit hook (runs Spotless on java/src/ changes) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add ignore rules for actions/github-script and github/gh-aw-actions to the github-actions entry (SHAs managed by gh aw compile) - Add ignore for major version bumps on Maven dependencies (may drop Java 17 support or have breaking API changes) - Use dedicated groups for Java: java-maven-deps and java-codegen-deps (separate from the monorepo-wide multi-ecosystem-group) - Give Java entries their own schedule instead of multi-ecosystem-group Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…onorepo - Add defaults.run.working-directory: ./java to both publish-maven and github-release jobs - Fix update-changelog.sh path to use $GITHUB_WORKSPACE prefix - Fix git add paths to use java/ prefix (git paths are repo-root-relative) - Fix notes.template reference to use $GITHUB_WORKSPACE prefix - Remove deploy-site job (not being migrated per plan) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add defaults.run.working-directory: ./java so Maven commands execute in the correct subdirectory. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adapts the standalone repo's smoke test workflow for the monorepo: - Add defaults.run.working-directory: ./java to both jobs - Update prompt text to reference monorepo context - Use monorepo's setup-copilot action - Retain JDK 17 and JDK 25 (virtual threads) test jobs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copied verbatim from copilot-sdk-java. Used by java-publish-maven.yml via envsubst to generate GitHub Release notes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copied verbatim from copilot-sdk-java. These scripts are called by java-publish-maven.yml to update CHANGELOG.md during release. Both scripts are marked executable. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Supersedes #1271