2 Commits

Author SHA1 Message Date
github-actions[bot]
24902b7977 Update all (#137)
Some checks failed
CI / build (push) Has been cancelled
Co-authored-by: github-actions <github-actions-bot@users.noreply.github.com>
2026-04-20 12:45:16 +00:00
Aiqiao Yan
3db2cfa8d0 Add ability to cache only latest N versions and cache github/gh-aw-actions (#136)
* add ability to cache only latest N versions

* fix test
2026-04-13 16:24:07 -04:00
16 changed files with 315 additions and 34 deletions

View File

@@ -6,7 +6,7 @@
"+^v[3-9]+(\\.[0-9]+){0,2}$" "+^v[3-9]+(\\.[0-9]+){0,2}$"
], ],
"branches": { "branches": {
"main": "668228422ae6a00e4ad889ee87cd7109ec5666a7" "main": "27d5ce7f107fe9357f9df03efb73ab90386fccae"
}, },
"defaultBranch": "main", "defaultBranch": "main",
"tags": { "tags": {
@@ -137,7 +137,7 @@
"commit": "0057852bfaa89a56745cba8c7296529d2fc39830" "commit": "0057852bfaa89a56745cba8c7296529d2fc39830"
}, },
"v5": { "v5": {
"commit": "668228422ae6a00e4ad889ee87cd7109ec5666a7" "commit": "27d5ce7f107fe9357f9df03efb73ab90386fccae"
}, },
"v5.0.0": { "v5.0.0": {
"commit": "a7833574556fa59680c1b7cb190c1735db73ebf0" "commit": "a7833574556fa59680c1b7cb190c1735db73ebf0"
@@ -153,6 +153,9 @@
}, },
"v5.0.4": { "v5.0.4": {
"commit": "668228422ae6a00e4ad889ee87cd7109ec5666a7" "commit": "668228422ae6a00e4ad889ee87cd7109ec5666a7"
},
"v5.0.5": {
"commit": "27d5ce7f107fe9357f9df03efb73ab90386fccae"
} }
} }
} }

View File

@@ -6,7 +6,7 @@
"+^v[3-9]+(\\.[0-9]+){0,2}$" "+^v[3-9]+(\\.[0-9]+){0,2}$"
], ],
"branches": { "branches": {
"main": "53b83947a5a98c8d113130e565377fae1a50d02f" "main": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
}, },
"defaultBranch": "main", "defaultBranch": "main",
"tags": { "tags": {
@@ -98,7 +98,7 @@
"commit": "a0853c24544627f65ddf259abe73b1d18a591444" "commit": "a0853c24544627f65ddf259abe73b1d18a591444"
}, },
"v6": { "v6": {
"commit": "53b83947a5a98c8d113130e565377fae1a50d02f" "commit": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
}, },
"v6.0.0": { "v6.0.0": {
"commit": "2028fbc5c25fe9cf00d9f06a71cc4710d4507903" "commit": "2028fbc5c25fe9cf00d9f06a71cc4710d4507903"
@@ -111,6 +111,9 @@
}, },
"v6.3.0": { "v6.3.0": {
"commit": "53b83947a5a98c8d113130e565377fae1a50d02f" "commit": "53b83947a5a98c8d113130e565377fae1a50d02f"
},
"v6.4.0": {
"commit": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
} }
} }
} }

View File

@@ -6,7 +6,7 @@
"+^v[2-9]+(\\.[0-9]+){0,2}$" "+^v[2-9]+(\\.[0-9]+){0,2}$"
], ],
"branches": { "branches": {
"main": "28f2168f4d98ee0445e3c6321f6e6616c83dd5ec" "main": "c8813ba1bc76ebf779b911ad8ffccbf2e449cb48"
}, },
"defaultBranch": "main", "defaultBranch": "main",
"tags": { "tags": {

View File

@@ -6,7 +6,7 @@
"+^v[4-9]+(\\.[0-9]+){0,2}$" "+^v[4-9]+(\\.[0-9]+){0,2}$"
], ],
"branches": { "branches": {
"main": "bbbca2ddaa5d8feaa63e36b76fdaad77386f024f" "main": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
}, },
"defaultBranch": "main", "defaultBranch": "main",
"tags": { "tags": {
@@ -80,10 +80,13 @@
"commit": "b7c566a772e6b6bfb58ed0dc250532a479d7789f" "commit": "b7c566a772e6b6bfb58ed0dc250532a479d7789f"
}, },
"v7": { "v7": {
"commit": "bbbca2ddaa5d8feaa63e36b76fdaad77386f024f" "commit": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
}, },
"v7.0.0": { "v7.0.0": {
"commit": "bbbca2ddaa5d8feaa63e36b76fdaad77386f024f" "commit": "bbbca2ddaa5d8feaa63e36b76fdaad77386f024f"
},
"v7.0.1": {
"commit": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
} }
} }
} }

View File

@@ -0,0 +1,26 @@
{
"owner": "github",
"repo": "gh-aw-actions",
"patterns": [
"+^master$",
"+^v[0-9]+(\\.[0-9]+){0,2}$"
],
"branches": {},
"defaultBranch": "master",
"latestMajorVersions": 1,
"latestVersionsPerMajor": 3,
"tags": {
"v0.68.5": {
"commit": "ed10714fec78f6c6541822e4af6a90f373404b8b",
"tag": "b2e9ba3ee4bb2f7b123b831cc92827aa75249ee0"
},
"v0.68.6": {
"commit": "f52802884d655622f0a2dfd6d6a2250983c95523",
"tag": "7da066725fd3fdad06a44e9e8abe0cf5963c16f9"
},
"v0.68.7": {
"commit": "f52802884d655622f0a2dfd6d6a2250983c95523",
"tag": "69af89ae134d818caa7743b23ad966ce03914a27"
}
}
}

