Compare commits
4 Commits
v0.7.0-alp
...
alpha
| Author | SHA1 | Date | |
|---|---|---|---|
|
f9f5c9ea7c
|
|||
|
044e7d0e2d
|
|||
|
12f7138687
|
|||
|
8e8de63540
|
@@ -55,16 +55,14 @@ jobs:
|
||||
GITEA_URL: ${{ vars.GT_URL }}
|
||||
|
||||
- name: Trigger Ansible Deploy Playbook
|
||||
if: steps.build.outputs.VERSION != ''
|
||||
run: |
|
||||
response=$(curl -sS \
|
||||
-H "Authorization: Bearer ${{ secrets.WEBHOOK_SECRET }}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"artifact_url":"${{ gitea.server_url }}/${{ gitea.repository }}/releases/download/v${{ steps.build.outputs.VERSION }}/release-${{ steps.build.outputs.VERSION }}.tar.gz"}' \
|
||||
-w "\n%{http_code}" \
|
||||
"${{ vars.WEBHOOK_URL }}")
|
||||
http_code=$(echo "$response" | tail -1)
|
||||
body=$(echo "$response" | head -n -1)
|
||||
echo "Response: $body"
|
||||
echo "HTTP status: $http_code"
|
||||
[ "$http_code" -ge 200 ] && [ "$http_code" -lt 300 ]
|
||||
uses: https://github.com/distributhor/workflow-webhook@v3
|
||||
with:
|
||||
webhook_url: ${{ vars.WEBHOOK_URL }}
|
||||
webhook_auth_type: bearer
|
||||
webhook_auth: ${{ secrets.WEBHOOK_SECRET }}
|
||||
verbose: true
|
||||
data: >
|
||||
{
|
||||
"artifact_url":
|
||||
"${{ gitea.server_url }}/${{ gitea.repository }}/releases/download/v${{ steps.build.outputs.VERSION }}/release-${{ steps.build.outputs.VERSION }}.tar.gz"
|
||||
}
|
||||
|
||||
77
docs/summaries/handoff-2026-03-20-nuxt-repo-replacement.md
Normal file
77
docs/summaries/handoff-2026-03-20-nuxt-repo-replacement.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# Session Handoff: Nuxt Repo Replacement & CI Fixes
|
||||
**Date:** 2026-03-20
|
||||
**Session Focus:** Replace Quasar source with Nuxt in bab-app repo; fix CI pipeline
|
||||
**Context at Handoff:** Medium — migration complete, CI pipeline passing, app deploying
|
||||
|
||||
## What Was Accomplished
|
||||
|
||||
### 1. Quasar → Nuxt repo replacement (nuxt_test branch)
|
||||
Lifted `bab-app-nuxt/` (sibling dir) into `bab-app/` root, replacing all Quasar artifacts.
|
||||
|
||||
**Deleted from root:**
|
||||
- `src/`, `src-pwa/`, `.quasar/`, `dist/`, `node_modules/`
|
||||
- `quasar.config.ts`, `quasar.extensions.json`, `index.html`, `postcss.config.cjs`, `eslint.config.js`, `tsconfig.vue-tsc.json`, `.npmrc`, `nohup.out`
|
||||
|
||||
**Added to root:**
|
||||
- `app/`, `tests/`, `public/` (nuxt versions)
|
||||
- `nuxt.config.ts`, `vitest.config.ts`, `tsconfig.json` (nuxt versions)
|
||||
- `package.json`, `yarn.lock` (nuxt versions)
|
||||
|
||||
**Updated:**
|
||||
- `generate-version.cjs` — removed `src/version.ts` write; path changed from `bab-app-nuxt/app/utils/version.ts` → `app/utils/version.ts`
|
||||
- `.releaserc.json` — removed `cd bab-app-nuxt &&`; fixed `.output/public` path; changed `npm run generate-version` → `node generate-version.cjs`; fixed `::set-output::` → `$GITHUB_OUTPUT`
|
||||
- `.gitea/workflows/build.yaml` — `bab-app-nuxt/.env` → `.env`
|
||||
- `.gitignore` — replaced with Nuxt version (kept `VERSION`, `release-*.gz`, `CHANGELOG.md`)
|
||||
|
||||
### 2. Pre-commit hook (husky)
|
||||
- Added `husky`, `vue-tsc` to devDependencies
|
||||
- Added `prepare: husky` and `typecheck: nuxt typecheck` scripts
|
||||
- `.husky/pre-commit` runs `yarn typecheck`
|
||||
- Note: `yarn test` excluded — only test file is live Appwrite integration test, not suitable for pre-commit
|
||||
|
||||
### 3. Semantic-release plugins
|
||||
- Added all plugins to devDependencies (were missing from nuxt package.json): `semantic-release`, `@semantic-release/changelog`, `@semantic-release/commit-analyzer`, `@semantic-release/release-notes-generator`, `@semantic-release/exec`, `@saithodev/semantic-release-gitea`
|
||||
- Changed `npx semantic-release` → `yarn semantic-release` in build.yaml
|
||||
|
||||
### 4. CI pipeline fixes (iterative)
|
||||
- Removed `cache: 'yarn'` from setup-node (yarn not available yet at that step)
|
||||
- Added `node_modules` cache via `actions/cache@v4`, keyed on `yarn.lock` hash; install skips on cache hit
|
||||
- Replaced `workflow-webhook` action with direct `curl` — action was sending `X-Hub-Signature`/`X-GitHub-Event` headers that caused AAP EDA 403
|
||||
- Fixed `Authorization: Bearer Token:***` → `Authorization: Bearer ***` (removed redundant `Token:` prefix)
|
||||
- Added `if: steps.build.outputs.VERSION != ''` to webhook step
|
||||
- Replaced `--fail-with-body` (curl too old on runner) with `-w "\n%{http_code}"` pattern that prints body + status and fails on non-2xx
|
||||
- Added `$GITHUB_OUTPUT` for VERSION output (replaced deprecated `::set-output::`)
|
||||
|
||||
### 5. nuxt.config.ts
|
||||
- Added `vite.optimizeDeps.include` for `@vue/devtools-core`, `@vue/devtools-kit`, `appwrite`, `@quasar/quasar-ui-qcalendar` to prevent dev server page reloads
|
||||
|
||||
## Current State
|
||||
|
||||
- `nuxt_test` branch: Nuxt app is the only source in the repo root
|
||||
- CI pipeline: passes on push to `alpha`/`devel`/`main`
|
||||
- `node_modules` cache: working (Gitea cache confirmed operational)
|
||||
- Webhook: working — direct curl to AAP EDA event stream
|
||||
- App deploying but showing runtime error (see open questions)
|
||||
|
||||
## Open Questions
|
||||
|
||||
- [ ] **OPEN**: `ENV_FILE` Gitea variable likely has old Quasar env var names. Nuxt expects `NUXT_PUBLIC_APPWRITE_ENDPOINT` and `NUXT_PUBLIC_APPWRITE_PROJECT_ID`. Update in Gitea → Repo Settings → Actions → Variables.
|
||||
- [ ] **OPEN**: `.env.local` at repo root should be renamed to `.env` for local Nuxt 4 dev (Nuxt 4 loads `.env`, not `.env.local`).
|
||||
- [ ] **OPEN**: `nuxt_test` branch ready to merge to `main` once ENV_FILE is fixed and smoke test passes.
|
||||
- [ ] **OPEN**: Appwrite SDK deprecated API calls (TS6387) — migrate to v14+ signatures.
|
||||
- [ ] **OPEN**: `task`/`taskTags`/`skillTags` collections — not yet created in `bab_prod`.
|
||||
|
||||
## Key File Paths
|
||||
|
||||
- `.gitea/workflows/build.yaml` — CI pipeline
|
||||
- `.releaserc.json` — semantic-release config
|
||||
- `generate-version.cjs` — writes VERSION to `VERSION` and `app/utils/version.ts`
|
||||
- `.husky/pre-commit` — runs `yarn typecheck`
|
||||
- `nuxt.config.ts` — Nuxt config with optimizeDeps
|
||||
- `app/plugins/appwrite.client.ts` — throws console.error (not exception) when env vars missing
|
||||
|
||||
## Next Session
|
||||
|
||||
1. Update `ENV_FILE` in Gitea to use Nuxt var names
|
||||
2. Trigger a build and smoke test the deployed app
|
||||
3. Merge `nuxt_test` → `main`
|
||||
Reference in New Issue
Block a user