Skip to content

Merge pull request #3 from ChasmNetwork/release-0.0.4 #8

Merge pull request #3 from ChasmNetwork/release-0.0.4

Merge pull request #3 from ChasmNetwork/release-0.0.4 #8

name: Pre-merge Checks
on:
push:
branches: ["main"]
pull_request:
branches: [ main, master ]
jobs:
checkout-install:
name: Checkout and Install Dependencies
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Cache Bun packages
id: cache-bun
uses: actions/cache@v3
with:
path: |
~/.bun/bun
~/.bun/install
~/.bun/bin
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
restore-keys: |
${{ runner.os }}-bun-
- name: Install dependencies
run: bun install
- name: Upload Bun cache
if: steps.cache-bun.outputs.cache-hit != 'true'
uses: actions/cache@v3
with:
path: |
~/.bun/bun
~/.bun/install
~/.bun/bin
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
formatting-linting:
name: Formatting and Linting Checks
runs-on: ubuntu-latest
needs: checkout-install
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Restore Bun cache
uses: actions/cache@v3
with:
path: |
~/.bun/bun
~/.bun/install
~/.bun/bin
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Run formatting checks
run: bun run prettier
- name: Run linting checks
run: bun run lint
jest-tests:
name: Jest Tests
runs-on: ubuntu-latest
needs: checkout-install
environment: CI
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Restore Bun cache
uses: actions/cache@v3
with:
path: |
~/.bun/bun
~/.bun/install
~/.bun/bin
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install dependencies
run: bun install
# - name: Run Jest unit & integration tests
# env:
# OPENAI_API_KEY: ${{ vars.OPENAI_API_KEY }}
# GROQ_API_KEY: ${{ vars.GROQ_API_KEY }}
# OPENROUTER_API_KEY: ${{ vars.OPENROUTER_API_KEY }}
# run: bun run test --verbose
type-check:
name: Type Checks
runs-on: ubuntu-latest
needs: [formatting-linting, jest-tests]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Restore Bun cache
uses: actions/cache@v3
with:
path: |
~/.bun/bun
~/.bun/install
~/.bun/bin
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Run type checks
run: bun run build