View File

@@ -1,7 +1,7 @@
mkdir actions_cache mkdir actions_cache
pushd actions_cache pushd actions_cache
curl -s -S -L -o '668228422ae6a00e4ad889ee87cd7109ec5666a7.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/668228422ae6a00e4ad889ee87cd7109ec5666a7' curl -s -S -L -o '27d5ce7f107fe9357f9df03efb73ab90386fccae.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/27d5ce7f107fe9357f9df03efb73ab90386fccae'
curl -s -S -L -o '668228422ae6a00e4ad889ee87cd7109ec5666a7.zip' 'https://api.github.com/repos/actions/cache/zipball/668228422ae6a00e4ad889ee87cd7109ec5666a7' curl -s -S -L -o '27d5ce7f107fe9357f9df03efb73ab90386fccae.zip' 'https://api.github.com/repos/actions/cache/zipball/27d5ce7f107fe9357f9df03efb73ab90386fccae'
curl -s -S -L -o '6f8efc29b200d32929f49075959781ed54ec270c.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/6f8efc29b200d32929f49075959781ed54ec270c' curl -s -S -L -o '6f8efc29b200d32929f49075959781ed54ec270c.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/6f8efc29b200d32929f49075959781ed54ec270c'
curl -s -S -L -o '6f8efc29b200d32929f49075959781ed54ec270c.zip' 'https://api.github.com/repos/actions/cache/zipball/6f8efc29b200d32929f49075959781ed54ec270c' curl -s -S -L -o '6f8efc29b200d32929f49075959781ed54ec270c.zip' 'https://api.github.com/repos/actions/cache/zipball/6f8efc29b200d32929f49075959781ed54ec270c'
curl -s -S -L -o '4b0cf6cc4619e737324ddfcec08fff2413359514.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/4b0cf6cc4619e737324ddfcec08fff2413359514' curl -s -S -L -o '4b0cf6cc4619e737324ddfcec08fff2413359514.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/4b0cf6cc4619e737324ddfcec08fff2413359514'
@@ -86,8 +86,8 @@ curl -s -S -L -o '0400d5f644dc74513175e3cd8d07132dd4860809.tar.gz' 'https://api.
curl -s -S -L -o '0400d5f644dc74513175e3cd8d07132dd4860809.zip' 'https://api.github.com/repos/actions/cache/zipball/0400d5f644dc74513175e3cd8d07132dd4860809' curl -s -S -L -o '0400d5f644dc74513175e3cd8d07132dd4860809.zip' 'https://api.github.com/repos/actions/cache/zipball/0400d5f644dc74513175e3cd8d07132dd4860809'
curl -s -S -L -o '0057852bfaa89a56745cba8c7296529d2fc39830.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/0057852bfaa89a56745cba8c7296529d2fc39830' curl -s -S -L -o '0057852bfaa89a56745cba8c7296529d2fc39830.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/0057852bfaa89a56745cba8c7296529d2fc39830'
curl -s -S -L -o '0057852bfaa89a56745cba8c7296529d2fc39830.zip' 'https://api.github.com/repos/actions/cache/zipball/0057852bfaa89a56745cba8c7296529d2fc39830' curl -s -S -L -o '0057852bfaa89a56745cba8c7296529d2fc39830.zip' 'https://api.github.com/repos/actions/cache/zipball/0057852bfaa89a56745cba8c7296529d2fc39830'
curl -s -S -L -o '668228422ae6a00e4ad889ee87cd7109ec5666a7.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/668228422ae6a00e4ad889ee87cd7109ec5666a7' curl -s -S -L -o '27d5ce7f107fe9357f9df03efb73ab90386fccae.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/27d5ce7f107fe9357f9df03efb73ab90386fccae'
curl -s -S -L -o '668228422ae6a00e4ad889ee87cd7109ec5666a7.zip' 'https://api.github.com/repos/actions/cache/zipball/668228422ae6a00e4ad889ee87cd7109ec5666a7' curl -s -S -L -o '27d5ce7f107fe9357f9df03efb73ab90386fccae.zip' 'https://api.github.com/repos/actions/cache/zipball/27d5ce7f107fe9357f9df03efb73ab90386fccae'
curl -s -S -L -o 'a7833574556fa59680c1b7cb190c1735db73ebf0.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/a7833574556fa59680c1b7cb190c1735db73ebf0' curl -s -S -L -o 'a7833574556fa59680c1b7cb190c1735db73ebf0.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/a7833574556fa59680c1b7cb190c1735db73ebf0'
curl -s -S -L -o 'a7833574556fa59680c1b7cb190c1735db73ebf0.zip' 'https://api.github.com/repos/actions/cache/zipball/a7833574556fa59680c1b7cb190c1735db73ebf0' curl -s -S -L -o 'a7833574556fa59680c1b7cb190c1735db73ebf0.zip' 'https://api.github.com/repos/actions/cache/zipball/a7833574556fa59680c1b7cb190c1735db73ebf0'
curl -s -S -L -o '9255dc7a253b0ccc959486e2bca901246202afeb.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/9255dc7a253b0ccc959486e2bca901246202afeb' curl -s -S -L -o '9255dc7a253b0ccc959486e2bca901246202afeb.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/9255dc7a253b0ccc959486e2bca901246202afeb'
@@ -98,4 +98,6 @@ curl -s -S -L -o 'cdf6c1fa76f9f475f3d7449005a359c84ca0f306.tar.gz' 'https://api.
curl -s -S -L -o 'cdf6c1fa76f9f475f3d7449005a359c84ca0f306.zip' 'https://api.github.com/repos/actions/cache/zipball/cdf6c1fa76f9f475f3d7449005a359c84ca0f306' curl -s -S -L -o 'cdf6c1fa76f9f475f3d7449005a359c84ca0f306.zip' 'https://api.github.com/repos/actions/cache/zipball/cdf6c1fa76f9f475f3d7449005a359c84ca0f306'
curl -s -S -L -o '668228422ae6a00e4ad889ee87cd7109ec5666a7.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/668228422ae6a00e4ad889ee87cd7109ec5666a7' curl -s -S -L -o '668228422ae6a00e4ad889ee87cd7109ec5666a7.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/668228422ae6a00e4ad889ee87cd7109ec5666a7'
curl -s -S -L -o '668228422ae6a00e4ad889ee87cd7109ec5666a7.zip' 'https://api.github.com/repos/actions/cache/zipball/668228422ae6a00e4ad889ee87cd7109ec5666a7' curl -s -S -L -o '668228422ae6a00e4ad889ee87cd7109ec5666a7.zip' 'https://api.github.com/repos/actions/cache/zipball/668228422ae6a00e4ad889ee87cd7109ec5666a7'
curl -s -S -L -o '27d5ce7f107fe9357f9df03efb73ab90386fccae.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/27d5ce7f107fe9357f9df03efb73ab90386fccae'
curl -s -S -L -o '27d5ce7f107fe9357f9df03efb73ab90386fccae.zip' 'https://api.github.com/repos/actions/cache/zipball/27d5ce7f107fe9357f9df03efb73ab90386fccae'
popd popd

