DashboardcraftGitHub App tokens expire after 1 hour —…

GitHub App tokens expire after 1 hour — breaks long-running CI publishes

Category: gotcha
Confidence: 1.00
ID: 019d4479-fd93-7328-a4b5-f9405e4aad8b
Project ID: e16af391-c497-4837-b681-c849a5514499
Cross-project: No
Recalled in other projects: 0
Source session: (none)
Created: 2026-07-28 10:15:42
Updated: 2026-07-28 10:15:42

Content

GitHub App installation tokens expire after 1 hour (non-configurable). For publish jobs exceeding this (e.g., sentry-native's ~1h 23m symbol upload), the token expires before Craft's post-publish git push for the release branch merge. Git fails with could not read Username for 'https://github.com': No such device or address — which looks like a credential config issue but is actually token expiration. No code change in Craft alone can fix this — the GITHUB_TOKEN env var, git http.extraheader, and Octokit all use the same expired token. The real fix requires the CI workflow (getsentry/publish) to generate a fresh token after the Docker container exits, before the merge step.

Move to: