diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2024-02-21 13:56:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-21 13:56:19 +0100 |
| commit | b38c5ff64d1494279a7c59e1e4f6fab69f1b32ba (patch) | |
| tree | 21914b89514e18ae5bfc5a92e77b481b7c565a8b /.github/workflows | |
| parent | cf2efdd5620f8d3db4da1fbef4e44775bc712cda (diff) | |
Explicitly disable sparse checkout unless asked for (#1598)
When a worktree is reused by actions/checkout and the first time sparse checkout was enabled, we need to ensure that the second time it is only a sparse checkout if explicitly asked for. Otherwise, we need to disable the sparse checkout so that a full checkout is the outcome of this Action.
## Details
* If no `sparse-checkout` parameter is specified, disable it
This should allow users to reuse existing folders when running
`actions/checkout` where a previous run asked for a sparse checkout but
the current run does not ask for a sparse checkout.
This fixes https://github.com/actions/checkout/issues/1475
There are use cases in particular with non-ephemeral (self-hosted) runners where an
existing worktree (that has been initialized as a sparse checkout) is
reused in subsequent CI runs (where `actions/checkout` is run _without_
any `sparse-checkout` parameter).
In these scenarios, we need to make sure that the sparse checkout is
disabled before checking out the files.
### Also includes:
* npm run build
* ci: verify that an existing sparse checkout can be made unsparse
* Added a clarifying comment about test branches.
* `test-proxy` now uses newly-minted `test-ubuntu-git` container image from ghcr.io
---------
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Co-authored-by: John Wesley Walker III <81404201+jww3@users.noreply.github.com>
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/test.yml | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 15996ee..d8c83ac 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,6 +7,11 @@ on: - main - releases/* + +# Note that when you see patterns like "ref: test-data/v2/basic" within this workflow, +# these refer to "test-data" branches on this actions/checkout repo. +# (For example, test-data/v2/basic -> https://github.com/actions/checkout/tree/test-data/v2/basic) + jobs: build: runs-on: ubuntu-latest @@ -95,6 +100,16 @@ jobs: - name: Verify sparse checkout run: __test__/verify-sparse-checkout.sh + # Disabled sparse checkout in existing checkout + - name: Disabled sparse checkout + uses: ./ + with: + path: sparse-checkout + + - name: Verify disabled sparse checkout + shell: bash + run: set -x && ls -l sparse-checkout/src/git-command-manager.ts + # Sparse checkout (non-cone mode) - name: Sparse checkout (non-cone mode) uses: ./ @@ -175,7 +190,7 @@ jobs: test-proxy: runs-on: ubuntu-latest container: - image: alpine/git:latest + image: ghcr.io/actions/test-ubuntu-git:main.20240221.114913.703z options: --dns 127.0.0.1 services: squid-proxy: @@ -279,4 +294,4 @@ jobs: - name: Fix Checkout v3 uses: actions/checkout@v3 with: - path: v3
\ No newline at end of file + path: v3 |
