Files

77 lines
1.8 KiB
YAML

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
bot:
name: Bot (Python)
runs-on: ubuntu-latest
defaults:
run:
working-directory: bot
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
cache-dependency-path: bot/requirements.txt
- name: Install dependencies
run: pip install -r requirements.txt
- name: Syntax check
run: python -m compileall -q -x 'leveling_original' .
- name: Import smoke test
env:
TOKEN: test
OWNER_IDS: "123456789012345678"
API_ENABLED: "false"
TUNNEL_ENABLED: "false"
run: |
python - <<'PY'
from core.axiom import Axiom
from api.server import create_app
bot = Axiom()
create_app()
import cogs
print("imports ok")
PY
dashboard:
name: Dashboard (Next.js)
runs-on: ubuntu-latest
defaults:
run:
working-directory: dashboard
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: dashboard/package-lock.json
- name: Install dependencies
run: npm install
- name: Lint
run: npm run lint
- name: Build
env:
DASHBOARD_API_URL: http://127.0.0.1:8000/api/v1
DASHBOARD_API_KEY: ci-test-key
NEXTAUTH_URL: http://localhost:3000
NEXTAUTH_SECRET: ci-test-secret-min-32-chars-long!!
DISCORD_CLIENT_ID: "0"
DISCORD_CLIENT_SECRET: ci-secret
run: npm run build