Skip to content

πŸ›πŸ§‘β€πŸ’» - Issue comment verification lacks runtime bootstrap or preflight for Kotlin JVM consumersΒ #620

Closed

Description

@efraespada

Is there an existing issue for this?

  • I have searched the existing issues.

Which actions are affected?

Issue, Pull Request

Which platforms are affected?

Linux

Description

An Action-owned /copilot sync-branch --no-agent operation authenticates, fetches and merges its parent successfully, then invokes the repository's configured make ci-local verification in an issue-comment job with no JVM runtime bootstrap. The Kotlin/JVM project fails immediately because JAVA_HOME is unset and java is absent from that job's PATH. The Action safely aborts before committing/pushing, but the supported contribution flow cannot synchronize a JVM consumer using the generated workflow without additional runner preparation.

This report is about runtime prerequisites and setup/preflight guidance across languages/frameworks, not a Git merge conflict. Please establish the supported contract: provide reviewed runtime bootstrap/profile hooks where appropriate, or validate prerequisites and give an actionable setup instruction before attempting the repository operation. Java must not be unconditionally installed for unrelated consumer languages.

Reproducing the issue

  1. Install the generated Copilot issue-comment workflow in a Kotlin/JVM repository using Gradle and JDK 17. Its verification command is make ci-local; its frontend also requires Node 24/pnpm.
  2. Route the issue-comment job to a clean/self-hosted Linux runner without a pre-exported JVM in PATH. Installing Java in a separate CI job does not supply it to this job.
  3. Keep the generated job shape: checkout followed by vypdev/copilot@v3, with no actions/setup-java or repository runtime-bootstrap step.
  4. Advance the parent development branch through the normal maintainer flow.
  5. On the linked managed issue, invoke /copilot sync-branch --no-agent.
  6. The authenticated parent fetch and conflict-free temporary merge succeed. make ci-local invokes the Gradle wrapper, which fails on missing Java. The Action aborts the merge; the remote issue branch remains unchanged.

The actual consumer stack includes Kotlin/JVM, Ktor, a Gradle wrapper and JDK 17; frontend verification uses Node 24/pnpm. Ordinary application CI explicitly runs actions/setup-java@v5 with distribution: temurin and java-version: "17", and passes on the same integrated application candidate. This isolates the observed difference to the issue-comment job's environment/bootstrap.

copilot Version

Live failure: action 3.9.0 at 40dc4ad1d7ff5bebd7efd52f9429391cc9869577, using consumer workflows installed by setup 3.7.0. The released 3.9.1 issue-comment template was also inspected at 1079878339640c3929330f311c9996d7e5499403: it still contains checkout followed directly by the Action, without a Java/bootstrap step. A new managed-branch sync was not executed on 3.9.1; the fresh evidence for that version is template inspection, not a claimed runtime retest.

Relevant Log Output

2026-10-20T10:04:46Z git merge-base --is-ancestor a870d1eaf72e2d454c6f6d6e83e9d584cf7dbb1f 86bc61e9be23e07f2bf48a54ab8c87791a2f63b3
2026-10-20T10:04:46Z git merge --no-ff --no-commit a870d1eaf72e2d454c6f6d6e83e9d584cf7dbb1f
Automatic merge went well; stopped before committing as requested
2026-10-20T10:04:46Z make ci-local
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the location of your Java installation.
2026-10-20T10:04:46Z git merge --abort

Additional context and comments

Exact operational evidence

The remote managed branch was not manually synchronized or replaced. Its Action-owned lifecycle was preserved. No credentials, private environment dumps, or remote bypass instructions are included here.

Expected behavior and limits

Repository verification can require JVM, Node, Python or other project-specific tools. Setup should make the runtime contract reviewable for every job that runs repository commands, including issue-comment sync/autofix jobs; runner routing alone does not provide a runtime environment. If runtimes remain operator-owned prerequisites, generated guidance and preflight should identify the missing runtime, required version, affected verification command, job and recovery step explicitly.

Please retain the successful abort/no-push behavior on verification failure. The missing-Java root cause is confirmed for this run; whether it should be handled by setup, a configurable bootstrap hook or documented runner provisioning is a maintainer design decision. Regression coverage should include a missing-JVM fixture, a correctly provisioned JVM consumer, and a non-JVM consumer so language-specific setup is not imposed universally.

Activity

  1. added
    bugSomething isn't working
    bugfixSomething isn't working
    priority: highCritical issue, needs immediate attention.
    on Oct 20, 2026
  2. added theissue type on Oct 20, 2026
  3. moved this to Todo in vypdevon Oct 20, 2026
  4. changed the title [-]Issue-comment verification lacks runtime bootstrap or preflight for Kotlin JVM consumers[/-] [+]πŸ› - Issue comment verification lacks runtime bootstrap or preflight for Kotlin JVM consumers[/+] on Oct 20, 2026
  5. vypbot commented on Oct 20, 2026

    @vypbot
    Contributor

    Hi! I’m @vypbot, the Copilot assistant for this repository.

    I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.

    Try /copilot help to see the available commands, or mention @vypbot with your question.

  6. moved this from Todo to In Progress in vypdevon Oct 20, 2026
  7. added
    branchedIndicates that a branch has been created for this issue.
    on Oct 20, 2026
  8. changed the title [-]πŸ› - Issue comment verification lacks runtime bootstrap or preflight for Kotlin JVM consumers[/-] [+]πŸ›πŸ§‘β€πŸ’» - Issue comment verification lacks runtime bootstrap or preflight for Kotlin JVM consumers[/+] on Oct 20, 2026
  9. 4 remaining items

  10. vypbot commented on Oct 20, 2026

    @vypbot
    Contributor

    Issue closed β€” historical progress

    Current status: closed as completed.

    The last estimate is retained below as history. Closure does not certify a new percentage, tests, or branch alignment.

    Action required: none for this closed issue. If work continues, reopen the issue; a fresh assessment can update this same card.

    Last assessment before closure (historical)

    Progress: 90% β€” in progress

    > Current status: The comparison shows the runtime contract, optional version preflight, safe abort/no-publication behavior, regression fixtures for missing and provisioned JVMs and non-JVM consumers, and generated workflow guidance are implemented. The specification still marks remote PR checks and review incomplete, and explicitly says live consumer Kotlin/Gradle acceptance was not performed. Generated bundle metadata does not verify builds or tests.

    Next: Complete remote PR checks and review, then perform or document the live consumer acceptance needed to confirm the Kotlin/Gradle workflow end to end.

  11. vypbot commented on Oct 20, 2026

    @vypbot
    Contributor

    Issue closed: synchronization recommendation retired

    No branch synchronization is required for this closed issue.

    The previous recommendation is historical. Issue closure does not certify that the branches are synchronized.

  12. moved this from In Progress to Done in vypdevon Oct 20, 2026
  13. added
    100%Progress: 100%
    and removed
    in-progressStart work on an admitted issue.
    state:workingWork can proceed on the verified branch or without a branch.
    on Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

100%Progress: 100%branchedIndicates that a branch has been created for this issue.bugSomething isn't workingbugfixSomething isn't workingpriority: highCritical issue, needs immediate attention.size: XXLIndicates an extremely large task or issue that requires significant time and effort to complete.

Type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions