138 lines
3.6 KiB
YAML
138 lines
3.6 KiB
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, reopened, synchronize]
|
|
|
|
jobs:
|
|
typecheck:
|
|
runs-on: blacksmith-8vcpu-ubuntu-2404
|
|
timeout-minutes: 25
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '24'
|
|
cache: 'pnpm'
|
|
|
|
- name: Install dependencies
|
|
run: python3 scripts/ci/workflows/ci.py --step install_dependencies
|
|
|
|
- name: Run typecheck
|
|
run: python3 scripts/ci/workflows/ci.py --step typecheck
|
|
env:
|
|
TURBO_API: https://turborepo.fluxer.dev
|
|
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
|
TURBO_TEAM: team_fluxer
|
|
|
|
test:
|
|
runs-on: blacksmith-8vcpu-ubuntu-2404
|
|
timeout-minutes: 25
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '24'
|
|
cache: 'pnpm'
|
|
|
|
- name: Install dependencies
|
|
run: python3 scripts/ci/workflows/ci.py --step install_dependencies
|
|
|
|
- name: Run tests
|
|
run: python3 scripts/ci/workflows/ci.py --step test
|
|
env:
|
|
FLUXER_CONFIG: config/config.test.json
|
|
TURBO_API: https://turborepo.fluxer.dev
|
|
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
|
TURBO_TEAM: team_fluxer
|
|
|
|
gateway:
|
|
runs-on: blacksmith-8vcpu-ubuntu-2404
|
|
timeout-minutes: 25
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Set up Erlang
|
|
uses: erlef/setup-beam@v1
|
|
with:
|
|
otp-version: '28'
|
|
rebar3-version: '3.24.0'
|
|
|
|
- name: Cache rebar3 dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
fluxer_gateway/_build
|
|
~/.cache/rebar3
|
|
key: rebar3-${{ runner.os }}-${{ hashFiles('fluxer_gateway/rebar.lock') }}
|
|
restore-keys: |
|
|
rebar3-${{ runner.os }}-
|
|
|
|
- name: Compile
|
|
run: python3 scripts/ci/workflows/ci.py --step gateway_compile
|
|
|
|
- name: Run dialyzer
|
|
run: python3 scripts/ci/workflows/ci.py --step gateway_dialyzer
|
|
|
|
- name: Run eunit tests
|
|
run: python3 scripts/ci/workflows/ci.py --step gateway_eunit
|
|
env:
|
|
FLUXER_CONFIG: ../config/config.test.json
|
|
|
|
knip:
|
|
runs-on: blacksmith-8vcpu-ubuntu-2404
|
|
timeout-minutes: 25
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '24'
|
|
cache: 'pnpm'
|
|
|
|
- name: Install dependencies
|
|
run: python3 scripts/ci/workflows/ci.py --step install_dependencies
|
|
|
|
- name: Run knip
|
|
run: python3 scripts/ci/workflows/ci.py --step knip
|
|
env:
|
|
TURBO_API: https://turborepo.fluxer.dev
|
|
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
|
TURBO_TEAM: team_fluxer
|
|
|
|
ci-scripts:
|
|
runs-on: blacksmith-8vcpu-ubuntu-2404
|
|
timeout-minutes: 25
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Set up uv
|
|
uses: astral-sh/setup-uv@v7
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Sync ci python dependencies
|
|
run: python3 scripts/ci/workflows/ci_scripts.py --step sync
|
|
|
|
- name: Run ci python tests
|
|
run: python3 scripts/ci/workflows/ci_scripts.py --step test
|