From d6172cf46aadfce0ade61fa1e996bab5ed7295fd Mon Sep 17 00:00:00 2001 From: Kevin Stillhammer Date: Sun, 8 Dec 2024 17:33:57 +0100 Subject: [PATCH] Add **/requirements*.txt to default cache-dependency-glob --- .github/workflows/test-cache.yml | 35 +++++++++++++++++++ README.md | 9 +++-- .../requirements-txt-project/hello_world.py | 1 + .../requirements-txt-project/requirements.txt | 1 + action.yml | 4 ++- 5 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 __tests__/fixtures/requirements-txt-project/hello_world.py create mode 100644 __tests__/fixtures/requirements-txt-project/requirements.txt diff --git a/.github/workflows/test-cache.yml b/.github/workflows/test-cache.yml index 98f10b0..ffeaa38 100644 --- a/.github/workflows/test-cache.yml +++ b/.github/workflows/test-cache.yml @@ -41,6 +41,41 @@ jobs: CACHE_HIT: ${{ steps.restore.outputs.cache-hit }} - run: uv sync working-directory: __tests__/fixtures/uv-project + test-setup-cache-requirements-txt: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Setup with cache + uses: ./ + with: + enable-cache: true + cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-requirements-txt + - run: | + uv venv + uv pip install -r requirements.txt + working-directory: __tests__/fixtures/requirements-txt-project + test-restore-cache-requirements-txt: + runs-on: ubuntu-latest + needs: test-setup-cache + steps: + - uses: actions/checkout@v4 + - name: Restore with cache + id: restore + uses: ./ + with: + enable-cache: true + cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-requirements-txt + - name: Cache was hit + run: | + if [ "$CACHE_HIT" != "true" ]; then + exit 1 + fi + env: + CACHE_HIT: ${{ steps.restore.outputs.cache-hit }} + - run: | + uv venv + uv pip install -r requirements.txt + working-directory: __tests__/fixtures/requirements-txt-project test-setup-cache-dependency-glob: runs-on: ubuntu-latest diff --git a/README.md b/README.md index 89fdf3e..e108a89 100644 --- a/README.md +++ b/README.md @@ -154,14 +154,19 @@ changes. If you use relative paths, they are relative to the repository root. > [!NOTE] > -> The default is `**/uv.lock`. +> The default is +> ```yaml +> cache-dependency-glob: | +> **/requirements*.txt +> **/uv.lock +> ``` ```yaml - name: Define a cache dependency glob uses: astral-sh/setup-uv@v4 with: enable-cache: true - cache-dependency-glob: "**/requirements*.txt" + cache-dependency-glob: "**/pyproject.toml" ``` ```yaml diff --git a/__tests__/fixtures/requirements-txt-project/hello_world.py b/__tests__/fixtures/requirements-txt-project/hello_world.py new file mode 100644 index 0000000..44159b3 --- /dev/null +++ b/__tests__/fixtures/requirements-txt-project/hello_world.py @@ -0,0 +1 @@ +print("Hello world") diff --git a/__tests__/fixtures/requirements-txt-project/requirements.txt b/__tests__/fixtures/requirements-txt-project/requirements.txt new file mode 100644 index 0000000..33bd85b --- /dev/null +++ b/__tests__/fixtures/requirements-txt-project/requirements.txt @@ -0,0 +1 @@ +ruff>=0.6.2 diff --git a/action.yml b/action.yml index fbe7e34..4f5341f 100644 --- a/action.yml +++ b/action.yml @@ -25,7 +25,9 @@ inputs: description: "Glob pattern to match files relative to the repository root to control the cache." - default: "**/uv.lock" + default: | + **/uv.lock + **/requirements*.txt cache-suffix: description: "Suffix for the cache key" required: false