From eeea186df447561b52ff0196d11ce7c01c485439 Mon Sep 17 00:00:00 2001 From: Jayam Patel Date: Fri, 5 Dec 2025 13:53:53 +0530 Subject: [PATCH] Updated full_stack and stress_test workflows to cache deps properly. --- .../merge-develop-and-set-up-dependencies/action.yml | 5 +++++ .github/workflows/full_stack_tests.yml | 9 +++++++++ .github/workflows/stress_test_acceptance_test.yml | 9 +++++++++ 3 files changed, 23 insertions(+) diff --git a/.github/actions/merge-develop-and-set-up-dependencies/action.yml b/.github/actions/merge-develop-and-set-up-dependencies/action.yml index 5c80fd06e468d..46c0afa9f595e 100644 --- a/.github/actions/merge-develop-and-set-up-dependencies/action.yml +++ b/.github/actions/merge-develop-and-set-up-dependencies/action.yml @@ -1,5 +1,10 @@ name: Merge develop and set up dependencies description: 'Merge develop into current branch, and set up dependencies' + +outputs: + pip-cache-hit: + value: ${{ steps.restore_python_dev_dependencies_cache.outputs.cache-hit }} + runs: using: composite steps: diff --git a/.github/workflows/full_stack_tests.yml b/.github/workflows/full_stack_tests.yml index cb9c95572089c..dfc54337ae941 100644 --- a/.github/workflows/full_stack_tests.yml +++ b/.github/workflows/full_stack_tests.yml @@ -69,9 +69,18 @@ jobs: - name: Checkout repository so that local actions can be used uses: actions/checkout@v4 - name: Merge develop and set up dependencies + id: merge-develop-and-set-up-dependencies uses: ./.github/actions/merge-develop-and-set-up-dependencies - name: Generate build files uses: ./.github/actions/generate-build-files + # Note: We are using cache for pip packages. When cache is not found, the new cache is uploaded + # after last step of this job. However, "Generate build files" job removes the pip packages + # before it's cached. So, we need to reinstall python dependencies libs after the build files + # are generated. So, incomplete packages are not cached. + - name: Reinstall python dependencies + if: ${{ steps.merge-develop-and-set-up-dependencies.outputs.pip-cache-hit == false }} + run: | + python -m scripts.install_python_dev_dependencies e2e_test: needs: [check_test_suites_to_run, build] runs-on: ubuntu-22.04 diff --git a/.github/workflows/stress_test_acceptance_test.yml b/.github/workflows/stress_test_acceptance_test.yml index 198d01372f0e1..99ccd346e4b0a 100644 --- a/.github/workflows/stress_test_acceptance_test.yml +++ b/.github/workflows/stress_test_acceptance_test.yml @@ -55,9 +55,18 @@ jobs: - name: Checkout repository so that local actions can be used uses: actions/checkout@v4 - name: Merge develop and set up dependencies + id: merge-develop-and-set-up-dependencies uses: ./.github/actions/merge-develop-and-set-up-dependencies - name: Generate build files uses: ./.github/actions/generate-build-files + # Note: We are using cache for pip packages. When cache is not found, the new cache is uploaded + # after last step of this job. However, "Generate build files" job removes the pip packages + # before it's cached. So, we need to reinstall python dependencies libs after the build files + # are generated. So, incomplete packages are not cached. + - name: Reinstall python dependencies + if: ${{ steps.merge-develop-and-set-up-dependencies.outputs.pip-cache-hit == false }} + run: | + python -m scripts.install_python_dev_dependencies run_acceptance_test: needs: [build, generate-matrix]