Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for sparse checkouts #1369

Merged
merged 4 commits into from Jun 9, 2023
Merged

Conversation

dscho
Copy link
Contributor

@dscho dscho commented Jun 3, 2023

A relatively recent feature of Git are the sparse checkouts, i.e. checkouts where only part of the files in the revision are actually written to the worktree, and other files are only in the index. Combined with the partial clone feature, this is a very powerful tool to work e.g. with monorepos.

This PR adds support for sparse checkouts:

- uses: actions/checkout@v3
  with:
    sparse-checkout: |
      .github
      src

This PR builds on #1317, adding a commit to optionally turn off cone mode.

@dscho
Copy link
Contributor Author

dscho commented Jun 3, 2023

[Extracted from the PR description to avoid making it a part of the commit message when squash-merging:]

Apart from squashing commits to avoid introducing bugs only to immediately fix them, the fixups on top of #1317 include reverts of unrelated changes (there are some var declarations that should be const, but that fix has nothing to do with sparse checkouts and should therefore not be part of this PR).

Diff of the fixups on top of #1317
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 590da62..8d5fffd 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -72,7 +72,7 @@ jobs:
         shell: bash
         run: __test__/verify-side-by-side.sh
 
-     # Sparse checkout
+      # Sparse checkout
       - name: Sparse checkout
         uses: ./
         with:
@@ -82,9 +82,7 @@ jobs:
             dist
           path: sparse-checkout
 
-      - name: Verify sparse checkout basic
-        run: __test__/verify-sparse-checkout-basic.sh
-      - name: Verify sparse checkout example
+      - name: Verify sparse checkout
         run: __test__/verify-sparse-checkout.sh
 
       # LFS
@@ -220,7 +218,7 @@ jobs:
           path: basic
       - name: Verify basic
         run: __test__/verify-basic.sh --archive
-
+    
   test-git-container:
     runs-on: ubuntu-latest
     container: bitnami/git:latest
diff --git a/README.md b/README.md
index f46b30a..14b4366 100644
--- a/README.md
+++ b/README.md
@@ -74,7 +74,7 @@ When Git 2.18 or higher is not in your PATH, falls back to the REST API to downl
     # Default: true
     clean: ''
 
-    # Do a sparse checkout on given patterns. Each pattern should be sepparated with
+    # Do a sparse checkout on given patterns. Each pattern should be separated with
     # new lines
     # Default: null
     sparse-checkout: ''
@@ -111,17 +111,17 @@ When Git 2.18 or higher is not in your PATH, falls back to the REST API to downl
 
 # Scenarios
 