View File

@@ -1,7 +1,7 @@
mkdir actions_setup-node mkdir actions_setup-node
pushd actions_setup-node pushd actions_setup-node
curl -s -S -L -o '53b83947a5a98c8d113130e565377fae1a50d02f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/53b83947a5a98c8d113130e565377fae1a50d02f' curl -s -S -L -o '48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e'
curl -s -S -L -o '53b83947a5a98c8d113130e565377fae1a50d02f.zip' 'https://api.github.com/repos/actions/setup-node/zipball/53b83947a5a98c8d113130e565377fae1a50d02f' curl -s -S -L -o '48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e.zip' 'https://api.github.com/repos/actions/setup-node/zipball/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e'
curl -s -S -L -o '3235b876344d2a9aa001b8d1453c930bba69e610.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/3235b876344d2a9aa001b8d1453c930bba69e610' curl -s -S -L -o '3235b876344d2a9aa001b8d1453c930bba69e610.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/3235b876344d2a9aa001b8d1453c930bba69e610'
curl -s -S -L -o '3235b876344d2a9aa001b8d1453c930bba69e610.zip' 'https://api.github.com/repos/actions/setup-node/zipball/3235b876344d2a9aa001b8d1453c930bba69e610' curl -s -S -L -o '3235b876344d2a9aa001b8d1453c930bba69e610.zip' 'https://api.github.com/repos/actions/setup-node/zipball/3235b876344d2a9aa001b8d1453c930bba69e610'
curl -s -S -L -o '9ced9a43a244f3ac94f13bfd896db8c8f30da67a.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/9ced9a43a244f3ac94f13bfd896db8c8f30da67a' curl -s -S -L -o '9ced9a43a244f3ac94f13bfd896db8c8f30da67a.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/9ced9a43a244f3ac94f13bfd896db8c8f30da67a'
@@ -60,8 +60,8 @@ curl -s -S -L -o 'a0853c24544627f65ddf259abe73b1d18a591444.tar.gz' 'https://api.
curl -s -S -L -o 'a0853c24544627f65ddf259abe73b1d18a591444.zip' 'https://api.github.com/repos/actions/setup-node/zipball/a0853c24544627f65ddf259abe73b1d18a591444' curl -s -S -L -o 'a0853c24544627f65ddf259abe73b1d18a591444.zip' 'https://api.github.com/repos/actions/setup-node/zipball/a0853c24544627f65ddf259abe73b1d18a591444'
curl -s -S -L -o 'a0853c24544627f65ddf259abe73b1d18a591444.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/a0853c24544627f65ddf259abe73b1d18a591444' curl -s -S -L -o 'a0853c24544627f65ddf259abe73b1d18a591444.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/a0853c24544627f65ddf259abe73b1d18a591444'
curl -s -S -L -o 'a0853c24544627f65ddf259abe73b1d18a591444.zip' 'https://api.github.com/repos/actions/setup-node/zipball/a0853c24544627f65ddf259abe73b1d18a591444' curl -s -S -L -o 'a0853c24544627f65ddf259abe73b1d18a591444.zip' 'https://api.github.com/repos/actions/setup-node/zipball/a0853c24544627f65ddf259abe73b1d18a591444'
curl -s -S -L -o '53b83947a5a98c8d113130e565377fae1a50d02f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/53b83947a5a98c8d113130e565377fae1a50d02f' curl -s -S -L -o '48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e'
curl -s -S -L -o '53b83947a5a98c8d113130e565377fae1a50d02f.zip' 'https://api.github.com/repos/actions/setup-node/zipball/53b83947a5a98c8d113130e565377fae1a50d02f' curl -s -S -L -o '48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e.zip' 'https://api.github.com/repos/actions/setup-node/zipball/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e'
curl -s -S -L -o '2028fbc5c25fe9cf00d9f06a71cc4710d4507903.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/2028fbc5c25fe9cf00d9f06a71cc4710d4507903' curl -s -S -L -o '2028fbc5c25fe9cf00d9f06a71cc4710d4507903.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/2028fbc5c25fe9cf00d9f06a71cc4710d4507903'
curl -s -S -L -o '2028fbc5c25fe9cf00d9f06a71cc4710d4507903.zip' 'https://api.github.com/repos/actions/setup-node/zipball/2028fbc5c25fe9cf00d9f06a71cc4710d4507903' curl -s -S -L -o '2028fbc5c25fe9cf00d9f06a71cc4710d4507903.zip' 'https://api.github.com/repos/actions/setup-node/zipball/2028fbc5c25fe9cf00d9f06a71cc4710d4507903'
curl -s -S -L -o '395ad3262231945c25e8478fd5baf05154b1d79f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/395ad3262231945c25e8478fd5baf05154b1d79f' curl -s -S -L -o '395ad3262231945c25e8478fd5baf05154b1d79f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/395ad3262231945c25e8478fd5baf05154b1d79f'
@@ -70,4 +70,6 @@ curl -s -S -L -o '6044e13b5dc448c55e2357c09f80417699197238.tar.gz' 'https://api.
curl -s -S -L -o '6044e13b5dc448c55e2357c09f80417699197238.zip' 'https://api.github.com/repos/actions/setup-node/zipball/6044e13b5dc448c55e2357c09f80417699197238' curl -s -S -L -o '6044e13b5dc448c55e2357c09f80417699197238.zip' 'https://api.github.com/repos/actions/setup-node/zipball/6044e13b5dc448c55e2357c09f80417699197238'
curl -s -S -L -o '53b83947a5a98c8d113130e565377fae1a50d02f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/53b83947a5a98c8d113130e565377fae1a50d02f' curl -s -S -L -o '53b83947a5a98c8d113130e565377fae1a50d02f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/53b83947a5a98c8d113130e565377fae1a50d02f'
curl -s -S -L -o '53b83947a5a98c8d113130e565377fae1a50d02f.zip' 'https://api.github.com/repos/actions/setup-node/zipball/53b83947a5a98c8d113130e565377fae1a50d02f' curl -s -S -L -o '53b83947a5a98c8d113130e565377fae1a50d02f.zip' 'https://api.github.com/repos/actions/setup-node/zipball/53b83947a5a98c8d113130e565377fae1a50d02f'
curl -s -S -L -o '48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e'
curl -s -S -L -o '48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e.zip' 'https://api.github.com/repos/actions/setup-node/zipball/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e'
popd popd

