From c87527c7b0681551cd4b968823c5d4a07a6b259d Mon Sep 17 00:00:00 2001 From: Ryan Clary <9618975+mrclary@users.noreply.github.com> Date: Wed, 11 Dec 2024 12:16:40 -0800 Subject: [PATCH] Rebuild caches before testing --- .github/workflows/purge-cache.yml | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/.github/workflows/purge-cache.yml b/.github/workflows/purge-cache.yml index 4a46c861900..ba7da551c75 100644 --- a/.github/workflows/purge-cache.yml +++ b/.github/workflows/purge-cache.yml @@ -27,6 +27,52 @@ jobs: # Last command must be successful so that workflow step does not fail echo Purging cache is complete. + rebuild-test-caches: + name: ${{ matrix.os }} ${{ matrix.INSTALL_TYPE }} ${{ matrix.PYTHON_VERSION }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + INSTALL_TYPE: [pip, conda] + PYTHON_VERSION: [3.8, 3.10, 3.12] + include: + - os: ubuntu-latest + INSTALL_TYPE: conda + PYTHON_VERSION: 3.9 + - os: macos-13 + INSTALL_TYPE: conda + PYTHON_VERSION: 3.11 + - os: windows-latest + INSTALL_TYPE: pip + PYTHON_VERSION: 3.11 + - os: windows-latest + INSTALL_TYPE: conda + PYTHON_VERSION: 3.11 + + steps: + - name: Cache conda + uses: actions/cache@v4 + with: + path: ~/conda_pkgs_dir + key: ${{ runner.os }}-cacheconda-install${{ matrix.INSTALL_TYPE }}-${{ matrix.PYTHON_VERSION }}-${{ hashFiles('requirements/*.yml') }} + + - name: Cache pip + uses: actions/cache@v4 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-cachepip-install${{ matrix.INSTALL_TYPE }}-${{ hashFiles('setup.py') }} + + - name: Create test environment + if: matrix.INSTALL_TYPE == 'conda' + uses: mamba-org/setup-micromamba@v2 + with: + micromamba-version: '1.5.10-0' + environment-file: requirements/main.yml + environment-name: test + cache-downloads: true + cache-downloads-key: micromamba-downloads-test-${{ matrix.PYTHON_VERSION }} + create-args: python=${{ matrix.PYTHON_VERSION }} + build-subrepos: name: Build subrepos needs: @@ -37,28 +83,33 @@ jobs: name: Run test-files needs: - cleanup + - rebuild-test-caches uses: ./.github/workflows/test-files.yml run-test-linux: name: Run test-linux needs: - cleanup + - rebuild-test-caches uses: ./.github/workflows/test-linux.yml run-test-mac: name: Run test-mac needs: - cleanup + - rebuild-test-caches uses: ./.github/workflows/test-mac.yml run-test-remoteclient: name: Run test-remoteclient needs: - cleanup + - rebuild-test-caches uses: ./.github/workflows/test-remoteclient.yml run-test-win: name: Run test-win needs: - cleanup + - rebuild-test-caches uses: ./.github/workflows/test-win.yml