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

Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins #1196

Merged
merged 6 commits into from
Apr 14, 2023
Merged

Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins #1196

merged 6 commits into from
Apr 14, 2023

Conversation

megamanics
Copy link
Contributor

@megamanics megamanics commented Mar 2, 2023

Fixes issue related to faulty submodule checkins - this affects the self hosted runners.
Github hosted runner cleanup every time so this is not a problem when using Github hosted runners.

Without fix - Self hosted runners fail due to work directory corruption.

image

With Fix

image

Checks for bad submodule within the directory for self hosted runners and sets flag for cleanup.

git submodule status; echo $?
fatal: no submodule mapping found in .gitmodules for path 'submodule-repo'
128

Fixes

Resolves https://github.com/github/c2c-actions-support/issues/1511
Resolves https://github.zendesk.com/agent/tickets/1821873
Resolves #933
Maybe related: #1148

@megamanics megamanics requested a review from a team as a code owner March 2, 2023 16:08
@megamanics megamanics changed the title Fixes Issue related to faulty submodule checkins Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins Mar 2, 2023
Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

Thx

@ghost
Copy link

ghost commented Mar 6, 2023

Thx

@carlospontual
Copy link

carlospontual commented Mar 7, 2023

I've been using it on some of my projects that ve the submodules issue, and I can say that it really fixed the issues we were facing in multiple of our branches.

Thank you @megamanics for your work (I'm using action megamanics/checkout@d12863bffd0b89f66bb35c44a231bb2fdc5e3dad). I hope this PR gets approved, merged & released asap as part of the latest actions/checkout@v3 👍🏼 🏆

@Link- Link- self-assigned this Mar 9, 2023
Copy link
Member

@Link- Link- left a comment

Choose a reason for hiding this comment

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

Thank you for working on this fix 🙏 - we need to add some tests to this change. I also want someone else from the team to give this another look.

core.debug(output.stdout)
return output.exitCode === 0
}

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor

@jww3 jww3 Apr 12, 2023

Choose a reason for hiding this comment

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

As far as I can tell (lots of googling and some experimentation with the git command line), git submodule status always returns an exit code of 0.

What am I missing here? I'd like to see for myself a case where git submodule status returns a non-zero exit code. Is there an easy way to demonstrate it?

In other words, what's the easiest way to "corrupt" a submodule?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jww3 This can be recreated by cloning https://github.com/test-SKi/test-bad-module-clone & using checkout action with any self-hosted runner to see the failure.

Steps to recreate one scenario:

git checkout -b new
git clone git@github.com:test-SKi/submodule-repo.git
echo "recreate bad submodule issue" >>  README.md
git add .
git commit
git push --set-upstream origin new

@joymixai

This comment was marked as spam.

This commit adds tests to verify the behavior of the gitDirectoryHelper.prepareExistingDirectory() function when the submodule status is either true or false.
The test cleanWhenSubmoduleStatusIsFalse verifies that the function will clean the directory when the submodule status is false. The test sets up a mock implementation of git.submoduleStatus to always return false, writes a file to the repository, and then calls gitDirectoryHelper.prepareExistingDirectory(). The test verifies that the directory is cleaned and that git.tryClean() is called.
The test doesNotCleanWhenSubmoduleStatusIsTrue verifies that the function will not clean the directory when the submodule status is true. The test sets up a mock implementation of git.submoduleStatus to always return true, writes a file to the repository, and then calls gitDirectoryHelper.prepareExistingDirectory(). The test verifies that the directory is not cleaned, that the file and .git folder are present, and that git.tryClean() is called.
These tests ensure that the function behaves as expected based on the submodule status.
@megamanics megamanics requested a review from Link- March 20, 2023 01:03
@Ajaydip
Copy link

Ajaydip commented Mar 30, 2023

What is the status of this? should this PR be merged? We are experiencing #993 as well.

@kvanbere
Copy link

kvanbere commented Apr 1, 2023

We would be very eager to have this merged if there is a chance that it might fix #1148 , does anyone have a hypothesis whether this affects submodules only, or whether this change will also help runner recover when the .git folder is corrupted ?

