Files
vibe-kanban/package.json
Alex Netsch 8a91dba6e3 Check prepare db in CI (vibe-kanban) (#1423)
* Done! Here's a summary of the changes:

1. **`scripts/prepare-db.js`** - Added `--check` flag support that runs `cargo sqlx prepare --check` instead of `cargo sqlx prepare`

2. **`package.json`** - Added new script:
   ```json
   "prepare-db:check": "node scripts/prepare-db.js --check"
   ```

3. **`.github/workflows/test.yml`** - Added `npm run prepare-db:check` to the Checks step

The check will verify that the `.sqlx/` cached query metadata is up-to-date with the actual SQL queries in the codebase. If a developer modifies a SQL query but forgets to run `npm run prepare-db`, the CI will fail.

* Fix image queries

* Done! Added check mode support to the remote script:

1. **`crates/remote/scripts/prepare-db.sh`** - Added `--check` flag support that runs `cargo sqlx prepare --check` when passed

2. **`package.json`** - Added:
   ```json
   "remote:prepare-db:check": "cd crates/remote && bash scripts/prepare-db.sh --check"
   ```

Note: I didn't add `remote:prepare-db:check` to CI since it requires PostgreSQL (`initdb`, `pg_ctl`) which may not be available on the CI runner. The local SQLite-based `prepare-db:check` is already in CI. Let me know if you'd like to add the remote check to CI as well (would require installing PostgreSQL in the workflow).

* Add remote db check to workflow

* Added a step to install `sqlx-cli` with both SQLite and PostgreSQL features. The Rust cache should help speed up subsequent runs since it caches installed crates.

* Done! All three files updated to use Rust `1.89.0`:

1. `rust-toolchain.toml` - `channel = "1.89.0"`
2. `.github/workflows/test.yml` - `toolchain: 1.89.0`
3. `.github/workflows/pre-release.yml` - `RUST_TOOLCHAIN: 1.89.0`

This should fix the `zerocopy` AVX512 compile error since 1.89.0 has `stdarch_x86_avx512` stabilized.

* Done. Added a step to install PostgreSQL before the Checks step so `npm run remote:prepare-db:check` can run.

* Updated to install `postgresql-16` and add `/usr/lib/postgresql/16/bin` to PATH so `initdb`, `pg_ctl`, and `createdb` are available.

* Added the official PostgreSQL apt repository so we can install PostgreSQL 16.

* Much cleaner. Using the `ikalnytskyi/action-setup-postgres@v7` action which handles the PostgreSQL 16 installation and PATH setup automatically.

* Done. Changes made:

1. **`crates/remote/scripts/prepare-db.sh`**: Now checks if `DATABASE_URL` is set. If so, uses the existing PostgreSQL server. Otherwise creates a temp cluster as before.

2. **`.github/workflows/test.yml`**:
   - Added `database: remote` to the PostgreSQL action to create the database
   - Added `DATABASE_URL: postgres://postgres@localhost:5432/remote` env var to the Checks step

* Done. Changes made:

1. **`.github/workflows/test.yml`**: Removed PostgreSQL setup step and `DATABASE_URL` env var
2. **`crates/remote/scripts/prepare-db.sh`**: Simplified - for `--check` mode, exits early with `SQLX_OFFLINE=true cargo sqlx prepare --check` (no database needed)
2025-12-04 15:57:32 +00:00

45 lines
1.9 KiB
JSON

{
"name": "vibe-kanban",
"version": "0.0.127",
"private": true,
"bin": {
"vibe-kanban": "npx-cli/bin/cli.js"
},
"files": [
"npx-cli/bin/cli.js",
"npx-cli/dist/**"
],
"scripts": {
"lint": "npm run frontend:lint && npm run backend:lint",
"format": "cargo fmt --all && cd frontend && npm run format",
"check": "npm run frontend:check && npm run backend:check",
"dev": "export FRONTEND_PORT=$(node scripts/setup-dev-environment.js frontend) && export BACKEND_PORT=$(node scripts/setup-dev-environment.js backend) && concurrently \"npm run backend:dev:watch\" \"npm run frontend:dev\"",
"test:npm": "./test-npm-package.sh",
"frontend:lint": "cd frontend && npm run lint",
"frontend:dev": "cd frontend && npm run dev -- --port ${FRONTEND_PORT:-3000} --host",
"frontend:check": "cd frontend && npm run check",
"backend:lint": "cargo clippy --workspace --all-targets --all-features -- -D warnings",
"backend:dev": "BACKEND_PORT=$(node scripts/setup-dev-environment.js backend) npm run backend:dev:watch",
"backend:check": "cargo check",
"backend:dev:watch": "DISABLE_WORKTREE_ORPHAN_CLEANUP=1 RUST_LOG=debug cargo watch -w crates -x 'run --bin server'",
"generate-types": "cargo run --bin generate_types",
"generate-types:check": "cargo run --bin generate_types -- --check",
"prepare-db": "node scripts/prepare-db.js",
"prepare-db:check": "node scripts/prepare-db.js --check",
"build:npx": "bash ./local-build.sh",
"prepack": "npm run build:npx",
"remote:dev": "cd crates/remote && docker compose --env-file .env.remote up --build ; docker compose down -v",
"remote:prepare-db": "cd crates/remote && bash scripts/prepare-db.sh",
"remote:prepare-db:check": "cd crates/remote && bash scripts/prepare-db.sh --check"
},
"devDependencies": {
"concurrently": "^8.2.2",
"vite": "^6.3.5"
},
"engines": {
"node": ">=18",
"pnpm": ">=8"
},
"packageManager": "pnpm@10.13.1"
}