troubleshooting vercel deploy
Some checks failed
Deploy to Vercel / deploy (push) Failing after 5m58s

This commit is contained in:
2026-04-30 14:32:53 +02:00
parent d0c47ce2a6
commit 2f1648b38e
2 changed files with 5 additions and 110 deletions

View File

@@ -1,110 +0,0 @@
# Gitea Actions runner + Vercel auto-deploy
Pushes to `master` on Gitea trigger
[`.gitea/workflows/deploy.yml`](workflows/deploy.yml), which type-checks
the project and ships to Vercel production.
You only need to do this setup once.
---
## 1. Enable Actions on the Gitea instance
If you've never used Actions on this Gitea before, enable it in
`/etc/gitea/app.ini` (path varies by install):
```ini
[actions]
ENABLED = true
DEFAULT_ACTIONS_URL = https://github.com
```
Restart Gitea (`systemctl restart gitea` or however you run it).
Then on the **repo** in Gitea: Settings → Actions → Enable Actions
for this repository.
## 2. Install a Gitea Actions runner on the Debian box
Gitea ships its own runner binary called `act_runner`. SSH into your
Debian box and:
```bash
# Download latest act_runner (check https://gitea.com/gitea/act_runner/releases for newest)
wget -O act_runner https://dl.gitea.com/act_runner/act_runner-linux-amd64
chmod +x act_runner
sudo mv act_runner /usr/local/bin/
# Generate config
act_runner generate-config > config.yaml
# Register with your Gitea instance
# Get a registration token from: https://git.sometimescode.com/-/admin/actions/runners
# (admin level — registers a global runner) OR from the repo settings (repo-scoped)
act_runner register --no-interactive \
--instance https://git.sometimescode.com \
--token <REGISTRATION_TOKEN> \
--name debian-runner \
--labels ubuntu-latest:docker://node:24-bookworm,self-hosted
# Run as a service (systemd)
sudo cp /usr/local/bin/act_runner /etc/systemd/system/
# (Gitea docs walk through the .service file; or just run in tmux for now)
act_runner daemon
```
The `--labels ubuntu-latest:docker://node:24-bookworm` line tells the
runner: when a workflow says `runs-on: ubuntu-latest`, use the
`node:24-bookworm` Docker image. That image has Node 24 + git
preinstalled, which is what our workflow needs.
Verify it's online: Gitea → Repo → Settings → Actions → Runners
should show one online runner.
## 3. Get a Vercel API token
1. https://vercel.com/account/tokens
2. Create Token, name it "Gitea fivedevs deploy"
3. Scope: full account (or just the `fivedevs` project if Vercel
supports per-project tokens on your plan)
4. Copy the token — you'll only see it once
## 4. Add the three secrets to Gitea
Repo → Settings → Secrets → New Secret. Add three:
| Secret name | Value |
|-----------------------|--------------------------------------------------|
| `VERCEL_TOKEN` | The token from step 3 |
| `VERCEL_ORG_ID` | `team_dvgkcoMxfZwVhSau0vhTeT1I` |
| `VERCEL_PROJECT_ID` | `prj_QVFJhWqmkrzGVP0HBsJJrDxQ96c3` |
(The org and project IDs come from `.vercel/project.json` in this
repo. They're not sensitive but treating them as secrets keeps the
workflow file portable.)
## 5. Test it
Push any tiny change to master. Within ~10 seconds:
- Gitea: Repo → Actions tab → you should see a workflow run
- After ~2-3 min: Vercel dashboard → fivedevs project → new
deployment with the matching commit SHA
If the workflow fails, click into it for logs. Common issues:
- **`vercel deploy` fails with "missing project"** → double-check
`VERCEL_ORG_ID` / `VERCEL_PROJECT_ID` secret values
- **`pnpm: command not found`** → runner isn't using a Node-equipped
image; revisit step 2's `--labels` line
- **Workflow doesn't trigger at all** → repo Settings → Actions
isn't enabled
## What the workflow does
1. Checks out the repo (full history)
2. Installs pnpm + Node 24 with dependency caching
3. `pnpm install --frozen-lockfile`
4. `tsc --noEmit` to fail fast on type errors
5. `vercel deploy --prod --yes` — uploads source to Vercel, Vercel
builds & deploys, returns the prod URL
The whole pipeline is ~2 min on a warm cache.

View File

@@ -31,5 +31,10 @@ jobs:
- name: Type check
run: pnpm exec tsc --noEmit
- name: Debug
run: |
echo "PROJECT_ID len: ${#VERCEL_PROJECT_ID}"
echo "PROJECT_ID first chars: ${VERCEL_PROJECT_ID:0:8}"
- name: Deploy to Vercel
run: npx vercel deploy --prod --yes --token=${{ secrets.VERCEL_TOKEN }}