Edit:
I had a look at the change, and I think no. But I think if you also ran git status before checkout, did similar checks, and delete/reset the repository in a similar way on failure, you could fix #1148 also.

Edit2:
This might perform better than git status:

git rev-parse --is-inside-work-tree

https://stackoverflow.com/questions/2044574/determine-if-directory-is-under-git-control

Copy link
Contributor Author

@megamanics megamanics left a comment

Choose a reason for hiding this comment

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

@Link- 6b84265 reverted the version back to v2

.github/workflows/codeql-analysis.yml Outdated Show resolved Hide resolved
.github/workflows/codeql-analysis.yml Outdated Show resolved Hide resolved
Copy link
Contributor Author

@megamanics megamanics left a comment

Choose a reason for hiding this comment

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

@Link- added commit so .github/workflows/codeql-analysis.yml is not part of this pr
https://github.com/actions/checkout/pull/1196/files

Copy link
Member

@Link- Link- left a comment

Choose a reason for hiding this comment

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

Thank you for this submission, I'm fine with this being merged 🚢

@Link- Link- requested a review from jww3 April 12, 2023 09:16
@Link- Link- merged commit 47fbe2d into actions:main Apr 14, 2023
falken42 added a commit to coldfusionjp/ghaction-checkout-plus that referenced this pull request Apr 18, 2023
…dfusionjp/main