-- [Fetch only the root files](#fetch-only-the-root-files)
-- [Fetch only the root files and `.github` and `src` folder](#fetch-only-the-root-files-and-github-and-src-folder)
-- [Fetch all history for all tags and branches](#fetch-all-history-for-all-tags-and-branches)
-- [Checkout a different branch](#checkout-a-different-branch)
-- [Checkout HEAD^](#checkout-head)
-- [Checkout multiple repos (side by side)](#checkout-multiple-repos-side-by-side)
-- [Checkout multiple repos (nested)](#checkout-multiple-repos-nested)
-- [Checkout multiple repos (private)](#checkout-multiple-repos-private)
-- [Checkout pull request HEAD commit instead of merge commit](#checkout-pull-request-head-commit-instead-of-merge-commit)
-- [Checkout pull request on closed event](#checkout-pull-request-on-closed-event)
-- [Push a commit using the built-in token](#push-a-commit-using-the-built-in-token)
+- [Fetch only the root files](#Fetch-only-the-root-files)
+- [Fetch only the root files and `.github` and `src` folder](#Fetch-only-the-root-files-and-github-and-src-folder)
+- [Fetch all history for all tags and branches](#Fetch-all-history-for-all-tags-and-branches)
+- [Checkout a different branch](#Checkout-a-different-branch)
+- [Checkout HEAD^](#Checkout-HEAD)
+- [Checkout multiple repos (side by side)](#Checkout-multiple-repos-side-by-side)
+- [Checkout multiple repos (nested)](#Checkout-multiple-repos-nested)
+- [Checkout multiple repos (private)](#Checkout-multiple-repos-private)
+- [Checkout pull request HEAD commit instead of merge commit](#Checkout-pull-request-HEAD-commit-instead-of-merge-commit)
+- [Checkout pull request on closed event](#Checkout-pull-request-on-closed-event)
+- [Push a commit using the built-in token](#Push-a-commit-using-the-built-in-token)
 
 ## Fetch only the root files
 
diff --git a/__test__/verify-sparse-checkout-basic.sh b/__test__/verify-sparse-checkout-basic.sh
deleted file mode 100755
index f8085f4..0000000
--- a/__test__/verify-sparse-checkout-basic.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-# Verify .git folder
-if [ ! -d "./sparse-checkout/.git" ]; then
-  echo "Expected ./sparse-checkout/.git folder to exist"
-  exit 1
-fi
-
-# Verify sparse-checkout basic
-cd sparse-checkout
-
-SPARSE=$(git sparse-checkout list)
-
-if [ "$?" != "0" ]; then
-    echo "Failed to validate sparse-checkout"
-    exit 1
-fi
-
-# Check that sparse-checkout list is not empty
-if [ -z "$SPARSE" ]; then
-  echo "Expected sparse-checkout list to not be empty"
-  exit 1
-fi
-
-# Check that all folders from sparse-checkout exists
-for pattern in $(git sparse-checkout list)
-do
-  if [ ! -d "$pattern" ]; then
-    echo "Expected directory '$pattern' to exist"
-    exit 1
-  fi
-done
\ No newline at end of file
diff --git a/__test__/verify-sparse-checkout.sh b/__test__/verify-sparse-checkout.sh
index b0dd060..f668430 100755
--- a/__test__/verify-sparse-checkout.sh
+++ b/__test__/verify-sparse-checkout.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 # Verify .git folder
 if [ ! -d "./sparse-checkout/.git" ]; then
@@ -9,6 +9,28 @@ fi
 # Verify sparse-checkout
 cd sparse-checkout
 
+SPARSE=$(git sparse-checkout list)
+
+if [ "$?" != "0" ]; then
+    echo "Failed to validate sparse-checkout"
+    exit 1
+fi
+
+# Check that sparse-checkout list is not empty
+if [ -z "$SPARSE" ]; then
+  echo "Expected sparse-checkout list to not be empty"
+  exit 1
+fi
+
+# Check that all folders of the sparse checkout exist
+for pattern in $SPARSE
+do
+  if [ ! -d "$pattern" ]; then
+    echo "Expected directory '$pattern' to exist"
+    exit 1
+  fi
+done
+
 checkSparse () {
   if [ ! -d "./$1" ]; then
     echo "Expected directory '$1' to exist"
@@ -24,12 +46,12 @@ checkSparse () {
   done
 }
 
-# Check that all folders and its childrens has been fetched correctly
+# Check that all folders and their children have been checked out
 checkSparse __test__
 checkSparse .github
 checkSparse dist
 
-# Check that only sparse-checkout folders has been fetched
+# Check that only sparse-checkout folders have been checked out
 for pattern in $(git ls-tree --name-only HEAD)
 do
   if [ -d "$pattern" ]; then
diff --git a/action.yml b/action.yml
index bb7451e..d0c96b1 100644
--- a/action.yml
+++ b/action.yml
@@ -56,7 +56,7 @@ inputs:
   sparse-checkout:
     description: >
       Do a sparse checkout on given patterns.
-      Each pattern should be sepparated with new lines
+      Each pattern should be separated with new lines
     default: null
   fetch-depth:
     description: 'Number of commits to fetch. 0 indicates all history for all branches and tags.'
diff --git a/dist/index.js b/dist/index.js
index c7aee5b..b48bffb 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -704,8 +704,8 @@ class GitCommandManager {
     }
     log1(format) {
         return __awaiter(this, void 0, void 0, function* () {
-            const args = format ? ['log', '-1', format] : ['log', '-1'];
-            const silent = format ? false : true;
+            var args = format ? ['log', '-1', format] : ['log', '-1'];
+            var silent = format ? false : true;
             const output = yield this.execGit(args, false, silent);
             return output.stdout;
         });
diff --git a/src/git-command-manager.ts b/src/git-command-manager.ts
index 132f34e..3a0ec58 100644
--- a/src/git-command-manager.ts
+++ b/src/git-command-manager.ts
@@ -308,8 +308,8 @@ class GitCommandManager {
   }
 
   async log1(format?: string): Promise<string> {
-    const args = format ? ['log', '-1', format] : ['log', '-1']
-    const silent = format ? false : true
+    var args = format ? ['log', '-1', format] : ['log', '-1']
+    var silent = format ? false : true
     const output = await this.execGit(args, false, silent)
     return output.stdout
   }

@dscho dscho force-pushed the sparse-checkout branch 5 times, most recently from e626bc3 to cb762b3 Compare June 3, 2023 23:07
@dscho dscho marked this pull request as ready for review June 3, 2023 23:10
@dscho dscho requested a review from a team as a code owner June 3, 2023 23:10
@dfdez
Copy link
Contributor

dfdez commented Jun 6, 2023

Hey @dscho I appreciate your participation on this topic!

But why did you create a new PR instead of continue the work in the original one?

Mainly to avoid more PRs to discuss and make easier go forward with this topic

I was working on the comments of #1317 (comment) and creating a new PR will only create conflicts and more difficulties to achieve this goal

Thanks anyway and I will take a look to the diff you proposed!

Comment on lines 92 to 94
result.sparseCheckoutConeMode =
(core.getInput('sparse-checkout-cone-mode') || 'true').toUpperCase() !==
'FALSE'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
result.sparseCheckoutConeMode =
(core.getInput('sparse-checkout-cone-mode') || 'true').toUpperCase() !==
'FALSE'
result.sparseCheckoutConeMode =
(core.getInput('sparse-checkout-cone-mode') || 'true').toUpperCase() === 'TRUE'

I think we normally compare with TRUE in the input-helper.ts

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed it in my most recent force-push.

@@ -154,6 +163,27 @@ class GitCommandManager {
return result
}

async sparseCheckout(sparseCheckout: string[]): Promise<void> {
await this.execGit(['sparse-checkout', 'set', ...sparseCheckout])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need to have extra check to make sure git is greater than certain version that support sparse-checkout?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @TingluoHuang git sparse-checkout is supported since the git version 2.26.0 and the current version on actions/checkout of git is 2.40.1 so I don't think this is something necessary 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current Git version on hosted runners is v2.40.1. But actions/checkout also supports self-hosted runners where users are often not at liberty to bump the Git version, e.g. because they're stuck on old Ubuntu LTS versions which simply refuse to move the needle.

I added c4602b4 to address this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uu nice! I understand perfect ✨

@dfdez
Copy link
Contributor

dfdez commented Jun 7, 2023

Hey @dscho after taking a look to this PR there are interesting changes that you made like some misspelling words, corrections to the README.md and the unification of the sparse-checkout test in only one file that I see perfect!

That is why I have made those updates on my branch on this commits d8614bd 7301241

Regarding the non-cone mode as mentioned on the git documentation we shouldn't use it.

Also is true that the var change to const does nothing to do with the goal of my PR but I thought it wouldn't be a problem to clean that!

Thanks for all the work done and let's hope we can use sparse-checkout soon!

While it _is_ true that cone mode is the default nowadays (mainly for
performance reasons: code mode is much faster than non-cone mode), there
_are_ legitimate use cases where non-cone mode is really useful.

Let's add a flag to optionally disable cone mode.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho
Copy link
Contributor Author

dscho commented Jun 7, 2023

But why did you create a new PR instead of continue the work in the original one?

I hoped that I could help move the feature along faster that way.

Regarding the non-cone mode as mentioned on the git documentation we shouldn't use it.

It is true that it is deprecated. And for good reasons: the performance of non-cone mode gets really bad really quickly with increasing sparse-checkout definitions.

However, it is precisely this mode that I require in a couple of legacy projects where code mode is just not feasible.

@dfdez
Copy link
Contributor

dfdez commented Jun 7, 2023

I hoped that I could help move the feature along faster that way.

Yes you are right but maybe it could be a better idea to create that PR to mine instead of creating a new one? But it's fine! Also I see that you are a contributor therefore I guess your PR have more priority?

However, it is precisely this mode that I require in a couple of legacy projects where code mode is just not feasible.

Okay that is a completely valid reason, but having this functionality knowing that is deprecated I wasn't sure if was the right thing to do, but if it's not a problem I don't see why we shouldn't add it

Also I have an answer regarding this comment about lfs and sparse-checkout let me know you opinion on this!

I'm not sure how we should proceed now, do I continue the changes on my current PR merging yours? Or do we continue on this PR?

@dscho
Copy link
Contributor Author

dscho commented Jun 7, 2023

you are a contributor therefore I guess your PR have more priority?

That was my thinking.

Also I have an answer regarding this comment about lfs and sparse-checkout let me know you opinion on this!

I don't really have any opinion on this, I am not using Git LFS in my repositories. If you have a solution that is working for everyone involved, I'd be happy to add it to this here PR (in the hopes that it will get merged soon).

dscho added 2 commits June 7, 2023 15:02
The `git sparse-checkout` command is available only since Git version
v2.25.0. The `actions/checkout` Action actually supports older Git
versions than that; As of time of writing, the minimum version is
v2.18.0.

Instead of raising this minimum version even for users who do not
require a sparse checkout, only check for this minimum version
specifically when a sparse checkout was asked for.

Suggested-by: Tingluo Huang <tingluohuang@github.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Instead of fetching all the LFS objects present in the current revision
in a sparse checkout, whether they are needed inside the sparse cone or
not, let's instead only pull the ones that are actually needed.

To do that, let's avoid running that preemptive `git lfs fetch` call in
case of a sparse checkout.

An alternative that was considered during the development of this patch
(and ultimately rejected) was to use `git lfs pull --include <path>...`,
but it turned out to be too inflexible because it requires exact paths,
not the patterns that are available via the sparse checkout definition,
and that risks running into command-line length limitations.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dfdez
Copy link
Contributor

dfdez commented Jun 7, 2023

I'm making some test to see that everything works as expected I will let you know if a see any strange behaviour 👍🏽

Copy link
Contributor

@dfdez dfdez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All seems to be good! 🚀

  • Sparse checkout with cone
  • Sparse checkout with non-cone mode
  • Sparse checkout with cone and lfs
  • Sparse checkout with non-cone mode and lfs

src
```

## Fetch only a single file
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you might provide another example for fetch single file that is not on the root dir? ex: few directory deep, etc.
also, maybe some examples of using glob pattern, ex checkout all *.md files? 😄

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's sounds great! 🚀

And maybe it has sense to add an example with lfs? In order to let know that the fetch of lfs can be reduced with the sparse-checkout option to 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you might provide another example for fetch single file that is not on the root dir? ex: few directory deep, etc. also, maybe some examples of using glob pattern, ex checkout all *.md files? 😄

That would require non-cone mode, which is deprecated by the Git project: https://git-scm.com/docs/git-sparse-checkout#_internalscone_pattern_set

Seeing as it is deprecated, I would like to avoid encouraging users to use it. Read: I do not want to add documentation how to do this, giving users the impression that they should use this.

And maybe it has sense to add an example with lfs? In order to let know that the fetch of lfs can be reduced with the sparse-checkout option to 🤔

The first part would be easy, by adding another LFS step that simply uses sparse-checkout: ..

However, the second part would be a bit tricky because this test requires a branch with LFS objects, and it uses the test-data/v2/lfs branch of actions/checkout itself. As you can see here, there is only one LFS file, in the root directory. Therefore, even in sparse checkout mode "all the LFS files" are fetched, i.e. that single one.

It would require adding another branch to the repository, with an additional LFS file in a subdirectory, and then we would still need to figure out a robust way to verify that it was not fetched, most likely relying on implementation details such as the location of the LFS cache (.git/lfs/objects) and the cache files' names, which would be fragile because implementation details are not guaranteed to remain unchanged.

So I don't know whether it is worth the effort.

core.startGroup('Fetching LFS objects')
await git.lfsFetch(checkoutInfo.startPoint || checkoutInfo.ref)
core.endGroup()
}

// Sparse checkout
if (settings.sparseCheckout) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what will happen if sparseCheckout is an empty array?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That shouldn't happen, you can see that the length is checked when setting up the sparseCheckout variable

You can find this here

@TingluoHuang TingluoHuang merged commit d106d46 into actions:main Jun 9, 2023
11 checks passed
@dscho dscho deleted the sparse-checkout branch June 9, 2023 14:45
dscho added a commit to dscho/checkout that referenced this pull request Jun 9, 2023
In actions#1369, I mistakenly replaced the hash-bang lines in the two new
scripts with `#!/bin/sh`, missing that both files contain the Bash'ism
`[[`. Symptom as per
https://github.com/actions/checkout/actions/runs/5200323109/jobs/9378889172?pr=1369#step:12:5

    __test__/verify-sparse-checkout.sh: 58: [[: not found

Let's change those hash-bang lines back to `#!/bin/bash`.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
TingluoHuang pushed a commit that referenced this pull request Jun 9, 2023
In #1369, I mistakenly replaced the hash-bang lines in the two new
scripts with `#!/bin/sh`, missing that both files contain the Bash'ism
`[[`. Symptom as per
https://github.com/actions/checkout/actions/runs/5200323109/jobs/9378889172?pr=1369#step:12:5

    __test__/verify-sparse-checkout.sh: 58: [[: not found

Let's change those hash-bang lines back to `#!/bin/bash`.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
badeball added a commit to badeball/cypress-cucumber-preprocessor that referenced this pull request Jun 10, 2023
I am admittedly a little unsure why files in leading directories,
including the root directory, aren't included. I feel like, based on how
I read the docs, that they should be included, but I'm glad that they're
not.

[1] actions/checkout#1369
falken42 added a commit to coldfusionjp/ghaction-checkout-plus that referenced this pull request Jul 25, 2023
…dfusionjp/main

* main:
  Mark test scripts with Bash'isms to be run via Bash (actions#1377)
  Release v3.5.3 (actions#1376)
  Add support for sparse checkouts (actions#1369)
  Fix typos found by codespell (actions#1287)
Copy link

@Spiritaine Spiritaine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good review

Copy link

@Spiritaine Spiritaine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good review

kodiakhq bot pushed a commit to pdylanross/fatigue that referenced this pull request Sep 5, 2023
Bumps actions/checkout from 3 to 4.

Release notes
Sourced from actions/checkout's releases.

v4.0.0
What's Changed

Update default runtime to node20 by @​takost in actions/checkout#1436
Support fetching without the --progress option by @​simonbaird in actions/checkout#1067
Release 4.0.0 by @​takost in actions/checkout#1447

New Contributors

@​takost made their first contribution in actions/checkout#1436
@​simonbaird made their first contribution in actions/checkout#1067

Full Changelog: actions/checkout@v3...v4.0.0
v3.6.0
What's Changed

Mark test scripts with Bash'isms to be run via Bash by @​dscho in actions/checkout#1377
Add option to fetch tags even if fetch-depth > 0 by @​RobertWieczoreck in actions/checkout#579
Release 3.6.0 by @​luketomlinson in actions/checkout#1437

New Contributors

@​RobertWieczoreck made their first contribution in actions/checkout#579
@​luketomlinson made their first contribution in actions/checkout#1437

Full Changelog: actions/checkout@v3.5.3...v3.6.0
v3.5.3
What's Changed

Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins by @​megamanics in actions/checkout#1196
Fix typos found by codespell by @​DimitriPapadopoulos in actions/checkout#1287
Add support for sparse checkouts by @​dscho and @​dfdez in actions/checkout#1369
Release v3.5.3 by @​TingluoHuang in actions/checkout#1376

New Contributors

@​megamanics made their first contribution in actions/checkout#1196
@​DimitriPapadopoulos made their first contribution in actions/checkout#1287
@​dfdez made their first contribution in actions/checkout#1369

Full Changelog: actions/checkout@v3...v3.5.3
v3.5.2
What's Changed

Fix: Use correct API url / endpoint in GHES by @​fhammerl in actions/checkout#1289 based on #1286 by @​1newsr

Full Changelog: actions/checkout@v3.5.1...v3.5.2
v3.5.1
What's Changed

Improve checkout performance on Windows runners by upgrading @​actions/github dependency by @​BrettDong in actions/checkout#1246

New Contributors

@​BrettDong made their first contribution in actions/checkout#1246



... (truncated)


Changelog
Sourced from actions/checkout's changelog.

Changelog
v4.0.0

Support fetching without the --progress option
Update to node20

v3.6.0

Fix: Mark test scripts with Bash'isms to be run via Bash
Add option to fetch tags even if fetch-depth > 0

v3.5.3

Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in
Fix typos found by codespell
Add support for sparse checkouts

v3.5.2

Fix api endpoint for GHES

v3.5.1

Fix slow checkout on Windows

v3.5.0

Add new public key for known_hosts

v3.4.0

Upgrade codeql actions to v2
Upgrade dependencies
Upgrade @​actions/io

v3.3.0

Implement branch list using callbacks from exec function
Add in explicit reference to private checkout options
[Fix comment typos (that got added in #770)](actions/checkout#1057)

v3.2.0

Add GitHub Action to perform release
Fix status badge
Replace datadog/squid with ubuntu/squid Docker image
Wrap pipeline commands for submoduleForeach in quotes
Update @​actions/io to 1.1.2
Upgrading version to 3.2.0

v3.1.0

Use @​actions/core saveState and getState
Add github-server-url input

v3.0.2

Add input set-safe-directory

v3.0.1


... (truncated)


Commits

3df4ab1 Release 4.0.0 (#1447)
8b5e8b7 Support fetching without the --progress option (#1067)
97a652b Update default runtime to node20 (#1436)
See full diff in compare view




Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Th3S4mur41 pushed a commit to Th3S4mur41/demo-auto-security-release that referenced this pull request Sep 5, 2023
## [1.0.3](v1.0.2...v1.0.3) (2023-09-05)

### Dependencies and Other Build Updates

* **deps-dev:** bump @commitlint/cli from 17.6.5 to 17.6.6 ([#53](#53)) ([22b8bbe](22b8bbe))
* **deps-dev:** bump @commitlint/cli from 17.6.6 to 17.6.7 ([#59](#59)) ([702df77](702df77))
* **deps-dev:** bump @commitlint/cli from 17.6.7 to 17.7.0 ([#61](#61)) ([043c953](043c953))
* **deps-dev:** bump @commitlint/cli from 17.7.0 to 17.7.1 ([#63](#63)) ([e58c315](e58c315))
* **deps-dev:** bump @commitlint/config-conventional from 17.6.5 to 17.6.6 ([#54](#54)) ([1d99376](1d99376))
* **deps-dev:** bump @commitlint/config-conventional from 17.6.6 to 17.6.7 ([#58](#58)) ([8a99190](8a99190))
* **deps-dev:** bump @commitlint/config-conventional from 17.6.7 to 17.7.0 ([#62](#62)) ([b9e2f9f](b9e2f9f))
* **deps-dev:** bump prettier from 2.8.8 to 3.0.0 ([#57](#57)) ([2bdc7df](2bdc7df)), closes [prettier/prettier#14435](prettier/prettier#14435) [prettier/prettier#14212](prettier/prettier#14212) [prettier/prettier#14391](prettier/prettier#14391) [prettier/prettier#13687](prettier/prettier#13687) [prettier/prettier#13732](prettier/prettier#13732) [prettier/prettier#13731](prettier/prettier#13731) [#15011](https://github.com/Th3S4mur41/demo-auto-security-release/issues/15011) [#15010](https://github.com/Th3S4mur41/demo-auto-security-release/issues/15010) [#15009](https://github.com/Th3S4mur41/demo-auto-security-release/issues/15009) [#14901](https://github.com/Th3S4mur41/demo-auto-security-release/issues/14901) [#14896](https://github.com/Th3S4mur41/demo-auto-security-release/issues/14896) [#14994](https://github.com/Th3S4mur41/demo-auto-security-release/issues/14994) [#14995](https://github.com/Th3S4mur41/demo-auto-security-release/issues/14995) [#15002](https://github.com/Th3S4mur41/demo-auto-security-release/issues/15002) [#15000](https://github.com/Th3S4mur41/demo-auto-security-release/issues/15000)
* **deps-dev:** bump prettier from 3.0.0 to 3.0.1 ([#60](#60)) ([724d609](724d609))
* **deps-dev:** bump prettier from 3.0.1 to 3.0.2 ([#64](#64)) ([9783d95](9783d95))
* **deps-dev:** bump prettier from 3.0.2 to 3.0.3 ([#67](#67)) ([c9a7f2a](c9a7f2a))
* **deps-dev:** bump semantic-release from 21.0.5 to 21.0.6 ([#55](#55)) ([ff8e146](ff8e146))
* **deps-dev:** bump semantic-release from 21.0.6 to 21.0.7 ([#56](#56)) ([b601697](b601697))
* **deps-dev:** bump semantic-release from 21.0.7 to 21.0.9 ([#65](#65)) ([72e37ac](72e37ac))
* **deps-dev:** bump semantic-release from 21.0.9 to 21.1.1 ([#66](#66)) ([d3d00f0](d3d00f0))
* **deps:** bump actions/checkout from 3 to 4 ([#68](#68)) ([14f006f](14f006f)), closes [actions/checkout#1436](actions/checkout#1436) [actions/checkout#1067](actions/checkout#1067) [actions/checkout#1447](actions/checkout#1447) [actions/checkout#1436](actions/checkout#1436) [actions/checkout#1067](actions/checkout#1067) [actions/checkout#1377](actions/checkout#1377) [actions/checkout#579](actions/checkout#579) [actions/checkout#1437](actions/checkout#1437) [actions/checkout#579](actions/checkout#579) [actions/checkout#1437](actions/checkout#1437) [actions/checkout#1196](actions/checkout#1196) [actions/checkout#1287](actions/checkout#1287) [actions/checkout#1369](actions/checkout#1369) [actions/checkout#1376](actions/checkout#1376) [actions/checkout#1196](actions/checkout#1196) [actions/checkout#1287](actions/checkout#1287) [actions/checkout#1369](actions/checkout#1369) [actions/checkout#1289](actions/checkout#1289) [#1286](https://github.com/Th3S4mur41/demo-auto-security-release/issues/1286) [actions/checkout#1246](actions/checkout#1246) [actions/checkout#1246](actions/checkout#1246) [#770](https://github.com/Th3S4mur41/demo-auto-security-release/issues/770) [actions/checkout#1057](actions/checkout#1057) [#1447](https://github.com/Th3S4mur41/demo-auto-security-release/issues/1447) [#1067](https://github.com/Th3S4mur41/demo-auto-security-release/issues/1067) [#1436](https://github.com/Th3S4mur41/demo-auto-security-release/issues/1436)
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 16, 2023
    
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to
4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a href="h
ttps://redirect.github.com/actions/checkout/pull/1436">actions/checkout#
1436</a></li>
<li>Support fetching without the --progress option by <a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/ch
eckout#1067</a></li>
<li>Release 4.0.0 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a href="h
ttps://redirect.github.com/actions/checkout/pull/1447">actions/checkout#
1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a href="https://redirect.github.com/actions
/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made
their first contribution in <a href="https://redirect.github.com/actions
/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/
checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compar
e/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a
href="https://github.com/dscho"><code>@​dscho</code></a> in <a href="htt
ps://redirect.github.com/actions/checkout/pull/1377">actions/checkout#13
77</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a href="http
s://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a> in
<a href="https://redirect.github.com/actions/checkout/pull/579">actions/
checkout#579</a></li>
<li>Release 3.6.0 by <a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
in <a href="https://redirect.github.com/actions/checkout/pull/1437">acti
ons/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/RobertWieczoreck"><code>@​RobertWieczore
ck</code></a> made their first contribution in <a href="https://redirect
.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
made their first contribution in <a href="https://redirect.github.com/ac
tions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/
checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/co
mpare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule
check-ins by <a
href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/ch
eckout#1196</a></li>
<li>Fix typos found by codespell by <a href="https://github.com/DimitriP
apadopoulos"><code>@​DimitriPapadopoulos</code></a> in <a href="https://
redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a
></li>
<li>Add support for sparse checkouts by <a
href="https://github.com/dscho"><code>@​dscho</code></a> and <a
href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a href="htt
ps://redirect.github.com/actions/checkout/pull/1369">actions/checkout#13
69</a></li>
<li>Release v3.5.3 by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a href="https://redirect.github.com/actions/checkout/pull/1376">acti
ons/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/megamanics"><code>@​megamanics</code></a> made
their first contribution in <a href="https://redirect.github.com/actions
/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapa
dopoulos</code></a> made their first contribution in <a href="https://re
direct.github.com/actions/checkout/pull/1287">actions/checkout#1287</a><
/li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made
their first contribution in <a href="https://redirect.github.com/actions
/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/
checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compar
e/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a
href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a hre
f="https://redirect.github.com/actions/checkout/pull/1289">actions/check
out#1289</a> based on <a href="https://redirect.github.com/actions/check
out/issues/1286">sagemath#1286</a> by <a
href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/
checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/co
mpare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading
<code>@​actions/github</code> dependency by <a
href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a h
ref="https://redirect.github.com/actions/checkout/pull/1246">actions/che
ckout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a>
made their first contribution in <a href="https://redirect.github.com/ac
tions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/ma
in/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.0.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1067">Support
fetching without the --progress option</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1436">Update to
node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark
test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add
option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1196">Fix:
Checkout fail in self-hosted runners when faulty submodule are checked-
in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix
typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add
support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix
api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix
slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add
new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade
codeql actions to v2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade
dependencies</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade
<code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1045">Implement
branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add
in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a href="https://redirect.gith
ub.com/actions/checkout/issues/770">sagemath#770</a>)](<a href="https://redirect
.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add
GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix
status badge</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1002">Replace
datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap
pipeline commands for submoduleForeach in quotes</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1029">Update
<code>@​actions/io</code> to 1.1.2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading
version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use
<code>@​actions/core</code> <code>saveState</code> and
<code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add
<code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/770">Add
input <code>set-safe-directory</code></a></li>
</ul>
<h2>v3.0.1</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="actions/checkout@3df4ab11eba7bda6
032a0b82a6bb43b11571feac"><code>3df4ab1</code></a> Release 4.0.0 (<a hre
f="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)<
/li>
<li><a href="actions/checkout@8b5e8b768746b503
94015010d25e690bfab9dfbc"><code>8b5e8b7</code></a> Support fetching
without the --progress option (<a href="https://redirect.github.com/acti
ons/checkout/issues/1067">sagemath#1067</a>)</li>
<li><a href="actions/checkout@97a652b80035363d
f47baee5031ec8670b8878ac"><code>97a652b</code></a> Update default
runtime to node20 (<a href="https://redirect.github.com/actions/checkout
sagemath/issues/1436">sagemath#1436</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-
badges.githubapp.com/badges/compatibility_score?dependency-
name=actions/checkout&package-manager=github_actions&previous-
version=3&new-version=4)](https://docs.github.com/en/github/managing-
security-vulnerabilities/about-dependabot-security-updates#about-
compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
    
URL: sagemath#36243
Reported by: dependabot[bot]
Reviewer(s):
myparcel-bot bot added a commit to myparcelnl/actions that referenced this pull request Oct 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants