# Vercel Support Report: Preview Deployment Not Created for Commit `f7b9a13`
**Prepared by:** Camilo Niño Vanegas
**Date:** 2026-07-21
**Severity:** High — blocks PR merge gate (Lighthouse CI depends on Preview Deployment)
-–
## 1. Executive Summary
A Preview Deployment was not created by the Vercel GitHub App for a specific commit (`f7b9a13`) pushed to an existing, actively-deploying pull request. The two commits immediately preceding it, on the same branch and pull request, deployed successfully (or at least were tracked as attempted). No deployment object for the affected commit exists anywhere — not in the GitHub Deployments API, not in Vercel’s own internal deployment list (`vercel list`), and no GitHub commit status or check-run was ever posted by the Vercel App for that push.
We have independently ruled out repository misconfiguration, GitHub App installation/permission problems, and CI/workflow issues. The evidence is consistent with two recent Vercel-side incidents (2026-07-16/17) and at least one independently reported, unresolved Vercel Community case (2026-07-19) describing the identical symptom: a correctly-installed and correctly-configured GitHub App silently ceasing to create deployments for non-production-branch commits, with no error surfaced anywhere on the customer side.
We are requesting that Vercel Engineering check server-side logs (GitHub App delivery log and deployment-creation service) for this project around the timestamp below, since this information is not accessible to us as the integration’s installer.
-–
## 2. Environment
| Field | Value |
|—|—|
| **Project ID** | `prj_RMRJx55fWvNm9weTPmA4dBMT06dj` |
| **Project name** | `explora57` |
| **Team ID** | `team_1iQEF20JmuSIaAPuOMLXUCsc` |
| **Team name** | CAMILO NIÑO VANEGAS’s projects (`camilo-nino-vanegass-projects`) |
| **Repository** | `ninovanegasc-cmyk/explora57` (GitHub) |
| **Branch** | `feature/M10.1-availability-calendar-booking-flow` |
| **Pull Request** | [#5](https://github.com/ninovanegasc-cmyk/explora57/pull/5) (open, base: `develop`) |
| **Framework (Vercel dashboard)** | “Other” (project uses the `@astrojs/vercel` adapter directly, which is expected/documented Astro behavior — Vercel’s zero-config framework detection is bypassed by the adapter) |
| **Node.js Version (Vercel project setting)** | `24.x` |
| **Node.js Version (`package.json` engines)** | `>=22.12.0` (satisfied by 24.x — no conflict) |
| **Root Directory** | `.` |
| **Build / Install / Output Commands** | On auto-detect (`npm run vercel-build`/`npm run build`; `npm install`; `public`/`.`) |
-–
## 3. Problem Description
Three consecutive commits were pushed to the same open pull request (#5), on the same branch, under identical Vercel project configuration:
1. `60df027` — Vercel created and tracked a deployment (ended in `Error` state, but the deployment object exists).
2. `f8a7317` — Vercel created and tracked a deployment (`Ready` state); GitHub received a full commit-status lifecycle and a Vercel check-run.
3. **`f7b9a13`** — No deployment was created. No commit status, no check-run, no PR comment update, and no entry in Vercel’s own internal deployment list. This state has persisted for over 24 hours with no recovery.
The only downstream symptom visible in CI is that our `lighthouse` GitHub Actions job (which waits for the Preview Deployment via `vercel/wait-for-deployment-action`) times out after 600 seconds with `No GitHub Deployment yet for SHA … env Preview` — a correct and expected result given that no deployment was ever created, not a bug in our workflow.
-–
## 4. Exact Timeline (UTC, 2026-07-20)
| Time | Event |
|—|—|
| 12:42:38 | Commit `60df027` pushed |
| 12:42:50 | Vercel deployment `dpl_2Utazrwk5JVv7xEELBrFd2VMbv8g` created (target: preview, ended state: **Error**) |
| 13:03:05 | Commit `f8a7317` pushed |
| 13:03:14 | Vercel deployment `dpl_ALs6HTQFht5XbN3iyxXJK7fUZBEn` created (target: preview, ended state: **Ready**) |
| 13:03:15 | GitHub commit status `Vercel` set to `pending` by `vercel[bot]` |
| 13:04:08 | GitHub commit status `Vercel` set to `success` |
| 13:04:09 | “Vercel Preview Comments” check-run completed; PR #5 bot comment last updated at this timestamp |
| **13:17:04** | **Commit `f7b9a13` pushed — no Vercel deployment, status, check-run, or PR comment update ever created, before or since** |
| 13:17:36–13:31:13 | GitHub Actions run `29745629529` for `f7b9a13`: `quality` succeeds, `e2e` succeeds, `lighthouse` fails after a 600s timeout waiting for the (non-existent) Preview Deployment |
| 2026-07-21, ongoing | `vercel list` still shows no deployment newer than `dpl_ALs6HTQFht5XbN3iyxXJK7fUZBEn` (13:03:14Z) — 24+ hours later |
-–
## 5. Evidence Collected
### 5.1 GitHub Actions results (all green except the downstream Lighthouse wait)
For run `29745629529` (triggered by `f7b9a13`, event type `pull_request`):
| Job | Result | Duration |
|—|—|—|
| `quality` |
success | 13:17:36 → 13:21:00 |
| `e2e` |
success | 13:21:04 → 13:25:28 |
| `lighthouse` |
failure | 13:21:03 → 13:31:13 (600s timeout waiting for deployment) |
### 5.2 GitHub Deployments API
`GET /repos/ninovanegasc-cmyk/explora57/deployments` returns a `Preview`-environment deployment entry for every commit from `60df027` and `f8a7317` (and all prior commits in the branch’s history) — **but no entry exists for `f7b9a13`**, at any point after the push, including 24+ hours later.
### 5.3 GitHub commit statuses / check-runs — direct comparison
**`f8a7317` (deployed normally):**
```
check-runs: github-actions (quality/e2e/lighthouse), vercel (“Vercel Preview Comments”), supabase (“Supabase Preview”, skipped)
statuses: Vercel: pending (13:03:15Z) → success (13:04:08Z), creator: vercel[bot]
```
**`f7b9a13` (the affected commit):**
```
check-runs: github-actions (quality/e2e/lighthouse), supabase (“Supabase Preview”, skipped)
statuses: (none)
```
The Vercel App produced **zero output of any kind** for `f7b9a13`, while every other App/workflow reacting to that same push behaved normally.
### 5.4 Vercel CLI — the deployment never existed inside Vercel itself
Using the Vercel CLI, authenticated and linked to this exact project:
```
$ vercel list
Age Project Deployment Status Environment
~24h camilo-nino-vanegass-projects/explora57 …ojxqh5luh…vercel.app Ready Preview (dpl_ALs6HTQFht5XbN3iyxXJK7fUZBEn, created 13:03:14Z — matches f8a7317)
~24h camilo-nino-vanegass-projects/explora57 …1wd5tuabw…vercel.app Error Preview (dpl_2Utazrwk5JVv7xEELBrFd2VMbv8g, created 12:42:50Z — matches 60df027)
…(21 total entries, all older)…
```
This is the **most important piece of evidence**: `vercel list` is Vercel’s own internal record, independent of anything reported to GitHub. It confirms Vercel’s backend never started tracking a build for `f7b9a13` — this is not a reporting gap between Vercel and GitHub, the build itself was never initiated.
### 5.5 Vercel project configuration (unchanged, and demonstrably functional)
```
$ vercel project inspect explora57
ID prj_RMRJx55fWvNm9weTPmA4dBMT06dj
Root Directory .
Node.js Version 24.x
Framework Preset Other
Build Command `npm run vercel-build` or `npm run build`
Output Directory `public` if it exists, or `.`
Install Command `yarn install`, `pnpm install`, `npm install`, or `bun install`
```
No warnings were printed by the CLI at any point (`–debug` confirmed a clean `200 OK` from `GET /v9/projects/explora57`). These exact settings produced a successful build for `f8a7317`, 14 minutes before `f7b9a13` was pushed.
### 5.6 GitHub App installation
Confirmed directly in the Vercel dashboard (Project → Settings → Git) by the account owner: the GitHub App is listed and configured correctly, with `explora57` present under its repository access.
-–
## 6. Investigations Performed
1. Read `.github/workflows/ci.yml` to identify exactly which job depends on the Preview Deployment and why (`lighthouse`, via `vercel/wait-for-deployment-action`).
2. Queried GitHub Actions run history and per-job results for the affected commit and its two predecessors (`gh run list`, `gh run view --json jobs`).
3. Queried the GitHub Deployments API for the full deployment history of the repository.
4. Queried GitHub commit statuses and check-runs for the affected commit and the last known-good commit, for direct comparison.
5. Confirmed the repository has no classic (non-App) webhooks configured (`gh api repos/…/hooks` → empty array), ruling out a webhook URL/secret misconfiguration on our end.
6. Attempted to query GitHub’s App-installation API (`/user/installations`, `/repos/…/installation`) — both require a GitHub-App-authorized token, which our session does not have; this was confirmed via the actual 403/401 responses, not assumed.
7. Used the Vercel CLI (authenticated, linked to the correct project) to directly query Vercel’s own deployment records (`vercel list`, `vercel inspect --format json`) and project configuration (`vercel project inspect`, `–debug`).
8. Checked Vercel’s public status page and incident API (`vercel-status.com/api/v2/incidents.json`) for related recent incidents.
9. Searched `vercel/vercel` GitHub issues, GitHub Community Discussions, and Vercel Community forums for matching bug reports.
10. Verified — with the account owner directly checking the Vercel dashboard — that the GitHub App is installed and configured correctly for this repository.
-–
## 7. Items Ruled Out
| Item | Why ruled out |
|—|—|
| Repository/project misconfiguration (Root Directory, Build Command, Framework, Node version) | Identical settings produced a tracked build for the immediately preceding commit (`f8a7317`), 14 minutes earlier. |
| GitHub App not installed / repo excluded / wrong account | Confirmed directly in the Vercel dashboard by the account owner; corroborated by the App’s own successful status/check-run activity 13 minutes before the failure. |
| Insufficient GitHub App permissions | The App successfully wrote a commit status, a check-run, and edited a PR comment on `f8a7317` — all require permissions beyond read access, and all worked. |
| CI/workflow misconfiguration | `quality` and `e2e` both pass; `lighthouse`'s only failure mode is the absent deployment, which is downstream of Vercel, not a workflow defect. |
| Repo-wide GitHub App/webhook lockout | The Supabase GitHub App fired its own check-run normally on the exact same push that Vercel ignored. |
| Classic webhook misconfiguration | The repository has zero classic webhooks — this integration is purely GitHub-App-based; there is no webhook URL/secret for us to misconfigure. |
| Ignored Build Step (client-side `vercel.json`) | No `vercel.json` exists in the repository; any Ignored Build Step would have to be a dashboard-only setting, and would not explain the absence of *any* tracked deployment object (an ignored build is still typically tracked as skipped/canceled). |
-–
## 8. Remaining Hypotheses (ranked)
1. **Vercel backend GitHub-App event/deployment-creation bug (“silent skip”).** Matches an independently reported, unresolved Vercel Community case from 2026-07-19 (one day prior) describing the identical symptom on non-production branches, with the same set of causes (permissions, Ignored Build Step, monorepo skip settings, billing) ruled out by that reporter as well.
2. **Residual/incompletely-fixed tail of the 2026-07-16/17 “GitHub-linked deployments” incident.** Vercel’s own resolution note for that incident warned of possible lingering delayed/stuck-initializing builds after the fix.
3. **Hobby-tier-specific throttling or processing limitation.** Both recent incidents and both community reports specifically implicate Hobby-tier teams; this project’s team is consistent with that tier (unconfirmed via CLI — no plan-tier field is exposed by any `vercel` command available to us).
4. **GitHub → Vercel webhook simply never delivered for this one event.** Cannot be distinguished from hypothesis #1 using any tool available to us; only Vercel’s GitHub App delivery log (owner-only access) can separate the two.
5. **“Skip Unaffected Projects” (monorepo) deploy-skip misfire.** Vercel support’s own first guess in the closest-matching community thread; that reporter’s suggested `vercel.json` override did not resolve it, and this is a single-project (non-monorepo) repository.
Items verifiable only by Vercel Engineering: whether the GitHub App’s delivery log shows any attempt for this commit’s push event; whether an internal error was logged around 2026-07-20T13:17Z for this project/team; whether this project was affected by, or is a recurrence of, the 07-16/17 incidents; the account’s actual plan tier and any tier-specific throttling in effect at that moment.
-–
## 9. Reproduction Information
Not deterministically reproducible on demand. It occurred once, on a single commit, and has persisted (no deployment has appeared for `f7b9a13` in over 24 hours). An independently reported, closely matching case is documented in the Vercel Community, filed one day before this incident (see §12/Attachments for link).
-–
## 10. Expected Behaviour
A push to an open pull request’s branch, under an unchanged, correctly configured, correctly permissioned Git integration, should result in Vercel creating a Preview Deployment — as it did for the two commits immediately preceding this one, seconds/minutes apart, on the same branch and PR.
-–
## 11. Actual Behaviour
No Preview Deployment was created for commit `f7b9a13`. No GitHub commit status, no check-run, no PR comment update, and — critically — no deployment object exists in Vercel’s own internal deployment list (`vercel list`) at all. The commit is, from Vercel’s perspective, as if it was never pushed.
-–
## 12. Request to Vercel Engineering
Please check, for **project `prj_RMRJx55fWvNm9weTPmA4dBMT06dj`** / **team `team_1iQEF20JmuSIaAPuOMLXUCsc`**, whether a GitHub `push`/`pull_request synchronize` webhook was received for commit **`f7b9a1377a472a03c7c41a642ac2dab26e7cedfd`** around **2026-07-20 13:17:04–13:18:00 UTC**, and if so, why it did not result in a Preview Deployment being created. If no webhook was received at all, please advise whether this correlates with the 2026-07-16/17 incidents referenced below, or represents a new, separate defect.
-–
## Attachments / Supporting Evidence
### Commands executed (all read-only; no repository, workflow, GitHub, or Vercel settings were modified)
```
git log -1 --format=‘%H %s’
git branch --show-current
git remote -v
git log --oneline -8
git log -1 --format=‘%H %cI’ (for 60df027, f8a7317, f7b9a13)
gh pr list --head feature/M10.1-availability-calendar-booking-flow --json … --repo ninovanegasc-cmyk/explora57
gh run list --branch feature/M10.1-availability-calendar-booking-flow --limit 5 --json databaseId,headSha,createdAt,event,conclusion,status
gh run view 29745629529 --json jobs --jq ‘.jobs[] | {name, conclusion, startedAt, completedAt}’
gh run view 29744613465 --json jobs --jq ‘…’
gh run view 29743256008 --json jobs --jq ‘…’
gh api repos/ninovanegasc-cmyk/explora57/deployments --jq ‘[.[] | {sha, environment, created_at, ref}]’
gh api repos/ninovanegasc-cmyk/explora57/deployments --paginate --jq ‘length’
gh api repos/ninovanegasc-cmyk/explora57/commits/f7b9a1377a472a03c7c41a642ac2dab26e7cedfd/check-runs --jq ‘…’
gh api repos/ninovanegasc-cmyk/explora57/commits/f7b9a1377a472a03c7c41a642ac2dab26e7cedfd/statuses --jq ‘…’
gh api repos/ninovanegasc-cmyk/explora57/commits/f8a7317613260f25d23ae82bf527069d752ed4d7/check-runs --jq ‘…’
gh api repos/ninovanegasc-cmyk/explora57/commits/f8a7317613260f25d23ae82bf527069d752ed4d7/statuses --jq ‘…’
gh api repos/ninovanegasc-cmyk/explora57/hooks
gh api repos/ninovanegasc-cmyk/explora57/issues/5/comments --jq ‘…’
gh api repos/ninovanegasc-cmyk/explora57/installation (401 — confirms App-JWT-only endpoint, not a finding)
gh api user/installations (403 — confirms token-type limitation, not a finding)
gh auth status
gh api -i user (checked X-OAuth-Scopes header)
gh search issues --repo vercel/vercel “no deployment created” / “silently” “deployment” / “webhook” “preview” “not”
vercel --version
vercel whoami
vercel project inspect explora57
vercel project inspect explora57 --debug
vercel project ls --filter explora57 --format json
vercel list
vercel inspect
vercel inspect --format json
vercel teams ls / vercel team ls
vercel git --help (help text only — connect/disconnect were never invoked)
vercel inspect --help / vercel project --help / vercel project ls --help
npx supabase --version / npx supabase status -o env / npx supabase start (used earlier in this investigation to reproduce an unrelated build-time env-var issue; included for completeness, not directly relevant to this report)
```
### APIs queried
- GitHub REST API: `/repos/{owner}/{repo}/deployments`, `/commits/{sha}/statuses`, `/commits/{sha}/check-runs`, `/hooks`, `/issues/{n}/comments`, `/installation`, `/user/installations`, `/user`
- GitHub Actions API (via `gh run list` / `gh run view`)
- Vercel REST API v9 (`/v9/projects/{name}`) via the Vercel CLI’s own authenticated calls (observed through `–debug` output)
- Vercel Status API: `https://www.vercel-status.com/api/v2/incidents.json\`
### Sources consulted
- [Preview deployments silently never triggered for non-production branches — Vercel Community](Preview deployments silently never triggered for non-production branches) (filed 2026-07-19, one day before this incident — identical symptom, unresolved)
- [Push events to GitHub no longer triggering Production deploys (Vercel + GitHub App) — Vercel Community](Push events to GitHub no longer triggering Production deploys (Vercel + GitHub App)) (same failure class on the production branch, unresolved)
- [GitHub webhook not triggering for non-production branches after Feb 7 incident · Issue #14939 · vercel/vercel](GitHub webhook not triggering for non-production branches after Feb 7 incident · Issue #14939 · vercel/vercel · GitHub) (open)
- [Automatic Deployments Not Triggering: Webhook Missing Despite All Fixes · community discussion #165952](Automatic Deployments Not Triggering: Webhook Missing Despite All Fixes · community · Discussion #165952 · GitHub)
- Vercel Status API incident records:
-
“GitHub-linked deployments and authentication affected” — 2026-07-16 23:09 UTC to 2026-07-17 00:42 UTC
-
“Increased invocation failures for Hobby Team functions” — 2026-07-17 10:18 UTC to 14:10 UTC
- [Astro Vercel adapter documentation](@astrojs/vercel | Docs) (used to confirm Framework Preset “Other” is expected, not a misconfiguration)
- [Vercel CLI `project` command reference](vercel project) (used to confirm which fields the CLI can and cannot surface)