* main:
  Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in (actions#1196)
  Release v3.5.2 (actions#1291)
  Fix: convert baseUrl to serverApiUrl 'formatted' (actions#1289)
  Release v3.5.1 (actions#1284)
  Improve checkout performance on Windows runners by upgrading @actions/github dependency (actions#1246)
falken42 added a commit to coldfusionjp/ghaction-checkout-plus that referenced this pull request Apr 18, 2023
…dfusionjp/main

* main:
  Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in (actions#1196)
  Release v3.5.2 (actions#1291)
  Fix: convert baseUrl to serverApiUrl 'formatted' (actions#1289)
  Release v3.5.1 (actions#1284)
  Improve checkout performance on Windows runners by upgrading @actions/github dependency (actions#1246)
@markjm
Copy link

markjm commented May 24, 2023

Hi @megamanics / @Link- / @jww3 - would it be possible to cut a v3 release with these changes?

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://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://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://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://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://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://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://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://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
.git.luolix.top/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://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://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://
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://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://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://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://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://github.com/actions/checkout/pull/1289">actions/check
out#1289</a> based on <a href="https://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://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://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://github.com/actions/checkout/pull/1067">Support
fetching without the --progress option</a></li>
<li><a
href="https://github.com/actions/checkout/pull/1436">Update to
node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a
href="https://github.com/actions/checkout/pull/1377">Fix: Mark
test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://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://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://github.com/actions/checkout/pull/1287">Fix
typos found by codespell</a></li>
<li><a href="https://github.com/actions/checkout/pull/1369">Add
support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://github.com/actions/checkout/pull/1289">Fix
api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://github.com/actions/checkout/pull/1246">Fix
slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://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://github.com/actions/checkout/pull/1209">Upgrade
codeql actions to v2</a></li>
<li><a
href="https://github.com/actions/checkout/pull/1210">Upgrade
dependencies</a></li>
<li><a
href="https://github.com/actions/checkout/pull/1225">Upgrade
<code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a
href="https://github.com/actions/checkout/pull/1045">Implement
branch list using callbacks from exec function</a></li>
<li><a href="https://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
.git.luolix.top/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://github.com/actions/checkout/pull/942">Add
GitHub Action to perform release</a></li>
<li><a href="https://github.com/actions/checkout/pull/967">Fix
status badge</a></li>
<li><a
href="https://github.com/actions/checkout/pull/1002">Replace
datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://github.com/actions/checkout/pull/964">Wrap
pipeline commands for submoduleForeach in quotes</a></li>
<li><a
href="https://github.com/actions/checkout/pull/1029">Update
<code>@​actions/io</code> to 1.1.2</a></li>
<li><a
href="https://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://github.com/actions/checkout/pull/939">Use
<code>@​actions/core</code> <code>saveState</code> and
<code>getState</code></a></li>
<li><a href="https://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://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://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://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://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
github-actions bot pushed a commit to capitnflam/eslint-plugin that referenced this pull request Mar 15, 2024
## [1.0.1](v1.0.0...v1.0.1) (2024-03-15)

### chore

* dependabot updates setup ([#2](#2)) ([7e71810](7e71810))
* **deps-dev:** bump [@commitlint](https://github.com/commitlint)/cli from 19.1.0 to 19.2.0 ([#5](#5)) ([737d89b](737d89b))
* **deps-dev:** bump [@types](https://github.com/types)/node from 20.11.26 to 20.11.27 ([#8](#8)) ([ba41253](ba41253))
* **deps-dev:** bump semantic-release from 23.0.2 to 23.0.3 ([#6](#6)) ([7d29884](7d29884))
* **deps:** bump actions/checkout from 2 to 4 ([#4](#4)) ([f35995a](f35995a)), 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/capitnflam/eslint-plugin/issues/1286) [actions/checkout#1246](actions/checkout#1246) [actions/checkout#1246](actions/checkout#1246) [actions/checkout#1598](actions/checkout#1598) [actions/checkout#1511](actions/checkout#1511) [actions/checkout#1514](actions/checkout#1514) [#770](https://github.com/capitnflam/eslint-plugin/issues/770) [actions/checkout#1057](actions/checkout#1057) [#1514](https://github.com/capitnflam/eslint-plugin/issues/1514) [#1511](https://github.com/capitnflam/eslint-plugin/issues/1511) [#1510](https://github.com/capitnflam/eslint-plugin/issues/1510) [#1496](https://github.com/capitnflam/eslint-plugin/issues/1496) [#1396](https://github.com/capitnflam/eslint-plugin/issues/1396) [#1452](https://github.com/capitnflam/eslint-plugin/issues/1452) [#1447](https://github.com/capitnflam/eslint-plugin/issues/1447) [#1067](https://github.com/capitnflam/eslint-plugin/issues/1067) [#1436](https://github.com/capitnflam/eslint-plugin/issues/1436) [#1437](https://github.com/capitnflam/eslint-plugin/issues/1437)
* **deps:** bump actions/setup-node from 2 to 4 ([#3](#3)) ([b003245](b003245)), closes [actions/setup-node#866](actions/setup-node#866) [actions/setup-node#868](actions/setup-node#868) [actions/setup-node#876](actions/setup-node#876) [actions/setup-node#868](actions/setup-node#868) [actions/setup-node#861](actions/setup-node#861) [actions/setup-node#859](actions/setup-node#859) [actions/setup-node#870](actions/setup-node#870) [actions/setup-node#872](actions/setup-node#872) [actions/setup-node#875](actions/setup-node#875) [actions/setup-node#831](actions/setup-node#831) [actions/setup-node#803](actions/setup-node#803) [actions/setup-node#809](actions/setup-node#809) [actions/setup-node#816](actions/setup-node#816) [actions/setup-node#794](actions/setup-node#794) [actions/setup-node#710](actions/setup-node#710) [actions/setup-node#812](actions/setup-node#812) [actions/setup-node#808](actions/setup-node#808) [actions/setup-node#804](actions/setup-node#804) [actions/setup-node#802](actions/setup-node#802) [actions/setup-node#807](actions/setup-node#807) [#927](https://github.com/capitnflam/eslint-plugin/issues/927) [#921](https://github.com/capitnflam/eslint-plugin/issues/921) [#865](https://github.com/capitnflam/eslint-plugin/issues/865) [#879](https://github.com/capitnflam/eslint-plugin/issues/879) [#898](https://github.com/capitnflam/eslint-plugin/issues/898) [#917](https://github.com/capitnflam/eslint-plugin/issues/917) [#889](https://github.com/capitnflam/eslint-plugin/issues/889) [#884](https://github.com/capitnflam/eslint-plugin/issues/884) [#882](https://github.com/capitnflam/eslint-plugin/issues/882) [#876](https://github.com/capitnflam/eslint-plugin/issues/876)
* **deps:** bump eslint-plugin-react from 7.33.2 to 7.34.0 ([#7](#7)) ([cc5ea82](cc5ea82))
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.

Checkout is not cleaning properly after bad submodule added
9 participants