chore: release v0.3.5 #212
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
| # Blade Code CI Pipeline | |
| name: CI/CD | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| branches: [main, develop] | |
| env: | |
| CI: true | |
| NODE_ENV: test | |
| jobs: | |
| quality-gate: | |
| name: Quality Gate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.11 | |
| - name: Verify Bun runtime | |
| run: bun --version | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20.x" | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Build CLI package | |
| run: bun run build:cli | |
| - name: Run CLI type check | |
| run: bun run type-check | |
| - name: Run web type check | |
| run: bun run type-check:web | |
| - name: Run web session lint | |
| run: bun run lint:web | |
| - name: Run web regression tests | |
| run: bun run test:web | |
| - name: Build all packages | |
| run: bun run build | |
| core-headless-gate: | |
| name: Headless Core Gate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.11 | |
| - name: Verify Bun runtime | |
| run: bun --version | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20.x" | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Build CLI package | |
| run: bun run build:cli | |
| - name: Run headless core regression suite | |
| run: bun run test:headless-core | |
| coverage: | |
| name: Test Coverage | |
| runs-on: ubuntu-latest | |
| needs: [quality-gate, core-headless-gate] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.11 | |
| - name: Verify Bun runtime | |
| run: bun --version | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20.x" | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Build CLI package | |
| run: bun run build:cli | |
| - name: Run tests with coverage | |
| run: bun run --filter blade-code test:coverage | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| files: ./packages/cli/coverage/lcov.info | |
| flags: unittests | |
| name: blade-cli-coverage | |
| fail_ci_if_error: false | |
| verbose: true | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Upload coverage artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: packages/cli/coverage/ | |
| retention-days: 7 | |
| security-tests: | |
| name: Security Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.11 | |
| - name: Verify Bun runtime | |
| run: bun --version | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20.x" | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Build CLI package | |
| run: bun run build:cli | |
| - name: Run security tests | |
| run: bun run --filter blade-code test:security | |
| - name: Run Bun audit | |
| run: bun audit --audit-level=high || true | |
| cross-platform-smoke: | |
| name: Cross Platform Smoke (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.11 | |
| - name: Verify Bun runtime | |
| run: bun --version | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20.x" | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Build all packages | |
| run: bun run build | |
| - name: Test CLI help | |
| run: bun run --filter blade-code start -- --help | |
| - name: Test headless help | |
| run: bun run --filter blade-code start -- --headless /help |