fix(windows): make durability fsyncs and project scripts survive win3… #42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| env: | |
| NODE_VERSION: "24" | |
| PNPM_VERSION: "10" | |
| jobs: | |
| verify: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: ${{ env.PNPM_VERSION }} | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: pnpm | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-unknown-linux-gnu | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: packages/localapp/native/linux | |
| shared-key: native-linux-x64 | |
| - name: Install workspace and OpenSpec | |
| run: | | |
| pnpm install --frozen-lockfile | |
| npm install --global @fission-ai/openspec@1.6.0 | |
| - name: Validate generated platform contract | |
| run: pnpm check:capabilities | |
| - name: Build TypeScript applications | |
| run: | | |
| pnpm -C packages/server-core build | |
| pnpm -C packages/web build | |
| pnpm -C packages/server build | |
| pnpm -C packages/localapp build | |
| - name: Test platform packages | |
| run: | | |
| pnpm -C packages/server-core test | |
| pnpm -C packages/web test | |
| pnpm -C packages/server test | |
| pnpm -C packages/localapp test | |
| pnpm -C packages/localapp test:native | |
| pnpm -C init-repo test | |
| pnpm test:platform-regression | |
| - name: Validate release infrastructure | |
| run: | | |
| pnpm test:windows-release-script | |
| pnpm test:release-manifest | |
| pnpm test:release-workflow | |
| pnpm test:public-source | |
| - name: Validate OpenSpec | |
| run: openspec validate --all --strict | |
| - name: Export and verify public source snapshot | |
| run: pnpm export:public-source --commit "${GITHUB_SHA}" --output "${RUNNER_TEMP}/localapp-public" --verify | |
| - name: Verify builds leave tracked sources unchanged | |
| run: git diff --exit-code | |
| - name: Pack the Docker product | |
| run: pnpm package:localapp | |
| - name: Build public Docker image from the npm package | |
| run: docker build --tag localapp-ci:${{ github.sha }} . | |
| - name: Smoke test packaged Server in Docker | |
| run: bash scripts/docker-release-smoke.sh localapp-ci:${{ github.sha }} | |
| secrets: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: gitleaks/gitleaks-action@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |