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