diff --git a/.github/workflows/components-build-deploy.yml b/.github/workflows/components-build-deploy.yml index 0c40b5fb1..dfde7a4c6 100644 --- a/.github/workflows/components-build-deploy.yml +++ b/.github/workflows/components-build-deploy.yml @@ -3,10 +3,28 @@ name: Build and Push Component Docker Images on: push: branches: [main] + paths: + - '.github/workflows/components-build-deploy.yml' + - 'components/manifests/**' + - 'components/runners/**' + - 'components/operator/**' + - 'components/backend/**' + - 'components/frontend/**' pull_request_target: branches: [main] + paths: + - '.github/workflows/components-build-deploy.yml' + - 'components/manifests/**' + - 'components/runners/**' + - 'components/operator/**' + - 'components/backend/**' + - 'components/frontend/**' workflow_dispatch: +concurrency: + group: components-build-deploy-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: detect-changes: runs-on: ubuntu-latest diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index a23ffa3a3..3aac62d49 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -3,10 +3,29 @@ name: E2E Tests on: pull_request: branches: [ main, master ] + paths: + - 'components/**' + - '.github/workflows/e2e.yml' + - 'e2e/**' + - 'scripts/**' + - '.specify/**' + - 'agents/**' + push: branches: [ main, master ] + paths: + - 'components/**' + - '.github/workflows/e2e.yml' + - 'e2e/**' + - 'scripts/**' + - '.specify/**' + - 'agents/**' workflow_dispatch: # Allow manual trigger +concurrency: + group: e2e-tests-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: detect-changes: runs-on: ubuntu-latest diff --git a/.github/workflows/frontend-lint.yml b/.github/workflows/frontend-lint.yml index 67b705807..22766430f 100644 --- a/.github/workflows/frontend-lint.yml +++ b/.github/workflows/frontend-lint.yml @@ -3,38 +3,39 @@ name: Frontend Lint and Type Check on: push: branches: [main] + paths: + - 'components/frontend/**/*.ts' + - 'components/frontend/**/*.tsx' + - 'components/frontend/**/*.js' + - 'components/frontend/**/*.jsx' + - 'components/frontend/package.json' + - 'components/frontend/package-lock.json' + - 'components/frontend/tsconfig.json' + - 'components/frontend/eslint.config.mjs' + - '.github/workflows/frontend-lint.yml' + pull_request: branches: [main] + paths: + - 'components/frontend/**/*.ts' + - 'components/frontend/**/*.tsx' + - 'components/frontend/**/*.js' + - 'components/frontend/**/*.jsx' + - 'components/frontend/package.json' + - 'components/frontend/package-lock.json' + - 'components/frontend/tsconfig.json' + - 'components/frontend/eslint.config.mjs' + - '.github/workflows/frontend-lint.yml' + workflow_dispatch: -jobs: - detect-frontend-changes: - runs-on: ubuntu-latest - outputs: - frontend: ${{ steps.filter.outputs.frontend }} - steps: - - name: Checkout code - uses: actions/checkout@v5 - - - name: Check for Frontend changes - uses: dorny/paths-filter@v3 - id: filter - with: - filters: | - frontend: - - 'components/frontend/**/*.ts' - - 'components/frontend/**/*.tsx' - - 'components/frontend/**/*.js' - - 'components/frontend/**/*.jsx' - - 'components/frontend/package.json' - - 'components/frontend/package-lock.json' - - 'components/frontend/tsconfig.json' - - 'components/frontend/eslint.config.mjs' +concurrency: + group: frontend-lint-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true +jobs: lint-frontend: runs-on: ubuntu-latest - needs: detect-frontend-changes - if: needs.detect-frontend-changes.outputs.frontend == 'true' || github.event_name == 'workflow_dispatch' steps: - name: Checkout code uses: actions/checkout@v5 @@ -68,7 +69,7 @@ jobs: lint-summary: runs-on: ubuntu-latest - needs: [detect-frontend-changes, lint-frontend] + needs: lint-frontend if: always() steps: - name: Check overall status diff --git a/.github/workflows/go-lint.yml b/.github/workflows/go-lint.yml index 661bd40a4..8e6d086e3 100644 --- a/.github/workflows/go-lint.yml +++ b/.github/workflows/go-lint.yml @@ -3,10 +3,30 @@ name: Go Lint and Format on: push: branches: [main] + paths: + - 'components/backend/**/*.go' + - 'components/backend/go.mod' + - 'components/backend/go.sum' + - 'components/operator/**/*.go' + - 'components/operator/go.mod' + - 'components/operator/go.sum' + - '.github/workflows/go-lint.yml' pull_request: branches: [main] + paths: + - 'components/backend/**/*.go' + - 'components/backend/go.mod' + - 'components/backend/go.sum' + - 'components/operator/**/*.go' + - 'components/operator/go.mod' + - 'components/operator/go.sum' + - '.github/workflows/go-lint.yml' workflow_dispatch: +concurrency: + group: go-lint-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: detect-go-changes: runs-on: ubuntu-latest