Skip to content

Edburns/80 java monorepo add phase 02#1350

Closed
edburns wants to merge 56 commits into
mainfrom
edburns/80-java-monorepo-add-phase-02
Closed

Edburns/80 java monorepo add phase 02#1350
edburns wants to merge 56 commits into
mainfrom
edburns/80-java-monorepo-add-phase-02

Conversation

@edburns
Copy link
Copy Markdown
Collaborator

@edburns edburns commented May 20, 2026

Supersedes #1271

edburns and others added 30 commits May 19, 2026 13:42
…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:   .github/CODEOWNERS

- Add row mapping `java` to `@github/copilot-sdk-java`.

modified:   80-java-monorepo-add-01-remove-before-merge/dd-2989727-move-java-to-monorepo-plan.md

- Fix reference.

new:        80-java-monorepo-add-01-remove-before-merge/20260513-prompts.md

- Today's prompts.
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.
edburns and others added 18 commits May 19, 2026 15:43
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>
edburns and others added 8 commits May 20, 2026 12:11
…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>
@stephentoub
Copy link
Copy Markdown
Collaborator

This can be closed now, right, @edburns ?

@edburns edburns closed this May 21, 2026
@edburns edburns deleted the edburns/80-java-monorepo-add-phase-02 branch May 21, 2026 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants