From fd0af7233768098026e8a122b59d8f1b873f8f5b Mon Sep 17 00:00:00 2001 From: Daniel Coutinho <60111446+dcoutinho1328@users.noreply.github.com> Date: Fri, 17 Apr 2026 14:18:49 -0300 Subject: [PATCH 1/3] ci: consolidate workflow pipeline with dependency chain Convert individual CI workflows to reusable (workflow_call) and add an orchestrator ci.yml that chains them: architecture + build + lint (parallel) -> format -> sync -> code-quality -> claude-review -> complete-build Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/build.yml | 14 ++------- .github/workflows/ci-architecture.yml | 6 +--- .github/workflows/ci-build.yml | 6 +--- .github/workflows/ci-format.yml | 6 +--- .github/workflows/ci-lint.yml | 6 +--- .github/workflows/ci-sync.yml | 5 +-- .github/workflows/ci.yml | 39 ++++++++++++++++++++++++ .github/workflows/claude-code-review.yml | 9 +----- .github/workflows/code_quality.yml | 14 ++------- 9 files changed, 49 insertions(+), 56 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f38c724a0..8ddcfa332 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,17 +1,7 @@ -name: Build - -run-name: OpenPLC CI pipeline - Build test +name: Complete Build on: - push: - branches: - - main - - development - pull_request: - # The branches below must be a subset of the branches above - branches: - - main - - development + workflow_call: jobs: build: runs-on: ${{ matrix.os }} diff --git a/.github/workflows/ci-architecture.yml b/.github/workflows/ci-architecture.yml index a2b4c7d1f..68e285bd2 100644 --- a/.github/workflows/ci-architecture.yml +++ b/.github/workflows/ci-architecture.yml @@ -1,11 +1,7 @@ name: CI - Architecture on: - pull_request: - branches: - - main - - development - - refactor/shared-ui-migration + workflow_call: jobs: architecture: diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 040cd1965..0ba976c09 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -1,11 +1,7 @@ name: CI - Build on: - pull_request: - branches: - - main - - development - - refactor/shared-ui-migration + workflow_call: jobs: build: diff --git a/.github/workflows/ci-format.yml b/.github/workflows/ci-format.yml index fe35b3b84..aa5f4d3d6 100644 --- a/.github/workflows/ci-format.yml +++ b/.github/workflows/ci-format.yml @@ -1,11 +1,7 @@ name: CI - Format on: - pull_request: - branches: - - main - - development - - refactor/shared-ui-migration + workflow_call: jobs: format: diff --git a/.github/workflows/ci-lint.yml b/.github/workflows/ci-lint.yml index 3e792f995..90a807b9b 100644 --- a/.github/workflows/ci-lint.yml +++ b/.github/workflows/ci-lint.yml @@ -1,11 +1,7 @@ name: CI - Lint on: - pull_request: - branches: - - main - - development - - refactor/shared-ui-migration + workflow_call: jobs: lint: diff --git a/.github/workflows/ci-sync.yml b/.github/workflows/ci-sync.yml index bea7a04f8..4a6ee2125 100644 --- a/.github/workflows/ci-sync.yml +++ b/.github/workflows/ci-sync.yml @@ -1,10 +1,7 @@ name: CI - Cross-Repo Sync on: - pull_request: - branches: - - main - - development + workflow_call: jobs: surface-sync: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..92394c290 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,39 @@ +name: CI + +on: + pull_request: + branches: + - main + - development + +jobs: + architecture: + uses: ./.github/workflows/ci-architecture.yml + + build-check: + uses: ./.github/workflows/ci-build.yml + + lint: + uses: ./.github/workflows/ci-lint.yml + + format: + needs: [architecture, build-check, lint] + uses: ./.github/workflows/ci-format.yml + + sync: + needs: [format] + uses: ./.github/workflows/ci-sync.yml + secrets: inherit + + code-quality: + needs: [sync] + uses: ./.github/workflows/code_quality.yml + + claude-review: + needs: [code-quality] + uses: ./.github/workflows/claude-code-review.yml + secrets: inherit + + complete-build: + needs: [claude-review] + uses: ./.github/workflows/build.yml diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml index b5e8cfd4d..83dea72bd 100644 --- a/.github/workflows/claude-code-review.yml +++ b/.github/workflows/claude-code-review.yml @@ -1,14 +1,7 @@ name: Claude Code Review on: - pull_request: - types: [opened, synchronize, ready_for_review, reopened] - # Optional: Only run on specific file changes - # paths: - # - "src/**/*.ts" - # - "src/**/*.tsx" - # - "src/**/*.js" - # - "src/**/*.jsx" + workflow_call: jobs: claude-review: diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml index e052138bf..afff0da11 100644 --- a/.github/workflows/code_quality.yml +++ b/.github/workflows/code_quality.yml @@ -1,17 +1,7 @@ -name: Code quality - -run-name: OpenPLC CI pipeline - Code quality +name: Code Quality on: - push: - branches: - - main - - development - pull_request: - # The branches below must be a subset of the branches above - branches: - - main - - development + workflow_call: jobs: quality: runs-on: ubuntu-latest From 993dff1b2ffddeeb834dcccae4757cc075849838 Mon Sep 17 00:00:00 2001 From: Daniel Coutinho <60111446+dcoutinho1328@users.noreply.github.com> Date: Fri, 17 Apr 2026 14:22:07 -0300 Subject: [PATCH 2/3] ci: trigger workflow run From 47973d43081a4465942c4dfc8380aa71687c9695 Mon Sep 17 00:00:00 2001 From: Daniel Coutinho <60111446+dcoutinho1328@users.noreply.github.com> Date: Fri, 17 Apr 2026 14:30:21 -0300 Subject: [PATCH 3/3] fix workflows --- .github/workflows/ci.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 92394c290..1fc269fd4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,15 +25,6 @@ jobs: uses: ./.github/workflows/ci-sync.yml secrets: inherit - code-quality: - needs: [sync] - uses: ./.github/workflows/code_quality.yml - - claude-review: - needs: [code-quality] - uses: ./.github/workflows/claude-code-review.yml - secrets: inherit - complete-build: - needs: [claude-review] + needs: [sync] uses: ./.github/workflows/build.yml