Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/backend_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Check for project
description: Check for type errors and linting errors in the project.

on:
pull_request:
paths:
- "backend/**"
- ".github/workflows/**"
- "pnpm-lock.yaml"
workflow_dispatch:
permissions:
contents: read

jobs:
ci:
name: Backend CI
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
package_json_file: "package.json"
run_install: false

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: "pnpm"
cache-dependency-path: "pnpm-lock.yaml"

- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build backend
run: pnpm run --filter backend build # If this fails, the PR should not be merged.
145 changes: 0 additions & 145 deletions .github/workflows/ci.yml

This file was deleted.

134 changes: 66 additions & 68 deletions .github/workflows/flaky_test_check.yml
Original file line number Diff line number Diff line change
@@ -1,68 +1,66 @@
name: Flaky Test Stress Test

on:
workflow_dispatch:
inputs:
iterations:
description: |
Number of parallel iterations to run.
Note that iterations above 20 require GitHub Pro or better to run in parallel.
Range: 1..200
required: true
default: 10
type: number
permissions:
contents: read
jobs:
setup-matrix:
runs-on: ubuntu-latest
outputs:
indices: ${{ steps.set-matrix.outputs.indices }}
steps:
- id: set-matrix
run: |
ITER="${{ github.event.inputs.iterations }}"
if [ "$ITER" -lt 1 ] || [ "$ITER" -gt 200 ]; then
echo "Error: iterations must be between 1 and 200."
exit 1
fi
# Generate a JSON array [1, 2, ..., N]
INDICES=$(node -e "console.log(JSON.stringify(Array.from({length: $ITER}, (_, i) => i + 1)))")
echo "indices=$INDICES" >> $GITHUB_OUTPUT

run-flaky-check:
needs: setup-matrix
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false # Don't stop other jobs if one fails, we want to see all fails
matrix:
index: ${{ fromJson(needs.setup-matrix.outputs.indices) }}
container:
image: mcr.microsoft.com/playwright:v1.57.0
options: --user 1001
steps:
- uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
package_json_file: "package.json"
run_install: false

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: "pnpm"
cache-dependency-path: "pnpm-lock.yaml"

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run Tests (Iteration ${{ matrix.index }})
run: |
pnpm -F frontend test:browser
pnpm -F frontend test:coverage --coverage.reporters=text-summary
pnpm -F frontend test
timeout-minutes: 10
name: Flaky Test Stress Test

on:
workflow_dispatch:
inputs:
iterations:
description: |
Number of parallel iterations to run.
Note that iterations above 20 require GitHub Pro or better to run in parallel.
Range: 1..200
required: true
default: 10
type: number
permissions:
contents: read
jobs:
setup-matrix:
runs-on: ubuntu-latest
outputs:
indices: ${{ steps.set-matrix.outputs.indices }}
steps:
- id: set-matrix
run: |
ITER="${{ github.event.inputs.iterations }}"
if [ "$ITER" -lt 1 ] || [ "$ITER" -gt 200 ]; then
echo "Error: iterations must be between 1 and 200."
exit 1
fi
# Generate a JSON array [1, 2, ..., N]
INDICES=$(node -e "console.log(JSON.stringify(Array.from({length: $ITER}, (_, i) => i + 1)))")
echo "indices=$INDICES" >> $GITHUB_OUTPUT

run-flaky-check:
needs: setup-matrix
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false # Don't stop other jobs if one fails, we want to see all fails
matrix:
index: ${{ fromJson(needs.setup-matrix.outputs.indices) }}
container:
image: mcr.microsoft.com/playwright:v1.57.0
options: --user 1001
steps:
- uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
package_json_file: "package.json"
run_install: false

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: "pnpm"
cache-dependency-path: "pnpm-lock.yaml"

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run Tests (Iteration ${{ matrix.index }})
run: |
pnpm -F frontend test --coverage.reporters=text-summary
timeout-minutes: 10
Loading
Loading