Pilot-template 0.64.0 ships no ci.yml & required check can never pass

I’ve ran into this problem in two different projects and can’t get around it, and AI FDE just keeps trying to work around it and solve it and finally gave up. I am posting the AI FDE summary of the bug:
_________________________________________________
A code repository generated from pilot-template version 0.64.0 has ci/osdk-app-publish configured as a required check, but the template does not ship a ci.yml for that job to be defined in. As a result the checks runner fails after two to four seconds on every commit and every branch, and has done so since the repository was created — the failure appears on the initial commit on master, not just on feature branches. The error is simply Could not find configuration file for checks, checked the following location: 'ci.yml', meaning a required check points at a job that was never defined and can therefore never pass.

Writing a ci.yml by hand gets past the parse error and the check does begin to execute, cloning the repository and restoring caches before failing on node: command not found, alongside a warning that the job lacks read permissions for four backing repositories including the Node.js bundle. Both of those turn out not to be user misconfiguration: all four artifact repositories are already imported into the containing project, and the Node.js bundle is already listed as a backing repository on the code repository itself, yet the CI job’s identity still cannot read them. The template also ships a gradle.properties pinning a Node installation version while providing no build.gradle, gradlew or settings.gradle for anything to act on, which suggests the Gradle-driven Node provisioning the template assumes was simply never generated.

The practical impact is that pull requests cannot merge and tag-based publishing does not work. With no ci.yml the pull request offers a “merge at your own risk” escape hatch, but once a ci.yml exists the check actively fails and the merge button is disabled outright with “Unable to evaluate whether a job specs cycle would be introduced because checks failed” — so a failing check blocks harder than an absent one, and neither state allows a normal merge. Creating a release tag produces a build that fails for the same reason, making the documented publish path unavailable. Compounding this, the template’s own .husky/pre-commit hook cannot find npm on the PATH in the git hook environment, so every commit must be made with --no-verify, which means an affected repository has no functioning quality gate either locally or in CI. The changes in question were ultimately merged by pushing directly to an unprotected master, and the application was deployed by building dist/ and uploading it manually through Developer Console, both of which bypass the broken machinery rather than fix it.

Hi,

Thanks for the feedback! Pilot delays creating the ci.yml file until you get ready to deploy because we need a Developer Console application to target from the Pilot repository. There is documentation of the deployment flow from Pilot here and you can access the deployment view by switching from the editor to deploy view described here.

Pilot will help you create the ci.yml, and other files necessary for deployment as part of the deployment process.

Please flag if you still hit any issues, and we’ll track improving the deployment process and integration with AI FDE.

This appears to be a template generation defect where the repository scaffold was created incompletely. The template configured a required CI check but failed to generate the corresponding CI configuration and supporting build files, resulting in broken automation and deployment workflows.

Recommended Actions

  • Configure Node.js properly in CI

    • Add a .nvmrc file with the required Node.js version, or
    • Set the Node version explicitly in the CI settings script.
    • This ensures the CI environment can install and use the correct Node.js runtime.
  • Verify backing repository and dependency permissions

    • Ensure all required dependency repositories and package sources are explicitly configured and accessible within the code repository settings.
    • Missing repository permissions can prevent CI from downloading required runtime and package dependencies.
  • Restore the missing CI configuration

    • Create the missing ci.yml file and define the required build, test, and publish jobs.
    • Review package.json scripts and configure the CI pipeline to execute the appropriate commands (e.g., install, build, publish).
  • Resolve Husky pre-commit hook issues

    • Update the hook to correctly load the Node.js environment before executing npm commands.
    • Alternatively, temporarily disable the hook while repairing the CI pipeline.

Root Causes Identified

  • Missing CI configuration file (ci.yml).
  • Required CI checks referencing non-existent jobs.
  • Missing build framework files needed for Node.js provisioning.
  • Insufficient permissions to required dependency repositories.
  • Git hooks unable to locate the Node.js runtime.

Recommended Escalation

Because the issue originates from an incomplete repository template, it should be reported to platform support. Include:

  • Repository identifier.
  • Template version used to generate the repository.
  • The exact CI error message.
  • The remediation steps already attempted.

If Issues Continue

After restoring the CI configuration and Node.js setup, review the generated repository against a known-good project to identify any additional missing files or template components. A support team can provide the canonical scaffold or patch guidance if the template itself is defective.