View File

@@ -1,7 +1,7 @@
mkdir actions_setup-python mkdir actions_setup-python
pushd actions_setup-python pushd actions_setup-python
curl -s -S -L -o '28f2168f4d98ee0445e3c6321f6e6616c83dd5ec.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/28f2168f4d98ee0445e3c6321f6e6616c83dd5ec' curl -s -S -L -o 'c8813ba1bc76ebf779b911ad8ffccbf2e449cb48.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/c8813ba1bc76ebf779b911ad8ffccbf2e449cb48'
curl -s -S -L -o '28f2168f4d98ee0445e3c6321f6e6616c83dd5ec.zip' 'https://api.github.com/repos/actions/setup-python/zipball/28f2168f4d98ee0445e3c6321f6e6616c83dd5ec' curl -s -S -L -o 'c8813ba1bc76ebf779b911ad8ffccbf2e449cb48.zip' 'https://api.github.com/repos/actions/setup-python/zipball/c8813ba1bc76ebf779b911ad8ffccbf2e449cb48'
curl -s -S -L -o 'e9aba2c848f5ebd159c070c61ea2c4e2b122355e.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/e9aba2c848f5ebd159c070c61ea2c4e2b122355e' curl -s -S -L -o 'e9aba2c848f5ebd159c070c61ea2c4e2b122355e.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/e9aba2c848f5ebd159c070c61ea2c4e2b122355e'
curl -s -S -L -o 'e9aba2c848f5ebd159c070c61ea2c4e2b122355e.zip' 'https://api.github.com/repos/actions/setup-python/zipball/e9aba2c848f5ebd159c070c61ea2c4e2b122355e' curl -s -S -L -o 'e9aba2c848f5ebd159c070c61ea2c4e2b122355e.zip' 'https://api.github.com/repos/actions/setup-python/zipball/e9aba2c848f5ebd159c070c61ea2c4e2b122355e'
curl -s -S -L -o '6c4e46d258ee4bf9a1263c78a91ec029bbe54cf0.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/6c4e46d258ee4bf9a1263c78a91ec029bbe54cf0' curl -s -S -L -o '6c4e46d258ee4bf9a1263c78a91ec029bbe54cf0.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/6c4e46d258ee4bf9a1263c78a91ec029bbe54cf0'

View File

