mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-10-21 06:29:34 +08:00
* chore(nix): improve flake with dynamic version and source filtering - Read version dynamically from package.json instead of hardcoding - Add lib.fileset source filtering to exclude node_modules and build artifacts - Update update-flake.sh to support dynamic version pattern - Add hash change detection to skip unnecessary rebuilds - Improve error handling with automatic rollback on failure - Update specs to reflect dynamic version behavior * chore(ci): bump Nix actions to latest versions - nix-installer-action: v13 → v21 - magic-nix-cache-action: v8 → v13 - Update validation message for unchanged flake.nix * chore: add changeset for Nix improvements * fix(nix): make update-flake.sh portable to macOS - Fix grep pattern on line 37 to include opening parenthesis - Replace GNU grep -oP with portable sed alternatives (lines 53, 68, 70) - Ensures script works on both Linux and macOS (BSD sed/grep) * fix(nix): properly check build verification exit status Fix logic bug where build failures were incorrectly reported as success. The script now: - Captures build exit code and output separately - Fails fast if build returns non-zero exit code - Only checks for 'dirty tree' warning if build succeeded This addresses CodeRabbit review feedback on line 101-107. --------- Co-authored-by: Tabish Bidiwale <30385142+TabishB@users.noreply.github.com>
38 lines
844 B
Markdown
38 lines
844 B
Markdown
# OpenSpec Scripts
|
|
|
|
Utility scripts for OpenSpec maintenance and development.
|
|
|
|
## update-flake.sh
|
|
|
|
Updates `flake.nix` pnpm dependency hash automatically.
|
|
|
|
**When to use**: After updating dependencies (`pnpm install`, `pnpm update`).
|
|
|
|
**Usage**:
|
|
```bash
|
|
./scripts/update-flake.sh
|
|
```
|
|
|
|
**What it does**:
|
|
1. Reads version from `package.json` (dynamically used by `flake.nix`)
|
|
2. Automatically determines the correct pnpm dependency hash
|
|
3. Updates the hash in `flake.nix`
|
|
4. Verifies the build succeeds
|
|
|
|
**Example workflow**:
|
|
```bash
|
|
# After dependency updates
|
|
pnpm install
|
|
./scripts/update-flake.sh
|
|
git add flake.nix
|
|
git commit -m "chore: update flake.nix dependency hash"
|
|
```
|
|
|
|
## postinstall.js
|
|
|
|
Post-installation script that runs after package installation.
|
|
|
|
## pack-version-check.mjs
|
|
|
|
Validates package version consistency before publishing.
|