Problem
The project-automation workflow is currently failing before it can sync issues/PRs to the project board.
Failing run/job:
The failure is not related to the PR code. The job fails in the Generate GitHub App token step before ci/github_project_sync.py runs.
Observed failure
actions/create-github-app-token@v1 is called from .github/workflows/project_automation.yml with:
app-id: ${{ vars.PROJECT_APP_ID }}
private-key: ${{ secrets.PROJECT_APP_PRIVATE_KEY }}
owner: ${{ vars.PROJECT_OWNER }}
Current repo variables observed through the Actions variables API:
PROJECT_APP_ID=3422407
PROJECT_OWNER=FastLED
PROJECT_NUMBER=1
The secret PROJECT_APP_PRIVATE_KEY exists and was last updated on 2026-04-18T15:41:00Z.
The workflow log shows:
repositories not set, creating token for all repositories for given owner FastLED
Failed to create token for FastLED (attempt 1): Not Found - https://docs.github.com/rest/apps/apps#get-a-user-installation-for-the-authenticated-app
...
RequestError [HttpError]: Not Found
request url: https://api.github.com/users/FastLED/installation
The same authentication pattern is also used by .github/workflows/project_drift_sync.yml, so the nightly/project backfill sync is likely affected too.
Likely cause
The GitHub App identified by PROJECT_APP_ID=3422407 is not currently installed on the FastLED organization, or PROJECT_APP_PRIVATE_KEY belongs to a different GitHub App than app ID 3422407.
A missing repo variable is unlikely: the job passes the variable guard, and the action receives app ID 3422407 and owner FastLED.
Fix checklist
An org/repo admin should verify:
- GitHub App ID
3422407 still exists and is the intended project-sync app.
- The private key stored in
PROJECT_APP_PRIVATE_KEY was generated from that exact app.
- The app is installed on the
FastLED organization.
- The app installation has access to the
FastLED/FastLED repository, or all repositories if the workflow should keep requesting an owner-wide token.
- The app has the permissions needed by
ci/github_project_sync.py and ci/github_project_drift_sync.py, especially project access plus issue/PR metadata access.
Optional workflow hardening after the app is confirmed:
- Consider updating
actions/create-github-app-token@v1 to the current major version.
- Consider scoping the token to the repository with
repositories: FastLED if org-wide repository access is not required. The project sync may still need organization project permissions, so this should be tested against both event sync and drift sync.
Validation
After the app installation/key pairing is corrected, re-run the failed project-automation job or trigger a new issue/PR event. Then manually run project-drift-sync with workflow_dispatch to confirm the nightly sync path also generates a token successfully.
Problem
The
project-automationworkflow is currently failing before it can sync issues/PRs to the project board.Failing run/job:
project-automationpull_request_targetfix-span-static-subviews/cce99e7738916f9419981866adeb3e356d6b00b8The failure is not related to the PR code. The job fails in the
Generate GitHub App tokenstep beforeci/github_project_sync.pyruns.Observed failure
actions/create-github-app-token@v1is called from.github/workflows/project_automation.ymlwith:Current repo variables observed through the Actions variables API:
PROJECT_APP_ID=3422407PROJECT_OWNER=FastLEDPROJECT_NUMBER=1The secret
PROJECT_APP_PRIVATE_KEYexists and was last updated on2026-04-18T15:41:00Z.The workflow log shows:
The same authentication pattern is also used by
.github/workflows/project_drift_sync.yml, so the nightly/project backfill sync is likely affected too.Likely cause
The GitHub App identified by
PROJECT_APP_ID=3422407is not currently installed on theFastLEDorganization, orPROJECT_APP_PRIVATE_KEYbelongs to a different GitHub App than app ID3422407.A missing repo variable is unlikely: the job passes the variable guard, and the action receives app ID
3422407and ownerFastLED.Fix checklist
An org/repo admin should verify:
3422407still exists and is the intended project-sync app.PROJECT_APP_PRIVATE_KEYwas generated from that exact app.FastLEDorganization.FastLED/FastLEDrepository, or all repositories if the workflow should keep requesting an owner-wide token.ci/github_project_sync.pyandci/github_project_drift_sync.py, especially project access plus issue/PR metadata access.Optional workflow hardening after the app is confirmed:
actions/create-github-app-token@v1to the current major version.repositories: FastLEDif org-wide repository access is not required. The project sync may still need organization project permissions, so this should be tested against both event sync and drift sync.Validation
After the app installation/key pairing is corrected, re-run the failed
project-automationjob or trigger a new issue/PR event. Then manually runproject-drift-syncwithworkflow_dispatchto confirm the nightly sync path also generates a token successfully.