|
@@ -4,7 +4,10 @@ on:
|
|
|
push:
|
|
push:
|
|
|
branches: [main]
|
|
branches: [main]
|
|
|
pull_request:
|
|
pull_request:
|
|
|
- branches: [main]
|
|
|
|
|
|
|
+ # Run on all PRs, but skip for repo owner (runs local tests)
|
|
|
|
|
+
|
|
|
|
|
+# Skip CI for repo owner's PRs (they run tests locally)
|
|
|
|
|
+# This check is applied to all jobs below
|
|
|
|
|
|
|
|
env:
|
|
env:
|
|
|
PYTHON_VERSION: '3.11'
|
|
PYTHON_VERSION: '3.11'
|
|
@@ -23,6 +26,7 @@ jobs:
|
|
|
backend-lint:
|
|
backend-lint:
|
|
|
name: Backend Lint
|
|
name: Backend Lint
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
|
|
+ if: github.event_name == 'push' || github.actor != github.repository_owner
|
|
|
steps:
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/checkout@v4
|
|
|
|
|
|
|
@@ -43,6 +47,7 @@ jobs:
|
|
|
backend-tests:
|
|
backend-tests:
|
|
|
name: Backend Tests
|
|
name: Backend Tests
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
|
|
+ if: github.event_name == 'push' || github.actor != github.repository_owner
|
|
|
needs: backend-lint
|
|
needs: backend-lint
|
|
|
steps:
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/checkout@v4
|
|
@@ -79,6 +84,7 @@ jobs:
|
|
|
frontend-lint:
|
|
frontend-lint:
|
|
|
name: Frontend Lint
|
|
name: Frontend Lint
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
|
|
+ if: github.event_name == 'push' || github.actor != github.repository_owner
|
|
|
steps:
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/checkout@v4
|
|
|
|
|
|
|
@@ -100,6 +106,7 @@ jobs:
|
|
|
frontend-typecheck:
|
|
frontend-typecheck:
|
|
|
name: Frontend Type Check
|
|
name: Frontend Type Check
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
|
|
+ if: github.event_name == 'push' || github.actor != github.repository_owner
|
|
|
steps:
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/checkout@v4
|
|
|
|
|
|
|
@@ -121,6 +128,7 @@ jobs:
|
|
|
frontend-tests:
|
|
frontend-tests:
|
|
|
name: Frontend Tests
|
|
name: Frontend Tests
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
|
|
+ if: github.event_name == 'push' || github.actor != github.repository_owner
|
|
|
needs: [frontend-lint, frontend-typecheck]
|
|
needs: [frontend-lint, frontend-typecheck]
|
|
|
steps:
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/checkout@v4
|
|
@@ -144,6 +152,7 @@ jobs:
|
|
|
frontend-build:
|
|
frontend-build:
|
|
|
name: Frontend Build
|
|
name: Frontend Build
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
|
|
+ if: github.event_name == 'push' || github.actor != github.repository_owner
|
|
|
needs: [frontend-tests]
|
|
needs: [frontend-tests]
|
|
|
steps:
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/checkout@v4
|
|
@@ -170,6 +179,7 @@ jobs:
|
|
|
docker-test:
|
|
docker-test:
|
|
|
name: Docker Build
|
|
name: Docker Build
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
|
|
+ if: github.event_name == 'push' || github.actor != github.repository_owner
|
|
|
timeout-minutes: 20
|
|
timeout-minutes: 20
|
|
|
needs: [backend-tests, frontend-build]
|
|
needs: [backend-tests, frontend-build]
|
|
|
steps:
|
|
steps:
|