Skip to content

Commit 07fb242

Browse files
zklausactions/checkout contributors
andauthored
Add fork of checkout action with enhanced capabilities (#7597)
This is a fork of the [`actions/checkout` action](https://github.com/actions/checkout). The main addition is the ability to apply filters to submodule handling and the ability to do single branch checkouts also for non-shallow checkouts. For this, it adds the `single-branch` and `submodules-filter` option as described in the Usage section of the updated README.md. The purpose is to use these extensions to cut down on checkout time in the multitude of ci jobs that need to check out the pytorch repository as discussed in pytorch/pytorch#169184. The updated README.md file also includes instructions for future updates to newer versions of the upstream action. Some timings are taken from pytorch/pytorch#167737: |Workflow|Time on `viable/strict`|Time here|Time Saving| |-|-|-|-| |Lint/lintrunner-noclang| 2m42s | 55s | 1m47s | | linux-jammy-py3.14-clang12/build (via _linux-build)| 2m30s | 1m29s| 61s| | linux-jammy-cuda12.8-cudnn9-py3.10-clang12 / build (via _linux-build) | 2m31s | 1m33s| 59s| In other words, we can save ~1m per checkout where shallow checkouts are not feasible, which includes build and test jobs on trunk and pull. With a total of 276 jobs on trunk at the moment and ~90 jobs on a pull request, assuming ~70 PRs per day, the cumulative savings with savings of 1 minute per checkout could be between 75 and 150 hours. --------- Co-authored-by: actions/checkout contributors <unknown@example.com>
1 parent 46262cb commit 07fb242

File tree

98 files changed

+54560
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+54560
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist/
2+
lib/
3+
node_modules/
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"plugins": ["jest", "@typescript-eslint"],
3+
"extends": ["plugin:github/recommended"],
4+
"parser": "@typescript-eslint/parser",
5+
"parserOptions": {
6+
"ecmaVersion": 9,
7+
"sourceType": "module",
8+
"project": "./tsconfig.json"
9+
},
10+
"rules": {
11+
"eslint-comments/no-use": "off",
12+
"import/no-namespace": "off",
13+
"no-unused-vars": "off",
14+
"@typescript-eslint/no-unused-vars": "error",
15+
"@typescript-eslint/explicit-member-accessibility": ["error", {"accessibility": "no-public"}],
16+
"@typescript-eslint/no-require-imports": "error",
17+
"@typescript-eslint/array-type": "error",
18+
"@typescript-eslint/await-thenable": "error",
19+
"camelcase": "off",
20+
"@typescript-eslint/explicit-function-return-type": ["error", {"allowExpressions": true}],
21+
"@typescript-eslint/func-call-spacing": ["error", "never"],
22+
"@typescript-eslint/no-array-constructor": "error",
23+
"@typescript-eslint/no-empty-interface": "error",
24+
"@typescript-eslint/no-explicit-any": "error",
25+
"@typescript-eslint/no-extraneous-class": "error",
26+
"@typescript-eslint/no-floating-promises": "error",
27+
"@typescript-eslint/no-for-in-array": "error",
28+
"@typescript-eslint/no-inferrable-types": "error",
29+
"@typescript-eslint/no-misused-new": "error",
30+
"@typescript-eslint/no-namespace": "error",
31+
"@typescript-eslint/no-non-null-assertion": "warn",
32+
"@typescript-eslint/no-unnecessary-qualifier": "error",
33+
"@typescript-eslint/no-unnecessary-type-assertion": "error",
34+
"@typescript-eslint/no-useless-constructor": "error",
35+
"@typescript-eslint/no-var-requires": "error",
36+
"@typescript-eslint/prefer-for-of": "warn",
37+
"@typescript-eslint/prefer-function-type": "warn",
38+
"@typescript-eslint/prefer-includes": "error",
39+
"@typescript-eslint/prefer-string-starts-ends-with": "error",
40+
"@typescript-eslint/promise-function-async": "error",
41+
"@typescript-eslint/require-array-sort-compare": "error",
42+
"@typescript-eslint/restrict-plus-operands": "error",
43+
"semi": "off",
44+
"@typescript-eslint/semi": ["error", "never"],
45+
"@typescript-eslint/type-annotation-spacing": "error",
46+
"@typescript-eslint/unbound-method": "error"
47+
},
48+
"env": {
49+
"node": true,
50+
"es6": true,
51+
"jest/globals": true
52+
}
53+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.licenses/** -diff linguist-generated=true
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
__test__/_temp
2+
_temp/
3+
lib/
4+
node_modules/
5+
.vscode/
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: "Checkout Action"
2+
3+
root: .
4+
5+
sources:
6+
npm: true
7+
8+
allowed:
9+
- apache-2.0
10+
- bsd-2-clause
11+
- bsd-3-clause
12+
- isc
13+
- mit
14+
- cc0-1.0
15+
- unlicense
16+
17+
reviewed:
18+
npm:

.github/actions/checkout/.licenses/npm/@actions/core.dep.yml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/actions/checkout/.licenses/npm/@actions/exec.dep.yml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/actions/checkout/.licenses/npm/@actions/github.dep.yml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/actions/checkout/.licenses/npm/@actions/http-client.dep.yml

Lines changed: 32 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/actions/checkout/.licenses/npm/@actions/io.dep.yml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)