feat(bench): add scripts/bench.sh + docs/BENCHMARKS.md (Closes #5) #25
Workflow file for this run
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: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| web: | |
| name: Web (Next.js) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Generate Prisma client | |
| run: npm run db:generate -w apps/runloop | |
| - name: Lint | |
| run: npm run lint | |
| - name: Typecheck | |
| run: npm run typecheck | |
| - name: Test | |
| env: | |
| SECRET_ENCRYPTION_KEY: 0000000000000000000000000000000000000000000000000000000000000001 | |
| run: npm test --workspaces --if-present | |
| - name: Build | |
| env: | |
| # Build needs SOME value to succeed; the runtime guards refuse | |
| # weak defaults at boot, not at compile time. | |
| JWT_SECRET: ci-build-only-not-used-at-runtime-1234567890 | |
| SECRET_ENCRYPTION_KEY: 0000000000000000000000000000000000000000000000000000000000000001 | |
| DATABASE_URL: postgres://ci:ci@localhost:5432/ci?sslmode=disable | |
| run: npm run build | |
| engine: | |
| name: Engine (Go) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: apps/runloop-engine | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| cache-dependency-path: apps/runloop-engine/go.sum | |
| - name: go vet | |
| run: go vet ./... | |
| - name: go build | |
| run: go build ./... | |
| - name: go test | |
| run: go test ./... -count=1 -race -timeout=2m | |
| cli: | |
| name: CLI | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: apps/runloop-cli | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| cache-dependency-path: apps/runloop-cli/go.sum | |
| - name: build | |
| run: go build ./... | |
| secrets-scan: | |
| name: Secret scan | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| # trufflehog is free for org repos; gitleaks-action requires a paid | |
| # license for orgs since v2 (https://github.com/gitleaks/gitleaks-action#-announcement). | |
| - uses: trufflesecurity/trufflehog@main | |
| with: | |
| extra_args: --results=verified,unknown |