Compare commits
12 Commits
nuxt_test
...
v0.7.0-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
12f7138687
|
|||
|
8e8de63540
|
|||
|
6777c065ee
|
|||
|
f2c4e73b8c
|
|||
|
e82cdfd00f
|
|||
|
7643662fcc
|
|||
|
5c56d77a23
|
|||
|
eaae9b7487
|
|||
|
f012025917
|
|||
|
ac65cd683a
|
|||
|
e689e3efd8
|
|||
|
94d3a2716e
|
@@ -11,6 +11,8 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
RUNNER_TOOL_CACHE: /toolcache
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -26,7 +28,17 @@ jobs:
|
||||
corepack enable
|
||||
corepack prepare yarn@stable --activate
|
||||
|
||||
- name: Cache node_modules
|
||||
id: cache-node-modules
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-node-modules-${{ hashFiles('yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-node-modules-
|
||||
|
||||
- name: Install dependencies
|
||||
if: steps.cache-node-modules.outputs.cache-hit != 'true'
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Create env file
|
||||
@@ -37,7 +49,7 @@ jobs:
|
||||
|
||||
- name: Build and Release
|
||||
id: build
|
||||
run: npx semantic-release
|
||||
run: yarn semantic-release
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.GT_TOKEN }}
|
||||
GITEA_URL: ${{ vars.GT_URL }}
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
[
|
||||
"@semantic-release/exec",
|
||||
{
|
||||
"prepareCmd": "npm run generate-version '${nextRelease.version}' && yarn install --immutable && yarn generate",
|
||||
"publishCmd": "tar -czvf release-${nextRelease.version}.tar.gz -C .output/public . && echo '::set-output name=VERSION::${nextRelease.version}'"
|
||||
"prepareCmd": "node generate-version.cjs '${nextRelease.version}' && yarn install --immutable && yarn generate",
|
||||
"publishCmd": "tar -czvf release-${nextRelease.version}.tar.gz -C .output/public . && echo \"VERSION=${nextRelease.version}\" >> \"$GITHUB_OUTPUT\""
|
||||
}
|
||||
],
|
||||
[
|
||||
|
||||
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`
|
||||
@@ -26,9 +26,15 @@
|
||||
"vue-router": "^5.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@saithodev/semantic-release-gitea": "^2.1.0",
|
||||
"@semantic-release/changelog": "^6.0.0",
|
||||
"@semantic-release/commit-analyzer": "^13.0.0",
|
||||
"@semantic-release/exec": "^6.0.0",
|
||||
"@semantic-release/release-notes-generator": "^14.0.0",
|
||||
"@vite-pwa/nuxt": "^1.1.1",
|
||||
"husky": "^9.0.0",
|
||||
"sass-embedded": "^1.98.0",
|
||||
"semantic-release": "^24.0.0",
|
||||
"vitest": "^4.1.0",
|
||||
"vue-tsc": "^2.0.0"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user