@@ -1,7 +1,7 @@
mkdir actions_upload-artifact mkdir actions_upload-artifact
pushd actions_upload-artifact pushd actions_upload-artifact
curl -s -S -L -o 'bbbca2ddaa5d8feaa63e36b76fdaad77386f024f.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' curl -s -S -L -o '043fb46d1a93c77aae656e7c1c64a875d1fc6a0a.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a'
curl -s -S -L -o 'bbbca2ddaa5d8feaa63e36b76fdaad77386f024f.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' curl -s -S -L -o '043fb46d1a93c77aae656e7c1c64a875d1fc6a0a.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a'
curl -s -S -L -o 'ea165f8d65b6e75b540449e92b4886f43607fa02.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/ea165f8d65b6e75b540449e92b4886f43607fa02' curl -s -S -L -o 'ea165f8d65b6e75b540449e92b4886f43607fa02.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/ea165f8d65b6e75b540449e92b4886f43607fa02'
curl -s -S -L -o 'ea165f8d65b6e75b540449e92b4886f43607fa02.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/ea165f8d65b6e75b540449e92b4886f43607fa02' curl -s -S -L -o 'ea165f8d65b6e75b540449e92b4886f43607fa02.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/ea165f8d65b6e75b540449e92b4886f43607fa02'
curl -s -S -L -o 'c7d193f32edcb7bfad88892161225aeda64e9392.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/c7d193f32edcb7bfad88892161225aeda64e9392' curl -s -S -L -o 'c7d193f32edcb7bfad88892161225aeda64e9392.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/c7d193f32edcb7bfad88892161225aeda64e9392'
@@ -48,8 +48,10 @@ curl -s -S -L -o 'b7c566a772e6b6bfb58ed0dc250532a479d7789f.tar.gz' 'https://api.
curl -s -S -L -o 'b7c566a772e6b6bfb58ed0dc250532a479d7789f.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/b7c566a772e6b6bfb58ed0dc250532a479d7789f' curl -s -S -L -o 'b7c566a772e6b6bfb58ed0dc250532a479d7789f.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/b7c566a772e6b6bfb58ed0dc250532a479d7789f'
curl -s -S -L -o 'b7c566a772e6b6bfb58ed0dc250532a479d7789f.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/b7c566a772e6b6bfb58ed0dc250532a479d7789f' curl -s -S -L -o 'b7c566a772e6b6bfb58ed0dc250532a479d7789f.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/b7c566a772e6b6bfb58ed0dc250532a479d7789f'
curl -s -S -L -o 'b7c566a772e6b6bfb58ed0dc250532a479d7789f.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/b7c566a772e6b6bfb58ed0dc250532a479d7789f' curl -s -S -L -o 'b7c566a772e6b6bfb58ed0dc250532a479d7789f.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/b7c566a772e6b6bfb58ed0dc250532a479d7789f'
curl -s -S -L -o '043fb46d1a93c77aae656e7c1c64a875d1fc6a0a.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a'
curl -s -S -L -o '043fb46d1a93c77aae656e7c1c64a875d1fc6a0a.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a'
curl -s -S -L -o 'bbbca2ddaa5d8feaa63e36b76fdaad77386f024f.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' curl -s -S -L -o 'bbbca2ddaa5d8feaa63e36b76fdaad77386f024f.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f'
curl -s -S -L -o 'bbbca2ddaa5d8feaa63e36b76fdaad77386f024f.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' curl -s -S -L -o 'bbbca2ddaa5d8feaa63e36b76fdaad77386f024f.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f'
curl -s -S -L -o 'bbbca2ddaa5d8feaa63e36b76fdaad77386f024f.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' curl -s -S -L -o '043fb46d1a93c77aae656e7c1c64a875d1fc6a0a.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a'
curl -s -S -L -o 'bbbca2ddaa5d8feaa63e36b76fdaad77386f024f.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' curl -s -S -L -o '043fb46d1a93c77aae656e7c1c64a875d1fc6a0a.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a'
popd popd

View File

@@ -0,0 +1,9 @@
mkdir github_gh-aw-actions
pushd github_gh-aw-actions
curl -s -S -L -o 'ed10714fec78f6c6541822e4af6a90f373404b8b.tar.gz' 'https://api.github.com/repos/github/gh-aw-actions/tarball/ed10714fec78f6c6541822e4af6a90f373404b8b'
curl -s -S -L -o 'ed10714fec78f6c6541822e4af6a90f373404b8b.zip' 'https://api.github.com/repos/github/gh-aw-actions/zipball/ed10714fec78f6c6541822e4af6a90f373404b8b'
curl -s -S -L -o 'f52802884d655622f0a2dfd6d6a2250983c95523.tar.gz' 'https://api.github.com/repos/github/gh-aw-actions/tarball/f52802884d655622f0a2dfd6d6a2250983c95523'
curl -s -S -L -o 'f52802884d655622f0a2dfd6d6a2250983c95523.zip' 'https://api.github.com/repos/github/gh-aw-actions/zipball/f52802884d655622f0a2dfd6d6a2250983c95523'
curl -s -S -L -o 'f52802884d655622f0a2dfd6d6a2250983c95523.tar.gz' 'https://api.github.com/repos/github/gh-aw-actions/tarball/f52802884d655622f0a2dfd6d6a2250983c95523'
curl -s -S -L -o 'f52802884d655622f0a2dfd6d6a2250983c95523.zip' 'https://api.github.com/repos/github/gh-aw-actions/zipball/f52802884d655622f0a2dfd6d6a2250983c95523'
popd

View File

