Skip to content

Merge pull request #3 from CastQuest/copilot/implement-production-bui… #6

Merge pull request #3 from CastQuest/copilot/implement-production-bui…

Merge pull request #3 from CastQuest/copilot/implement-production-bui… #6

Workflow file for this run

name: CI
on:
pull_request:
branches: [main, gptcodexpro]
push:
branches: [main, gptcodexpro]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-and-test:
name: Lint and Test
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8.15.0
run_install: false
- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Setup Turbo cache
uses: actions/cache@v3
with:
path: .turbo
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Lint
run: pnpm run lint
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
- name: Type check
run: pnpm run typecheck
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
- name: Test
run: pnpm run test
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
- name: Security Scan
run: pnpm run security:scan
continue-on-error: true
contracts-test:
name: Contract Tests
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8.15.0
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Compile contracts
run: pnpm --filter @castquest/contracts build
- name: Run contract tests
run: pnpm --filter @castquest/contracts test
- name: Generate coverage
run: pnpm --filter @castquest/contracts test:coverage
continue-on-error: true