From a33774e95453e67eecd8c917c86fdba352db0846 Mon Sep 17 00:00:00 2001 From: Kevin Turcios Date: Tue, 7 Oct 2025 15:08:54 -0700 Subject: [PATCH 1/2] Setup E2E workflow dependencies on unit tests --- .github/workflows/e2e-async.yaml | 9 +++++---- .github/workflows/e2e-bubblesort-benchmark.yaml | 9 +++++---- .github/workflows/e2e-bubblesort-pytest-nogit.yaml | 9 +++++---- .github/workflows/e2e-bubblesort-unittest.yaml | 9 +++++---- .github/workflows/e2e-coverage-optimization.yaml | 9 +++++---- .github/workflows/e2e-futurehouse-structure.yaml | 9 +++++---- .github/workflows/e2e-init-optimization.yaml | 9 +++++---- .github/workflows/e2e-topological-sort.yaml | 9 +++++---- .github/workflows/e2e-tracer-replay.yaml | 9 +++++---- .github/workflows/unit-tests.yaml | 3 +-- 10 files changed, 46 insertions(+), 38 deletions(-) diff --git a/.github/workflows/e2e-async.yaml b/.github/workflows/e2e-async.yaml index e7d08091c..92e65da55 100644 --- a/.github/workflows/e2e-async.yaml +++ b/.github/workflows/e2e-async.yaml @@ -1,14 +1,15 @@ name: E2E - Async on: - pull_request: - paths: - - '**' # Trigger for all paths - + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: jobs: async-optimization: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-bubblesort-benchmark.yaml b/.github/workflows/e2e-bubblesort-benchmark.yaml index 0be8e2a68..a219d5aef 100644 --- a/.github/workflows/e2e-bubblesort-benchmark.yaml +++ b/.github/workflows/e2e-bubblesort-benchmark.yaml @@ -1,14 +1,15 @@ name: E2E - Bubble Sort Benchmark on: - pull_request: - paths: - - '**' # Trigger for all paths - + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: jobs: benchmark-bubble-sort-optimization: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-bubblesort-pytest-nogit.yaml b/.github/workflows/e2e-bubblesort-pytest-nogit.yaml index f30e4f14e..30697fb74 100644 --- a/.github/workflows/e2e-bubblesort-pytest-nogit.yaml +++ b/.github/workflows/e2e-bubblesort-pytest-nogit.yaml @@ -1,14 +1,15 @@ name: E2E - Bubble Sort Pytest (No Git) on: - pull_request: - paths: - - '**' # Trigger for all paths - + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: jobs: bubble-sort-optimization-pytest-no-git: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-bubblesort-unittest.yaml b/.github/workflows/e2e-bubblesort-unittest.yaml index c4177e706..46bb66d46 100644 --- a/.github/workflows/e2e-bubblesort-unittest.yaml +++ b/.github/workflows/e2e-bubblesort-unittest.yaml @@ -1,14 +1,15 @@ name: E2E - Bubble Sort Unittest on: - pull_request: - paths: - - '**' # Trigger for all paths - + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: jobs: bubble-sort-optimization-unittest: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-coverage-optimization.yaml b/.github/workflows/e2e-coverage-optimization.yaml index 29a821a33..2c77d04db 100644 --- a/.github/workflows/e2e-coverage-optimization.yaml +++ b/.github/workflows/e2e-coverage-optimization.yaml @@ -1,14 +1,15 @@ name: Coverage E2E on: - pull_request: - paths: - - '**' # Trigger for all paths - + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: jobs: end-to-end-test-coverage: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-futurehouse-structure.yaml b/.github/workflows/e2e-futurehouse-structure.yaml index 71bf88046..e87c12465 100644 --- a/.github/workflows/e2e-futurehouse-structure.yaml +++ b/.github/workflows/e2e-futurehouse-structure.yaml @@ -1,14 +1,15 @@ name: E2E - Futurehouse Structure on: - pull_request: - paths: - - '**' # Trigger for all paths - + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: jobs: futurehouse-structure: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-init-optimization.yaml b/.github/workflows/e2e-init-optimization.yaml index ccaf5371a..f9e21ce0d 100644 --- a/.github/workflows/e2e-init-optimization.yaml +++ b/.github/workflows/e2e-init-optimization.yaml @@ -1,13 +1,14 @@ name: E2E - Init Optimization on: - pull_request: - paths: - - '**' # Trigger for all paths + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: - jobs: init-optimization: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-topological-sort.yaml b/.github/workflows/e2e-topological-sort.yaml index 9cc7d5174..6e6b94d69 100644 --- a/.github/workflows/e2e-topological-sort.yaml +++ b/.github/workflows/e2e-topological-sort.yaml @@ -1,14 +1,15 @@ name: E2E - Topological Sort on: - pull_request: - paths: - - '**' # Trigger for all paths - + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: jobs: topological-sort-optimization: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} runs-on: ubuntu-latest diff --git a/.github/workflows/e2e-tracer-replay.yaml b/.github/workflows/e2e-tracer-replay.yaml index c287538f4..7ecf62feb 100644 --- a/.github/workflows/e2e-tracer-replay.yaml +++ b/.github/workflows/e2e-tracer-replay.yaml @@ -1,13 +1,14 @@ name: E2E - Tracer Replay on: - pull_request: - paths: - - '**' # Trigger for all paths + workflow_run: + workflows: ["Unit Tests"] + types: + - completed workflow_dispatch: - jobs: tracer-replay: + if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 492d6aec2..0dc829879 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -1,4 +1,4 @@ -name: unit-tests +name: Unit Tests on: push: @@ -12,7 +12,6 @@ jobs: fail-fast: false matrix: python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] - continue-on-error: true runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From 23c241ed27bd44e568711b019abdb164ad57427c Mon Sep 17 00:00:00 2001 From: Kevin Turcios Date: Tue, 7 Oct 2025 15:19:56 -0700 Subject: [PATCH 2/2] Revert "Setup E2E workflow dependencies on unit tests" This reverts commit a33774e95453e67eecd8c917c86fdba352db0846. --- .github/workflows/e2e-async.yaml | 9 ++++----- .github/workflows/e2e-bubblesort-benchmark.yaml | 9 ++++----- .github/workflows/e2e-bubblesort-pytest-nogit.yaml | 9 ++++----- .github/workflows/e2e-bubblesort-unittest.yaml | 9 ++++----- .github/workflows/e2e-coverage-optimization.yaml | 9 ++++----- .github/workflows/e2e-futurehouse-structure.yaml | 9 ++++----- .github/workflows/e2e-init-optimization.yaml | 9 ++++----- .github/workflows/e2e-topological-sort.yaml | 9 ++++----- .github/workflows/e2e-tracer-replay.yaml | 9 ++++----- .github/workflows/unit-tests.yaml | 3 ++- 10 files changed, 38 insertions(+), 46 deletions(-) diff --git a/.github/workflows/e2e-async.yaml b/.github/workflows/e2e-async.yaml index 92e65da55..e7d08091c 100644 --- a/.github/workflows/e2e-async.yaml +++ b/.github/workflows/e2e-async.yaml @@ -1,15 +1,14 @@ name: E2E - Async on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths + workflow_dispatch: jobs: async-optimization: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-bubblesort-benchmark.yaml b/.github/workflows/e2e-bubblesort-benchmark.yaml index a219d5aef..0be8e2a68 100644 --- a/.github/workflows/e2e-bubblesort-benchmark.yaml +++ b/.github/workflows/e2e-bubblesort-benchmark.yaml @@ -1,15 +1,14 @@ name: E2E - Bubble Sort Benchmark on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths + workflow_dispatch: jobs: benchmark-bubble-sort-optimization: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-bubblesort-pytest-nogit.yaml b/.github/workflows/e2e-bubblesort-pytest-nogit.yaml index 30697fb74..f30e4f14e 100644 --- a/.github/workflows/e2e-bubblesort-pytest-nogit.yaml +++ b/.github/workflows/e2e-bubblesort-pytest-nogit.yaml @@ -1,15 +1,14 @@ name: E2E - Bubble Sort Pytest (No Git) on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths + workflow_dispatch: jobs: bubble-sort-optimization-pytest-no-git: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-bubblesort-unittest.yaml b/.github/workflows/e2e-bubblesort-unittest.yaml index 46bb66d46..c4177e706 100644 --- a/.github/workflows/e2e-bubblesort-unittest.yaml +++ b/.github/workflows/e2e-bubblesort-unittest.yaml @@ -1,15 +1,14 @@ name: E2E - Bubble Sort Unittest on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths + workflow_dispatch: jobs: bubble-sort-optimization-unittest: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-coverage-optimization.yaml b/.github/workflows/e2e-coverage-optimization.yaml index 2c77d04db..29a821a33 100644 --- a/.github/workflows/e2e-coverage-optimization.yaml +++ b/.github/workflows/e2e-coverage-optimization.yaml @@ -1,15 +1,14 @@ name: Coverage E2E on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths + workflow_dispatch: jobs: end-to-end-test-coverage: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-futurehouse-structure.yaml b/.github/workflows/e2e-futurehouse-structure.yaml index e87c12465..71bf88046 100644 --- a/.github/workflows/e2e-futurehouse-structure.yaml +++ b/.github/workflows/e2e-futurehouse-structure.yaml @@ -1,15 +1,14 @@ name: E2E - Futurehouse Structure on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths + workflow_dispatch: jobs: futurehouse-structure: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-init-optimization.yaml b/.github/workflows/e2e-init-optimization.yaml index f9e21ce0d..ccaf5371a 100644 --- a/.github/workflows/e2e-init-optimization.yaml +++ b/.github/workflows/e2e-init-optimization.yaml @@ -1,14 +1,13 @@ name: E2E - Init Optimization on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths workflow_dispatch: + jobs: init-optimization: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/e2e-topological-sort.yaml b/.github/workflows/e2e-topological-sort.yaml index 6e6b94d69..9cc7d5174 100644 --- a/.github/workflows/e2e-topological-sort.yaml +++ b/.github/workflows/e2e-topological-sort.yaml @@ -1,15 +1,14 @@ name: E2E - Topological Sort on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths + workflow_dispatch: jobs: topological-sort-optimization: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} runs-on: ubuntu-latest diff --git a/.github/workflows/e2e-tracer-replay.yaml b/.github/workflows/e2e-tracer-replay.yaml index 7ecf62feb..c287538f4 100644 --- a/.github/workflows/e2e-tracer-replay.yaml +++ b/.github/workflows/e2e-tracer-replay.yaml @@ -1,14 +1,13 @@ name: E2E - Tracer Replay on: - workflow_run: - workflows: ["Unit Tests"] - types: - - completed + pull_request: + paths: + - '**' # Trigger for all paths workflow_dispatch: + jobs: tracer-replay: - if: ${{ github.event.workflow_run.conclusion == 'success' }} # Dynamically determine if environment is needed only when workflow files change and contributor is external environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }} diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 0dc829879..492d6aec2 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -1,4 +1,4 @@ -name: Unit Tests +name: unit-tests on: push: @@ -12,6 +12,7 @@ jobs: fail-fast: false matrix: python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + continue-on-error: true runs-on: ubuntu-latest steps: - uses: actions/checkout@v4