@@ -44,6 +44,18 @@ class ActionConfig {
*/ */
defaultBranch = 'master' defaultBranch = 'master'
/**
* Maximum number of latest major versions to include (default to unlimited)
* @type {number|undefined}
*/
latestMajorVersions = undefined
/**
* Maximum number of latest version tags per major version (default to unlimited)
* @type {number|undefined}
*/
latestVersionsPerMajor = undefined
/** /**
* Tag versions * Tag versions
* @type {{[ref: string]: TagVersion}} * @type {{[ref: string]: TagVersion}}
@@ -73,9 +85,11 @@ exports.TagVersion = TagVersion
* @param {string[]} patternStrings * @param {string[]} patternStrings
* @param {string} defaultBranch * @param {string} defaultBranch
* @param {string[]|undefined} ignoreTags * @param {string[]|undefined} ignoreTags
* @param {number|undefined} latestMajorVersions
* @param {number|undefined} latestVersionsPerMajor
* @returns {Promise} * @returns {Promise}
*/ */
async function add(owner, repo, patternStrings, defaultBranch, ignoreTags) { async function add(owner, repo, patternStrings, defaultBranch, ignoreTags, latestMajorVersions, latestVersionsPerMajor) {
assert.ok(owner, "Arg 'owner' must not be empty") assert.ok(owner, "Arg 'owner' must not be empty")
assert.ok(repo, "Arg 'repo' must not be empty") assert.ok(repo, "Arg 'repo' must not be empty")
assert.ok(patternStrings, "Arg 'patternStrings' must not be null") assert.ok(patternStrings, "Arg 'patternStrings' must not be null")
@@ -94,6 +108,12 @@ async function add(owner, repo, patternStrings, defaultBranch, ignoreTags) {
if (ignoreTags && ignoreTags.length > 0) { if (ignoreTags && ignoreTags.length > 0) {
config.ignoreTags = ignoreTags config.ignoreTags = ignoreTags
} }
if (latestMajorVersions && latestMajorVersions > 0) {
config.latestMajorVersions = latestMajorVersions
}
if (latestVersionsPerMajor && latestVersionsPerMajor > 0) {
config.latestVersionsPerMajor = latestVersionsPerMajor
}
config.defaultBranch = defaultBranch config.defaultBranch = defaultBranch
const tempDir = path.join(paths.temp, `${owner}_${repo}`) const tempDir = path.join(paths.temp, `${owner}_${repo}`)
@@ -130,6 +150,9 @@ async function add(owner, repo, patternStrings, defaultBranch, ignoreTags) {
config.tags[tag] = tagVersion config.tags[tag] = tagVersion
} }
// Prune old tags based on version limits
pruneOldTags(config)
// Write config // Write config
await exec.exec('mkdir', ['-p', path.dirname(file)]) await exec.exec('mkdir', ['-p', path.dirname(file)])
await fs.promises.writeFile(file, JSON.stringify(config, null, ' ')) await fs.promises.writeFile(file, JSON.stringify(config, null, ' '))
@@ -141,6 +164,75 @@ async function add(owner, repo, patternStrings, defaultBranch, ignoreTags) {
} }
exports.add = add exports.add = add
/**
* Prunes old tags from the config based on latestMajorVersions and latestVersionsPerMajor.
* Modifies config.tags in place.
* @param {ActionConfig} config
*/
function pruneOldTags(config) {
const maxMajors = config.latestMajorVersions || 0
const maxPerMajor = config.latestVersionsPerMajor || 0
if (!maxMajors && !maxPerMajor) {
return
}
const tagNames = Object.keys(config.tags)
const versionTags = []
const keepTags = new Set()
for (const tag of tagNames) {
const match = tag.match(/^v(\d+)(?:\.(\d+))?(?:\.(\d+))?$/)
if (!match) {
// Always keep non-version tags
keepTags.add(tag)
continue
}
const major = parseInt(match[1], 10)
const minor = match[2] !== undefined ? parseInt(match[2], 10) : -1
const patch = match[3] !== undefined ? parseInt(match[3], 10) : -1
versionTags.push({ tag, major, minor, patch, isMajorOnly: minor === -1 })
}
// Distinct major versions sorted descending (newest first)
const majorVersions = [...new Set(versionTags.map(v => v.major))].sort((a, b) => b - a)
const allowedMajors = new Set(
maxMajors > 0 ? majorVersions.slice(0, maxMajors) : majorVersions
)
for (const major of allowedMajors) {
const tagsForMajor = versionTags.filter(v => v.major === major)
// Always keep major-only pointers (e.g. "v4")
for (const v of tagsForMajor.filter(v => v.isMajorOnly)) {
keepTags.add(v.tag)
}
// Sort non-major-only tags by version descending (latest first)
const sorted = tagsForMajor
.filter(v => !v.isMajorOnly)
.sort((a, b) => {
if (a.minor !== b.minor) return b.minor - a.minor
return b.patch - a.patch
})
const kept = maxPerMajor > 0 ? sorted.slice(0, maxPerMajor) : sorted
for (const v of kept) {
keepTags.add(v.tag)
}
}
// Remove pruned tags
for (const tag of tagNames) {
if (!keepTags.has(tag)) {
console.log(`Pruning tag '${tag}' from config (version limit)`)
delete config.tags[tag]
}
}
}
exports.pruneOldTags = pruneOldTags
/** /**
* Returns the action config file path * Returns the action config file path
* @param {string} owner * @param {string} owner

View File

@@ -15,6 +15,8 @@ async function main() {
const patterns = args.patterns const patterns = args.patterns
const defaultBranch = args.defaultBranch || 'master' const defaultBranch = args.defaultBranch || 'master'
const ignoreTags = args.ignoreTags const ignoreTags = args.ignoreTags
const latestMajorVersions = args.latestMajorVersions
const latestVersionsPerMajor = args.latestVersionsPerMajor
// File exists? // File exists?
const file = actionConfig.getFilePath(owner, repo) const file = actionConfig.getFilePath(owner, repo)
@@ -24,7 +26,7 @@ async function main() {
await fsHelper.reinitTemp() await fsHelper.reinitTemp()
// Add the config // Add the config
await actionConfig.add(owner, repo, patterns, defaultBranch, ignoreTags) await actionConfig.add(owner, repo, patterns, defaultBranch, ignoreTags, latestMajorVersions, latestVersionsPerMajor)
} }
catch (err) { catch (err) {
// Help // Help
@@ -60,7 +62,7 @@ class Args {
*/ */
function getArgs() { function getArgs() {
// Parse // Parse
const parsedArgs = argHelper.parse([], ['default-branch', 'ignore-tags']) const parsedArgs = argHelper.parse([], ['default-branch', 'ignore-tags', 'latest-major-versions', 'latest-versions-per-major'])
if (parsedArgs.arguments.length < 1) { if (parsedArgs.arguments.length < 1) {
argHelper.throwError('Expected at least one arg') argHelper.throwError('Expected at least one arg')
} }
@@ -101,16 +103,29 @@ function getArgs() {
repo: splitNwo[1], repo: splitNwo[1],
patterns: patterns, patterns: patterns,
defaultBranch: parsedArgs.options['default-branch'], defaultBranch: parsedArgs.options['default-branch'],
ignoreTags: ignoreTags ignoreTags: ignoreTags,
latestMajorVersions: parseNonNegativeInt(parsedArgs.options['latest-major-versions'], 'latest-major-versions'),
latestVersionsPerMajor: parseNonNegativeInt(parsedArgs.options['latest-versions-per-major'], 'latest-versions-per-major')
} }
} }
function parseNonNegativeInt(value, name) {
if (!value) return 0
const n = Number(value)
if (!Number.isInteger(n) || n < 0) {
argHelper.throwError(`--${name} must be a non-negative integer, got '${value}'`)
}
return n
}
function printUsage() { function printUsage() {
console.error('USAGE: add-action.sh [--default-branch branch] [--ignore-tags versions] nwo [(+|-)regexp [...]]') console.error('USAGE: add-action.sh [--default-branch branch] [--ignore-tags versions] [--latest-major-versions N] [--latest-versions-per-major N] nwo [(+|-)regexp [...]]')
console.error(` --default-branch Default branch name. For example: master`) console.error(` --default-branch Default branch name. For example: master`)
console.error(` --ignore-tags Comma-separated version prefixes to ignore. For example: v1,v2`) console.error(` --ignore-tags Comma-separated version prefixes to ignore. For example: v1,v2`)
console.error(` nwo Name with owner. For example: actions/checkout`) console.error(` --latest-major-versions Only cache the latest N major versions. For example: 3`)
console.error(` regexp Refs to include or exclude. Default: ${actionConfig.defaultPatterns.join(' ')}`) console.error(` --latest-versions-per-major Only cache the latest N version tags per major version. For example: 5`)
console.error(` nwo Name with owner. For example: actions/checkout`)
console.error(` regexp Refs to include or exclude. Default: ${actionConfig.defaultPatterns.join(' ')}`)
} }
main() main()

View File

@@ -0,0 +1,87 @@
// Filters tags from an action config based on latestMajorVersions and latestVersionsPerMajor.
// Reads JSON config from stdin, outputs allowed tag names (one per line).
async function main() {
let input = ''
for await (const chunk of process.stdin) {
input += chunk
}
const config = JSON.parse(input)
const tags = Object.keys(config.tags || {})
const latestMajorVersions = config.latestMajorVersions || 0 // 0 = unlimited
const latestVersionsPerMajor = config.latestVersionsPerMajor || 0 // 0 = unlimited
if (!latestMajorVersions && !latestVersionsPerMajor) {
// No filtering configured, output all tags
for (const tag of tags) {
console.log(tag)
}
return
}
// Parse version info from tag names
const versionTags = []
const nonVersionTags = []
for (const tag of tags) {
const match = tag.match(/^v(\d+)(?:\.(\d+))?(?:\.(\d+))?$/)
if (!match) {
nonVersionTags.push(tag)
continue
}
const major = parseInt(match[1], 10)
const minor = match[2] !== undefined ? parseInt(match[2], 10) : -1
const patch = match[3] !== undefined ? parseInt(match[3], 10) : -1
const isMajorOnly = minor === -1
versionTags.push({ tag, major, minor, patch, isMajorOnly })
}
// Find distinct major versions sorted descending (newest first)
const majorVersions = [...new Set(versionTags.map(v => v.major))].sort((a, b) => b - a)
// Apply latestMajorVersions filter
const allowedMajors = new Set(
latestMajorVersions > 0 ? majorVersions.slice(0, latestMajorVersions) : majorVersions
)
// Always include non-version tags
const result = [...nonVersionTags]
for (const major of allowedMajors) {
const tagsForMajor = versionTags.filter(v => v.major === major)
// Always include major-only pointers (e.g., "v4")
for (const v of tagsForMajor.filter(v => v.isMajorOnly)) {
result.push(v.tag)
}
// Sort non-major-only tags by version descending (latest first)
const sortedVersions = tagsForMajor
.filter(v => !v.isMajorOnly)
.sort((a, b) => {
if (a.minor !== b.minor) return b.minor - a.minor
return b.patch - a.patch
})
// Apply latestVersionsPerMajor filter
const kept = latestVersionsPerMajor > 0
? sortedVersions.slice(0, latestVersionsPerMajor)
: sortedVersions
for (const v of kept) {
result.push(v.tag)
}
}
for (const tag of result) {
console.log(tag)
}
}
main().catch(err => {
console.error(err.message)
process.exitCode = 1
})

View File

@@ -44,6 +44,15 @@ for json_file in $script_dir/../../config/actions/*.json; do
ignore_patterns=() ignore_patterns=()
IFS=$'\n' read -r -d '' -a ignore_patterns < <( echo "$json" | jq --raw-output '.ignoreTags // [] | .[]' && printf '\0' ) IFS=$'\n' read -r -d '' -a ignore_patterns < <( echo "$json" | jq --raw-output '.ignoreTags // [] | .[]' && printf '\0' )
# Get version-filtered tags (applies latestMajorVersions and latestVersionsPerMajor)
filtered_tags=()
IFS=$'\n' read -r -d '' -a filtered_tags < <( echo "$json" | node "$script_dir/filter-tags.js" && printf '\0' )
unset filtered_tag_set
declare -A filtered_tag_set
for t in "${filtered_tags[@]}"; do
filtered_tag_set[$t]=1
done
# Get an array of tag info. Each item contains "<tag> <commit_sha>" # Get an array of tag info. Each item contains "<tag> <commit_sha>"
tag_info=() tag_info=()
IFS=$'\n' read -r -d '' -a tag_info < <( echo "$json" | jq --raw-output '.tags | to_entries | .[] | .key + " " + .value.commit' && printf '\0' ) IFS=$'\n' read -r -d '' -a tag_info < <( echo "$json" | jq --raw-output '.tags | to_entries | .[] | .key + " " + .value.commit' && printf '\0' )
@@ -67,6 +76,12 @@ for json_file in $script_dir/../../config/actions/*.json; do
continue continue
fi fi
# Check if the tag passes version filter
if [ -z "${filtered_tag_set[$tag]+x}" ]; then
echo "Skipping tag '$tag' (filtered by version limits)"
continue
fi
# Append curl download command # Append curl download command
curl_download_commands+=("curl -s -S -L -o '$sha.tar.gz' 'https://api.github.com/repos/$owner/$repo/tarball/$sha'") curl_download_commands+=("curl -s -S -L -o '$sha.tar.gz' 'https://api.github.com/repos/$owner/$repo/tarball/$sha'")
curl_download_commands+=("curl -s -S -L -o '$sha.zip' 'https://api.github.com/repos/$owner/$repo/zipball/$sha'") curl_download_commands+=("curl -s -S -L -o '$sha.zip' 'https://api.github.com/repos/$owner/$repo/zipball/$sha'")

View File

@@ -23,8 +23,10 @@ async function main() {
const patterns = config.patterns const patterns = config.patterns
const defaultBranch = config.defaultBranch const defaultBranch = config.defaultBranch
const ignoreTags = config.ignoreTags const ignoreTags = config.ignoreTags
const latestMajorVersions = args.latestMajorVersions || config.latestMajorVersions
const latestVersionsPerMajor = args.latestVersionsPerMajor || config.latestVersionsPerMajor
assert.ok(patterns && patterns.length, 'Existing patterns must not be empty') assert.ok(patterns && patterns.length, 'Existing patterns must not be empty')
await actionConfig.add(owner, repo, patterns, defaultBranch, ignoreTags) await actionConfig.add(owner, repo, patterns, defaultBranch, ignoreTags, latestMajorVersions, latestVersionsPerMajor)
} }
} }
catch (err) { catch (err) {
@@ -51,6 +53,8 @@ class Args {
all = false all = false
owner = '' owner = ''
repo = '' repo = ''
latestMajorVersions = 0
latestVersionsPerMajor = 0
} }
/** /**
@@ -58,9 +62,11 @@ class Args {
* @returns {Args} * @returns {Args}
*/ */
function getArgs() { function getArgs() {
const parsedArgs = argHelper.parse(['all']) const parsedArgs = argHelper.parse(['all'], ['latest-major-versions', 'latest-versions-per-major'])
const result = new Args() const result = new Args()
result.all = !!parsedArgs.flags['all'] result.all = !!parsedArgs.flags['all']
result.latestMajorVersions = parseNonNegativeInt(parsedArgs.options['latest-major-versions'], 'latest-major-versions')
result.latestVersionsPerMajor = parseNonNegativeInt(parsedArgs.options['latest-versions-per-major'], 'latest-versions-per-major')
// All // All
if (result.all) { if (result.all) {
@@ -88,9 +94,21 @@ function getArgs() {
return result return result
} }
function parseNonNegativeInt(value, name) {
if (!value) return 0
const n = Number(value)
if (!Number.isInteger(n) || n < 0) {
argHelper.throwError(`--${name} must be a non-negative integer, got '${value}'`)
}
return n
}
function printUsage() { function printUsage() {
console.error('USAGE: update-action.sh nwo') console.error('USAGE: update-action.sh [--all] [--latest-major-versions N] [--latest-versions-per-major N] [nwo]')
console.error(` nwo Name with owner. For example: actions/checkout`) console.error(` --all Update all configured actions`)
console.error(` --latest-major-versions Update to only keep the latest N major versions`)
console.error(` --latest-versions-per-major Update to only keep the latest N version tags per major`)
console.error(` nwo Name with owner. For example: actions/checkout`)
} }
main() main()

View File

@@ -46,6 +46,8 @@ function test_tar_gz ()
echo "Find action.yml under $sha_archive_full_path" echo "Find action.yml under $sha_archive_full_path"
elif [[ -f "$first_dir/action.yaml" ]]; then elif [[ -f "$first_dir/action.yaml" ]]; then
echo "Find action.yaml under $sha_archive_full_path" echo "Find action.yaml under $sha_archive_full_path"
elif find "$first_dir" -name 'action.yml' -o -name 'action.yaml' | grep -q .; then
echo "Find action.yml in subdirectory under $sha_archive_full_path"
else else
echo "$sha_archive_full_path doesn't contain an action.yml or action.yaml" echo "$sha_archive_full_path doesn't contain an action.yml or action.yaml"
exit 1 exit 1
@@ -83,6 +85,8 @@ function test_zip ()
echo "Find action.yml under $sha_archive_full_path" echo "Find action.yml under $sha_archive_full_path"
elif [[ -f "$first_dir/action.yaml" ]]; then elif [[ -f "$first_dir/action.yaml" ]]; then
echo "Find action.yaml under $sha_archive_full_path" echo "Find action.yaml under $sha_archive_full_path"
elif find "$first_dir" -name 'action.yml' -o -name 'action.yaml' | grep -q .; then
echo "Find action.yml in subdirectory under $sha_archive_full_path"
else else
echo "$sha_archive_full_path doesn't contain an action.yml or action.yaml" echo "$sha_archive_full_path doesn't contain an action.yml or action.yaml"
exit 1 exit 1