Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ae91befbd9 | |||
| ab7f3a1ca8 | |||
| 40447878b4 | |||
| d978451142 | |||
| 0ed705790a | |||
| 9cfee4013f |
@@ -15,6 +15,39 @@ Preview versions are intentionally excluded. For example: `v2-beta`
|
||||
|
||||
Optional args may be supplied to control which refs are included. See `script/add-action.sh --help` for more info.
|
||||
|
||||
### Ignoring old versions
|
||||
|
||||
To exclude certain old version tags from being packaged, add an `ignoreTags` array to the action config JSON file. Each entry is a regex pattern that will be tested against tag names.
|
||||
|
||||
**When adding a new action**, use the `--ignore-tags` option with simple version prefixes:
|
||||
|
||||
```bash
|
||||
./script/add-action.sh --ignore-tags "v1,v2" actions/checkout
|
||||
```
|
||||
|
||||
This will automatically generate regex patterns that match `v1`, `v1.x`, `v2`, `v2.x`, etc.
|
||||
|
||||
**For existing actions**, use the helper script to add ignore tags:
|
||||
|
||||
```bash
|
||||
./script/add-ignore-tags.sh --ignore-tags "v1,v2" actions/checkout
|
||||
```
|
||||
|
||||
Or add `ignoreTags` directly to the JSON config file:
|
||||
|
||||
```json
|
||||
{
|
||||
"owner": "actions",
|
||||
"repo": "checkout",
|
||||
"ignoreTags": [
|
||||
"^v1(\\..*)?$",
|
||||
"^v2(\\..*)?$"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Tags matching any of the patterns will be excluded from the generated scripts while remaining in the config for historical reference. The `ignoreTags` field is preserved when running `update-action.sh`.
|
||||
|
||||
### How to use this in the self-hosted runner?
|
||||
|
||||
Please read the doc @kenmuse has put together at: https://www.kenmuse.com/blog/building-github-actions-runner-images-with-an-action-archive-cache/
|
||||
@@ -27,20 +60,5 @@ This project is licensed under the terms of the MIT open source license. Please
|
||||
|
||||
[CODEOWNERS](./CODEOWNERS)
|
||||
|
||||
## Note
|
||||
|
||||
Thank you for your interest in this GitHub repo, however, right now we are not taking contributions.
|
||||
|
||||
We continue to focus our resources on strategic areas that help our customers be successful while making developers' lives easier. While GitHub Actions remains a key part of this vision, we are allocating resources towards other areas of Actions and are not taking contributions to this repository at this time. The GitHub public roadmap is the best place to follow along for any updates on features we’re working on and what stage they’re in.
|
||||
|
||||
We are taking the following steps to better direct requests related to GitHub Actions, including:
|
||||
|
||||
1. We will be directing questions and support requests to our [Community Discussions area](https://github.com/orgs/community/discussions/categories/actions)
|
||||
|
||||
2. High Priority bugs can be reported through Community Discussions or you can report these to our support team https://support.github.com/contact/bug-report.
|
||||
|
||||
3. Security Issues should be handled as per our [security.md](security.md)
|
||||
|
||||
We will still provide security updates for this project and fix major breaking changes during this time.
|
||||
|
||||
You are welcome to still raise bugs in this repo.
|
||||
## Contributing
|
||||
See the [contribution guide](../github/CONTRIBUTING.MD). Currently we are not taking requests for non first party actions to be added at this time.
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
"+^v[3-9]+(\\.[0-9]+){0,2}$"
|
||||
],
|
||||
"branches": {
|
||||
"main": "5a3ec84eff668545956fd18022155c47e93e2684"
|
||||
"main": "9255dc7a253b0ccc959486e2bca901246202afeb"
|
||||
},
|
||||
"defaultBranch": "main",
|
||||
"tags": {
|
||||
"v3": {
|
||||
"commit": "2f8e54208210a422b2efd51efaa6bd6d7ca8920f"
|
||||
"commit": "6f8efc29b200d32929f49075959781ed54ec270c"
|
||||
},
|
||||
"v3.0.0": {
|
||||
"commit": "4b0cf6cc4619e737324ddfcec08fff2413359514"
|
||||
@@ -94,8 +94,11 @@
|
||||
"v3.4.3": {
|
||||
"commit": "2f8e54208210a422b2efd51efaa6bd6d7ca8920f"
|
||||
},
|
||||
"v3.5.0": {
|
||||
"commit": "6f8efc29b200d32929f49075959781ed54ec270c"
|
||||
},
|
||||
"v4": {
|
||||
"commit": "5a3ec84eff668545956fd18022155c47e93e2684"
|
||||
"commit": "0057852bfaa89a56745cba8c7296529d2fc39830"
|
||||
},
|
||||
"v4.0.0": {
|
||||
"commit": "13aacd865c20de90d75de3b17ebe84f7a17d57d2"
|
||||
@@ -126,6 +129,21 @@
|
||||
},
|
||||
"v4.2.3": {
|
||||
"commit": "5a3ec84eff668545956fd18022155c47e93e2684"
|
||||
},
|
||||
"v4.2.4": {
|
||||
"commit": "0400d5f644dc74513175e3cd8d07132dd4860809"
|
||||
},
|
||||
"v4.3.0": {
|
||||
"commit": "0057852bfaa89a56745cba8c7296529d2fc39830"
|
||||
},
|
||||
"v5": {
|
||||
"commit": "9255dc7a253b0ccc959486e2bca901246202afeb"
|
||||
},
|
||||
"v5.0.0": {
|
||||
"commit": "a7833574556fa59680c1b7cb190c1735db73ebf0"
|
||||
},
|
||||
"v5.0.1": {
|
||||
"commit": "9255dc7a253b0ccc959486e2bca901246202afeb"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"+^v[0-9]+(\\.[0-9]+){0,2}$"
|
||||
],
|
||||
"branches": {
|
||||
"main": "85e6279cec87321a52edac9c87bce653a07cf6c2"
|
||||
"main": "8e8c483db84b4bee98b60c0593521ed34d9990e8"
|
||||
},
|
||||
"defaultBranch": "main",
|
||||
"tags": {
|
||||
@@ -116,7 +116,7 @@
|
||||
"commit": "f43a0e5ff2bd294095638e18286ca9a3d1956744"
|
||||
},
|
||||
"v4": {
|
||||
"commit": "11bd71901bbe5b1630ceea73d27597364c9af683"
|
||||
"commit": "34e114876b0b11c390a56381ad16ebd13914f8d5"
|
||||
},
|
||||
"v4.0.0": {
|
||||
"commit": "1e31de5234b9f8995739874a8ce0492dc87873e2"
|
||||
@@ -153,6 +153,30 @@
|
||||
},
|
||||
"v4.2.2": {
|
||||
"commit": "11bd71901bbe5b1630ceea73d27597364c9af683"
|
||||
},
|
||||
"v4.3.0": {
|
||||
"commit": "08eba0b27e820071cde6df949e0beb9ba4906955"
|
||||
},
|
||||
"v4.3.1": {
|
||||
"commit": "34e114876b0b11c390a56381ad16ebd13914f8d5"
|
||||
},
|
||||
"v5": {
|
||||
"commit": "93cb6efe18208431cddfb8368fd83d5badbf9bfd"
|
||||
},
|
||||
"v5.0.0": {
|
||||
"commit": "08c6903cd8c0fde910a37f88322edcfb5dd907a8"
|
||||
},
|
||||
"v5.0.1": {
|
||||
"commit": "93cb6efe18208431cddfb8368fd83d5badbf9bfd"
|
||||
},
|
||||
"v6": {
|
||||
"commit": "8e8c483db84b4bee98b60c0593521ed34d9990e8"
|
||||
},
|
||||
"v6.0.0": {
|
||||
"commit": "1af3b93b6815bc44a9784bd300feb67ff0d1eeb3"
|
||||
},
|
||||
"v6.0.1": {
|
||||
"commit": "8e8c483db84b4bee98b60c0593521ed34d9990e8"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"+^v[0-9]+(\\.[0-9]+){0,2}$"
|
||||
],
|
||||
"branches": {
|
||||
"main": "49933ea5288caeca8642d1e84afbd3f7d6820020"
|
||||
"main": "395ad3262231945c25e8478fd5baf05154b1d79f"
|
||||
},
|
||||
"defaultBranch": "main",
|
||||
"tags": {
|
||||
@@ -196,6 +196,21 @@
|
||||
},
|
||||
"v4.4.0": {
|
||||
"commit": "49933ea5288caeca8642d1e84afbd3f7d6820020"
|
||||
},
|
||||
"v5": {
|
||||
"commit": "a0853c24544627f65ddf259abe73b1d18a591444"
|
||||
},
|
||||
"v5.0.0": {
|
||||
"commit": "a0853c24544627f65ddf259abe73b1d18a591444"
|
||||
},
|
||||
"v6": {
|
||||
"commit": "395ad3262231945c25e8478fd5baf05154b1d79f"
|
||||
},
|
||||
"v6.0.0": {
|
||||
"commit": "2028fbc5c25fe9cf00d9f06a71cc4710d4507903"
|
||||
},
|
||||
"v6.1.0": {
|
||||
"commit": "395ad3262231945c25e8478fd5baf05154b1d79f"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
"-^v1(\\.[0-9]+){0,2}$"
|
||||
],
|
||||
"branches": {
|
||||
"main": "a26af69be951a213d495a4c3e4e4022e16d87065"
|
||||
"main": "83679a892e2d95755f2dac6acb0bfd1e9ac5d548"
|
||||
},
|
||||
"defaultBranch": "main",
|
||||
"tags": {
|
||||
@@ -156,6 +156,15 @@
|
||||
},
|
||||
"v5.6.0": {
|
||||
"commit": "a26af69be951a213d495a4c3e4e4022e16d87065"
|
||||
},
|
||||
"v6": {
|
||||
"commit": "83679a892e2d95755f2dac6acb0bfd1e9ac5d548"
|
||||
},
|
||||
"v6.0.0": {
|
||||
"commit": "e797f83bcb11b83ae66e0230d6156d7c80228e7c"
|
||||
},
|
||||
"v6.1.0": {
|
||||
"commit": "83679a892e2d95755f2dac6acb0bfd1e9ac5d548"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"+^v[0-9]+(\\.[0-9]+){0,2}$"
|
||||
],
|
||||
"branches": {
|
||||
"main": "6027e3dd177782cd8ab9af838c04fd81a07f1d47"
|
||||
"main": "b7c566a772e6b6bfb58ed0dc250532a479d7789f"
|
||||
},
|
||||
"defaultBranch": "main",
|
||||
"tags": {
|
||||
@@ -140,6 +140,18 @@
|
||||
},
|
||||
"v4.6.2": {
|
||||
"commit": "ea165f8d65b6e75b540449e92b4886f43607fa02"
|
||||
},
|
||||
"v5": {
|
||||
"commit": "330a01c490aca151604b8cf639adc76d48f6c5d4"
|
||||
},
|
||||
"v5.0.0": {
|
||||
"commit": "330a01c490aca151604b8cf639adc76d48f6c5d4"
|
||||
},
|
||||
"v6": {
|
||||
"commit": "b7c566a772e6b6bfb58ed0dc250532a479d7789f"
|
||||
},
|
||||
"v6.0.0": {
|
||||
"commit": "b7c566a772e6b6bfb58ed0dc250532a479d7789f"
|
||||
}
|
||||
}
|
||||
}
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
script_dir="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
||||
|
||||
# Minimum node version
|
||||
$script_dir/internal/check-node.sh
|
||||
|
||||
# Add ignore tags to the action
|
||||
node "$script_dir/internal/add-ignore-tags.js" $*
|
||||
|
||||
# Regenerate action scripts
|
||||
$script_dir/internal/generate-scripts.sh
|
||||
@@ -1,9 +1,9 @@
|
||||
mkdir actions_cache
|
||||
pushd actions_cache
|
||||
curl -s -S -L -o '5a3ec84eff668545956fd18022155c47e93e2684.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/5a3ec84eff668545956fd18022155c47e93e2684'
|
||||
curl -s -S -L -o '5a3ec84eff668545956fd18022155c47e93e2684.zip' 'https://api.github.com/repos/actions/cache/zipball/5a3ec84eff668545956fd18022155c47e93e2684'
|
||||
curl -s -S -L -o '2f8e54208210a422b2efd51efaa6bd6d7ca8920f.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/2f8e54208210a422b2efd51efaa6bd6d7ca8920f'
|
||||
curl -s -S -L -o '2f8e54208210a422b2efd51efaa6bd6d7ca8920f.zip' 'https://api.github.com/repos/actions/cache/zipball/2f8e54208210a422b2efd51efaa6bd6d7ca8920f'
|
||||
curl -s -S -L -o '9255dc7a253b0ccc959486e2bca901246202afeb.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/9255dc7a253b0ccc959486e2bca901246202afeb'
|
||||
curl -s -S -L -o '9255dc7a253b0ccc959486e2bca901246202afeb.zip' 'https://api.github.com/repos/actions/cache/zipball/9255dc7a253b0ccc959486e2bca901246202afeb'
|
||||
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 '4b0cf6cc4619e737324ddfcec08fff2413359514.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/4b0cf6cc4619e737324ddfcec08fff2413359514'
|
||||
curl -s -S -L -o '4b0cf6cc4619e737324ddfcec08fff2413359514.zip' 'https://api.github.com/repos/actions/cache/zipball/4b0cf6cc4619e737324ddfcec08fff2413359514'
|
||||
curl -s -S -L -o '136d96b4aee02b1f0de3ba493b1d47135042d9c0.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/136d96b4aee02b1f0de3ba493b1d47135042d9c0'
|
||||
@@ -58,8 +58,10 @@ curl -s -S -L -o '387e18722e6ff315b24a3b8b071feddd27b7bf7e.tar.gz' 'https://api.
|
||||
curl -s -S -L -o '387e18722e6ff315b24a3b8b071feddd27b7bf7e.zip' 'https://api.github.com/repos/actions/cache/zipball/387e18722e6ff315b24a3b8b071feddd27b7bf7e'
|
||||
curl -s -S -L -o '2f8e54208210a422b2efd51efaa6bd6d7ca8920f.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/2f8e54208210a422b2efd51efaa6bd6d7ca8920f'
|
||||
curl -s -S -L -o '2f8e54208210a422b2efd51efaa6bd6d7ca8920f.zip' 'https://api.github.com/repos/actions/cache/zipball/2f8e54208210a422b2efd51efaa6bd6d7ca8920f'
|
||||
curl -s -S -L -o '5a3ec84eff668545956fd18022155c47e93e2684.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/5a3ec84eff668545956fd18022155c47e93e2684'
|
||||
curl -s -S -L -o '5a3ec84eff668545956fd18022155c47e93e2684.zip' 'https://api.github.com/repos/actions/cache/zipball/5a3ec84eff668545956fd18022155c47e93e2684'
|
||||
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 '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 '13aacd865c20de90d75de3b17ebe84f7a17d57d2.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/13aacd865c20de90d75de3b17ebe84f7a17d57d2'
|
||||
curl -s -S -L -o '13aacd865c20de90d75de3b17ebe84f7a17d57d2.zip' 'https://api.github.com/repos/actions/cache/zipball/13aacd865c20de90d75de3b17ebe84f7a17d57d2'
|
||||
curl -s -S -L -o 'ab5e6d0c87105b4c9c2047343972218f562e4319.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/ab5e6d0c87105b4c9c2047343972218f562e4319'
|
||||
@@ -80,4 +82,14 @@ curl -s -S -L -o 'd4323d4df104b026a6aa633fdb11d772146be0bf.tar.gz' 'https://api.
|
||||
curl -s -S -L -o 'd4323d4df104b026a6aa633fdb11d772146be0bf.zip' 'https://api.github.com/repos/actions/cache/zipball/d4323d4df104b026a6aa633fdb11d772146be0bf'
|
||||
curl -s -S -L -o '5a3ec84eff668545956fd18022155c47e93e2684.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/5a3ec84eff668545956fd18022155c47e93e2684'
|
||||
curl -s -S -L -o '5a3ec84eff668545956fd18022155c47e93e2684.zip' 'https://api.github.com/repos/actions/cache/zipball/5a3ec84eff668545956fd18022155c47e93e2684'
|
||||
curl -s -S -L -o '0400d5f644dc74513175e3cd8d07132dd4860809.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/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.zip' 'https://api.github.com/repos/actions/cache/zipball/0057852bfaa89a56745cba8c7296529d2fc39830'
|
||||
curl -s -S -L -o '9255dc7a253b0ccc959486e2bca901246202afeb.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/9255dc7a253b0ccc959486e2bca901246202afeb'
|
||||
curl -s -S -L -o '9255dc7a253b0ccc959486e2bca901246202afeb.zip' 'https://api.github.com/repos/actions/cache/zipball/9255dc7a253b0ccc959486e2bca901246202afeb'
|
||||
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 '9255dc7a253b0ccc959486e2bca901246202afeb.tar.gz' 'https://api.github.com/repos/actions/cache/tarball/9255dc7a253b0ccc959486e2bca901246202afeb'
|
||||
curl -s -S -L -o '9255dc7a253b0ccc959486e2bca901246202afeb.zip' 'https://api.github.com/repos/actions/cache/zipball/9255dc7a253b0ccc959486e2bca901246202afeb'
|
||||
popd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
mkdir actions_checkout
|
||||
pushd actions_checkout
|
||||
curl -s -S -L -o '85e6279cec87321a52edac9c87bce653a07cf6c2.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/85e6279cec87321a52edac9c87bce653a07cf6c2'
|
||||
curl -s -S -L -o '85e6279cec87321a52edac9c87bce653a07cf6c2.zip' 'https://api.github.com/repos/actions/checkout/zipball/85e6279cec87321a52edac9c87bce653a07cf6c2'
|
||||
curl -s -S -L -o '8e8c483db84b4bee98b60c0593521ed34d9990e8.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/8e8c483db84b4bee98b60c0593521ed34d9990e8'
|
||||
curl -s -S -L -o '8e8c483db84b4bee98b60c0593521ed34d9990e8.zip' 'https://api.github.com/repos/actions/checkout/zipball/8e8c483db84b4bee98b60c0593521ed34d9990e8'
|
||||
curl -s -S -L -o '50fbc622fc4ef5163becd7fab6573eac35f8462e.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/50fbc622fc4ef5163becd7fab6573eac35f8462e'
|
||||
curl -s -S -L -o '50fbc622fc4ef5163becd7fab6573eac35f8462e.zip' 'https://api.github.com/repos/actions/checkout/zipball/50fbc622fc4ef5163becd7fab6573eac35f8462e'
|
||||
curl -s -S -L -o 'af513c7a016048ae468971c52ed77d9562c7c819.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/af513c7a016048ae468971c52ed77d9562c7c819'
|
||||
@@ -70,8 +70,8 @@ curl -s -S -L -o 'c85c95e3d7251135ab7dc9ce3241c5835cc595a9.tar.gz' 'https://api.
|
||||
curl -s -S -L -o 'c85c95e3d7251135ab7dc9ce3241c5835cc595a9.zip' 'https://api.github.com/repos/actions/checkout/zipball/c85c95e3d7251135ab7dc9ce3241c5835cc595a9'
|
||||
curl -s -S -L -o 'f43a0e5ff2bd294095638e18286ca9a3d1956744.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/f43a0e5ff2bd294095638e18286ca9a3d1956744'
|
||||
curl -s -S -L -o 'f43a0e5ff2bd294095638e18286ca9a3d1956744.zip' 'https://api.github.com/repos/actions/checkout/zipball/f43a0e5ff2bd294095638e18286ca9a3d1956744'
|
||||
curl -s -S -L -o '11bd71901bbe5b1630ceea73d27597364c9af683.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/11bd71901bbe5b1630ceea73d27597364c9af683'
|
||||
curl -s -S -L -o '11bd71901bbe5b1630ceea73d27597364c9af683.zip' 'https://api.github.com/repos/actions/checkout/zipball/11bd71901bbe5b1630ceea73d27597364c9af683'
|
||||
curl -s -S -L -o '34e114876b0b11c390a56381ad16ebd13914f8d5.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/34e114876b0b11c390a56381ad16ebd13914f8d5'
|
||||
curl -s -S -L -o '34e114876b0b11c390a56381ad16ebd13914f8d5.zip' 'https://api.github.com/repos/actions/checkout/zipball/34e114876b0b11c390a56381ad16ebd13914f8d5'
|
||||
curl -s -S -L -o '1e31de5234b9f8995739874a8ce0492dc87873e2.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/1e31de5234b9f8995739874a8ce0492dc87873e2'
|
||||
curl -s -S -L -o '1e31de5234b9f8995739874a8ce0492dc87873e2.zip' 'https://api.github.com/repos/actions/checkout/zipball/1e31de5234b9f8995739874a8ce0492dc87873e2'
|
||||
curl -s -S -L -o '8ade135a41bc03ea155e62e844d188df1ea18608.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/8ade135a41bc03ea155e62e844d188df1ea18608'
|
||||
@@ -96,4 +96,20 @@ curl -s -S -L -o 'eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871.tar.gz' 'https://api.
|
||||
curl -s -S -L -o 'eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871.zip' 'https://api.github.com/repos/actions/checkout/zipball/eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871'
|
||||
curl -s -S -L -o '11bd71901bbe5b1630ceea73d27597364c9af683.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/11bd71901bbe5b1630ceea73d27597364c9af683'
|
||||
curl -s -S -L -o '11bd71901bbe5b1630ceea73d27597364c9af683.zip' 'https://api.github.com/repos/actions/checkout/zipball/11bd71901bbe5b1630ceea73d27597364c9af683'
|
||||
curl -s -S -L -o '08eba0b27e820071cde6df949e0beb9ba4906955.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/08eba0b27e820071cde6df949e0beb9ba4906955'
|
||||
curl -s -S -L -o '08eba0b27e820071cde6df949e0beb9ba4906955.zip' 'https://api.github.com/repos/actions/checkout/zipball/08eba0b27e820071cde6df949e0beb9ba4906955'
|
||||
curl -s -S -L -o '34e114876b0b11c390a56381ad16ebd13914f8d5.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/34e114876b0b11c390a56381ad16ebd13914f8d5'
|
||||
curl -s -S -L -o '34e114876b0b11c390a56381ad16ebd13914f8d5.zip' 'https://api.github.com/repos/actions/checkout/zipball/34e114876b0b11c390a56381ad16ebd13914f8d5'
|
||||
curl -s -S -L -o '93cb6efe18208431cddfb8368fd83d5badbf9bfd.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/93cb6efe18208431cddfb8368fd83d5badbf9bfd'
|
||||
curl -s -S -L -o '93cb6efe18208431cddfb8368fd83d5badbf9bfd.zip' 'https://api.github.com/repos/actions/checkout/zipball/93cb6efe18208431cddfb8368fd83d5badbf9bfd'
|
||||
curl -s -S -L -o '08c6903cd8c0fde910a37f88322edcfb5dd907a8.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/08c6903cd8c0fde910a37f88322edcfb5dd907a8'
|
||||
curl -s -S -L -o '08c6903cd8c0fde910a37f88322edcfb5dd907a8.zip' 'https://api.github.com/repos/actions/checkout/zipball/08c6903cd8c0fde910a37f88322edcfb5dd907a8'
|
||||
curl -s -S -L -o '93cb6efe18208431cddfb8368fd83d5badbf9bfd.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/93cb6efe18208431cddfb8368fd83d5badbf9bfd'
|
||||
curl -s -S -L -o '93cb6efe18208431cddfb8368fd83d5badbf9bfd.zip' 'https://api.github.com/repos/actions/checkout/zipball/93cb6efe18208431cddfb8368fd83d5badbf9bfd'
|
||||
curl -s -S -L -o '8e8c483db84b4bee98b60c0593521ed34d9990e8.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/8e8c483db84b4bee98b60c0593521ed34d9990e8'
|
||||
curl -s -S -L -o '8e8c483db84b4bee98b60c0593521ed34d9990e8.zip' 'https://api.github.com/repos/actions/checkout/zipball/8e8c483db84b4bee98b60c0593521ed34d9990e8'
|
||||
curl -s -S -L -o '1af3b93b6815bc44a9784bd300feb67ff0d1eeb3.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3'
|
||||
curl -s -S -L -o '1af3b93b6815bc44a9784bd300feb67ff0d1eeb3.zip' 'https://api.github.com/repos/actions/checkout/zipball/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3'
|
||||
curl -s -S -L -o '8e8c483db84b4bee98b60c0593521ed34d9990e8.tar.gz' 'https://api.github.com/repos/actions/checkout/tarball/8e8c483db84b4bee98b60c0593521ed34d9990e8'
|
||||
curl -s -S -L -o '8e8c483db84b4bee98b60c0593521ed34d9990e8.zip' 'https://api.github.com/repos/actions/checkout/zipball/8e8c483db84b4bee98b60c0593521ed34d9990e8'
|
||||
popd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
mkdir actions_setup-node
|
||||
pushd actions_setup-node
|
||||
curl -s -S -L -o '49933ea5288caeca8642d1e84afbd3f7d6820020.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/49933ea5288caeca8642d1e84afbd3f7d6820020'
|
||||
curl -s -S -L -o '49933ea5288caeca8642d1e84afbd3f7d6820020.zip' 'https://api.github.com/repos/actions/setup-node/zipball/49933ea5288caeca8642d1e84afbd3f7d6820020'
|
||||
curl -s -S -L -o '395ad3262231945c25e8478fd5baf05154b1d79f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/395ad3262231945c25e8478fd5baf05154b1d79f'
|
||||
curl -s -S -L -o '395ad3262231945c25e8478fd5baf05154b1d79f.zip' 'https://api.github.com/repos/actions/setup-node/zipball/395ad3262231945c25e8478fd5baf05154b1d79f'
|
||||
curl -s -S -L -o 'f1f314fca9dfce2769ece7d933488f076716723e.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/f1f314fca9dfce2769ece7d933488f076716723e'
|
||||
curl -s -S -L -o 'f1f314fca9dfce2769ece7d933488f076716723e.zip' 'https://api.github.com/repos/actions/setup-node/zipball/f1f314fca9dfce2769ece7d933488f076716723e'
|
||||
curl -s -S -L -o '0d7d2ca66539aca4af6c5102e29a33757e2c2d2c.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/0d7d2ca66539aca4af6c5102e29a33757e2c2d2c'
|
||||
@@ -126,4 +126,14 @@ curl -s -S -L -o 'cdca7365b2dadb8aad0a33bc7601856ffabcc48e.tar.gz' 'https://api.
|
||||
curl -s -S -L -o 'cdca7365b2dadb8aad0a33bc7601856ffabcc48e.zip' 'https://api.github.com/repos/actions/setup-node/zipball/cdca7365b2dadb8aad0a33bc7601856ffabcc48e'
|
||||
curl -s -S -L -o '49933ea5288caeca8642d1e84afbd3f7d6820020.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/49933ea5288caeca8642d1e84afbd3f7d6820020'
|
||||
curl -s -S -L -o '49933ea5288caeca8642d1e84afbd3f7d6820020.zip' 'https://api.github.com/repos/actions/setup-node/zipball/49933ea5288caeca8642d1e84afbd3f7d6820020'
|
||||
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.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 '395ad3262231945c25e8478fd5baf05154b1d79f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/395ad3262231945c25e8478fd5baf05154b1d79f'
|
||||
curl -s -S -L -o '395ad3262231945c25e8478fd5baf05154b1d79f.zip' 'https://api.github.com/repos/actions/setup-node/zipball/395ad3262231945c25e8478fd5baf05154b1d79f'
|
||||
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 '395ad3262231945c25e8478fd5baf05154b1d79f.tar.gz' 'https://api.github.com/repos/actions/setup-node/tarball/395ad3262231945c25e8478fd5baf05154b1d79f'
|
||||
curl -s -S -L -o '395ad3262231945c25e8478fd5baf05154b1d79f.zip' 'https://api.github.com/repos/actions/setup-node/zipball/395ad3262231945c25e8478fd5baf05154b1d79f'
|
||||
popd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
mkdir actions_setup-python
|
||||
pushd actions_setup-python
|
||||
curl -s -S -L -o 'a26af69be951a213d495a4c3e4e4022e16d87065.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/a26af69be951a213d495a4c3e4e4022e16d87065'
|
||||
curl -s -S -L -o 'a26af69be951a213d495a4c3e4e4022e16d87065.zip' 'https://api.github.com/repos/actions/setup-python/zipball/a26af69be951a213d495a4c3e4e4022e16d87065'
|
||||
curl -s -S -L -o '83679a892e2d95755f2dac6acb0bfd1e9ac5d548.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/83679a892e2d95755f2dac6acb0bfd1e9ac5d548'
|
||||
curl -s -S -L -o '83679a892e2d95755f2dac6acb0bfd1e9ac5d548.zip' 'https://api.github.com/repos/actions/setup-python/zipball/83679a892e2d95755f2dac6acb0bfd1e9ac5d548'
|
||||
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 '6c4e46d258ee4bf9a1263c78a91ec029bbe54cf0.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/6c4e46d258ee4bf9a1263c78a91ec029bbe54cf0'
|
||||
@@ -98,4 +98,10 @@ curl -s -S -L -o '8d9ed9ac5c53483de85588cdf95a591a75ab9f55.tar.gz' 'https://api.
|
||||
curl -s -S -L -o '8d9ed9ac5c53483de85588cdf95a591a75ab9f55.zip' 'https://api.github.com/repos/actions/setup-python/zipball/8d9ed9ac5c53483de85588cdf95a591a75ab9f55'
|
||||
curl -s -S -L -o 'a26af69be951a213d495a4c3e4e4022e16d87065.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/a26af69be951a213d495a4c3e4e4022e16d87065'
|
||||
curl -s -S -L -o 'a26af69be951a213d495a4c3e4e4022e16d87065.zip' 'https://api.github.com/repos/actions/setup-python/zipball/a26af69be951a213d495a4c3e4e4022e16d87065'
|
||||
curl -s -S -L -o '83679a892e2d95755f2dac6acb0bfd1e9ac5d548.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/83679a892e2d95755f2dac6acb0bfd1e9ac5d548'
|
||||
curl -s -S -L -o '83679a892e2d95755f2dac6acb0bfd1e9ac5d548.zip' 'https://api.github.com/repos/actions/setup-python/zipball/83679a892e2d95755f2dac6acb0bfd1e9ac5d548'
|
||||
curl -s -S -L -o 'e797f83bcb11b83ae66e0230d6156d7c80228e7c.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/e797f83bcb11b83ae66e0230d6156d7c80228e7c'
|
||||
curl -s -S -L -o 'e797f83bcb11b83ae66e0230d6156d7c80228e7c.zip' 'https://api.github.com/repos/actions/setup-python/zipball/e797f83bcb11b83ae66e0230d6156d7c80228e7c'
|
||||
curl -s -S -L -o '83679a892e2d95755f2dac6acb0bfd1e9ac5d548.tar.gz' 'https://api.github.com/repos/actions/setup-python/tarball/83679a892e2d95755f2dac6acb0bfd1e9ac5d548'
|
||||
curl -s -S -L -o '83679a892e2d95755f2dac6acb0bfd1e9ac5d548.zip' 'https://api.github.com/repos/actions/setup-python/zipball/83679a892e2d95755f2dac6acb0bfd1e9ac5d548'
|
||||
popd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
mkdir actions_upload-artifact
|
||||
pushd actions_upload-artifact
|
||||
curl -s -S -L -o '6027e3dd177782cd8ab9af838c04fd81a07f1d47.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/6027e3dd177782cd8ab9af838c04fd81a07f1d47'
|
||||
curl -s -S -L -o '6027e3dd177782cd8ab9af838c04fd81a07f1d47.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/6027e3dd177782cd8ab9af838c04fd81a07f1d47'
|
||||
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 '3446296876d12d4e3a0f3145a3c87e67bf0a16b5.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/3446296876d12d4e3a0f3145a3c87e67bf0a16b5'
|
||||
curl -s -S -L -o '3446296876d12d4e3a0f3145a3c87e67bf0a16b5.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/3446296876d12d4e3a0f3145a3c87e67bf0a16b5'
|
||||
curl -s -S -L -o '3446296876d12d4e3a0f3145a3c87e67bf0a16b5.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/3446296876d12d4e3a0f3145a3c87e67bf0a16b5'
|
||||
@@ -88,4 +88,12 @@ curl -s -S -L -o '4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1.tar.gz' 'https://api.
|
||||
curl -s -S -L -o '4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1'
|
||||
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 '330a01c490aca151604b8cf639adc76d48f6c5d4.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/330a01c490aca151604b8cf639adc76d48f6c5d4'
|
||||
curl -s -S -L -o '330a01c490aca151604b8cf639adc76d48f6c5d4.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/330a01c490aca151604b8cf639adc76d48f6c5d4'
|
||||
curl -s -S -L -o '330a01c490aca151604b8cf639adc76d48f6c5d4.tar.gz' 'https://api.github.com/repos/actions/upload-artifact/tarball/330a01c490aca151604b8cf639adc76d48f6c5d4'
|
||||
curl -s -S -L -o '330a01c490aca151604b8cf639adc76d48f6c5d4.zip' 'https://api.github.com/repos/actions/upload-artifact/zipball/330a01c490aca151604b8cf639adc76d48f6c5d4'
|
||||
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.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'
|
||||
popd
|
||||
|
||||
@@ -26,6 +26,12 @@ class ActionConfig {
|
||||
*/
|
||||
patterns = []
|
||||
|
||||
/**
|
||||
* Tag patterns to ignore during packaging
|
||||
* @type {string[]|undefined}
|
||||
*/
|
||||
ignoreTags = undefined
|
||||
|
||||
/**
|
||||
* Branch versions (ref to commit SHA)
|
||||
* @type {{[ref: string]: string}}
|
||||
@@ -63,12 +69,13 @@ exports.TagVersion = TagVersion
|
||||
/**
|
||||
* Adds a new action config file
|
||||
* @param {string} owner
|
||||
* @param {string} repos
|
||||
* @param {string} repo
|
||||
* @param {string[]} patternStrings
|
||||
* @param {string} defaultBranch
|
||||
* @param {string[]|undefined} ignoreTags
|
||||
* @returns {Promise}
|
||||
*/
|
||||
async function add(owner, repo, patternStrings, defaultBranch) {
|
||||
async function add(owner, repo, patternStrings, defaultBranch, ignoreTags) {
|
||||
assert.ok(owner, "Arg 'owner' must not be empty")
|
||||
assert.ok(repo, "Arg 'repo' must not be empty")
|
||||
assert.ok(patternStrings, "Arg 'patternStrings' must not be null")
|
||||
@@ -84,6 +91,9 @@ async function add(owner, repo, patternStrings, defaultBranch) {
|
||||
config.owner = owner
|
||||
config.repo = repo
|
||||
config.patterns = patternStrings
|
||||
if (ignoreTags && ignoreTags.length > 0) {
|
||||
config.ignoreTags = ignoreTags
|
||||
}
|
||||
config.defaultBranch = defaultBranch
|
||||
|
||||
const tempDir = path.join(paths.temp, `${owner}_${repo}`)
|
||||
|
||||
@@ -14,6 +14,7 @@ async function main() {
|
||||
const repo = args.repo
|
||||
const patterns = args.patterns
|
||||
const defaultBranch = args.defaultBranch || 'master'
|
||||
const ignoreTags = args.ignoreTags
|
||||
|
||||
// File exists?
|
||||
const file = actionConfig.getFilePath(owner, repo)
|
||||
@@ -23,7 +24,7 @@ async function main() {
|
||||
await fsHelper.reinitTemp()
|
||||
|
||||
// Add the config
|
||||
await actionConfig.add(owner, repo, patterns, defaultBranch)
|
||||
await actionConfig.add(owner, repo, patterns, defaultBranch, ignoreTags)
|
||||
}
|
||||
catch (err) {
|
||||
// Help
|
||||
@@ -50,6 +51,7 @@ class Args {
|
||||
repo = ''
|
||||
patterns = []
|
||||
defaultBranch = ''
|
||||
ignoreTags = []
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -58,7 +60,7 @@ class Args {
|
||||
*/
|
||||
function getArgs() {
|
||||
// Parse
|
||||
const parsedArgs = argHelper.parse([], ['default-branch'])
|
||||
const parsedArgs = argHelper.parse([], ['default-branch', 'ignore-tags'])
|
||||
if (parsedArgs.arguments.length < 1) {
|
||||
argHelper.throwError('Expected at least one arg')
|
||||
}
|
||||
@@ -81,17 +83,32 @@ function getArgs() {
|
||||
}
|
||||
}
|
||||
|
||||
// Parse ignore-tags (comma-separated version prefixes like v1,v2)
|
||||
// These are converted to regex patterns that match the version and all its sub-versions
|
||||
let ignoreTags = []
|
||||
if (parsedArgs.options['ignore-tags']) {
|
||||
const prefixes = parsedArgs.options['ignore-tags'].split(',').map(t => t.trim()).filter(t => t)
|
||||
for (const prefix of prefixes) {
|
||||
// Convert simple version prefix like "v1" to regex pattern "^v1(\\..*)?$"
|
||||
// This matches "v1", "v1.0", "v1.0.0", etc.
|
||||
const escapedPrefix = prefix.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
||||
ignoreTags.push(`^${escapedPrefix}(\\..*)?$`)
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
owner: splitNwo[0],
|
||||
repo: splitNwo[1],
|
||||
patterns: patterns,
|
||||
defaultBranch: parsedArgs.options['default-branch']
|
||||
defaultBranch: parsedArgs.options['default-branch'],
|
||||
ignoreTags: ignoreTags
|
||||
}
|
||||
}
|
||||
|
||||
function printUsage() {
|
||||
console.error('USAGE: add-action.sh [--default-branch branch] nwo [(+|-)regexp [...]]')
|
||||
console.error('USAGE: add-action.sh [--default-branch branch] [--ignore-tags versions] nwo [(+|-)regexp [...]]')
|
||||
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(` nwo Name with owner. For example: actions/checkout`)
|
||||
console.error(` regexp Refs to include or exclude. Default: ${actionConfig.defaultPatterns.join(' ')}`)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
const actionConfig = require('./action-config')
|
||||
const argHelper = require('./arg-helper')
|
||||
const debugHelper = require('./debug-helper')
|
||||
const fs = require('fs')
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
// Command line args
|
||||
const args = getArgs()
|
||||
|
||||
// Get the action config file
|
||||
const file = actionConfig.getFilePath(args.owner, args.repo)
|
||||
debugHelper.debug(`file: ${file}`)
|
||||
|
||||
// Load the config
|
||||
const config = await actionConfig.loadFromPath(file)
|
||||
|
||||
// Add ignore tags
|
||||
if (!config.ignoreTags) {
|
||||
config.ignoreTags = []
|
||||
}
|
||||
|
||||
// Add new patterns (avoid duplicates)
|
||||
for (const pattern of args.ignoreTags) {
|
||||
if (!config.ignoreTags.includes(pattern)) {
|
||||
config.ignoreTags.push(pattern)
|
||||
}
|
||||
}
|
||||
|
||||
// Write config back
|
||||
await fs.promises.writeFile(file, JSON.stringify(config, null, ' '))
|
||||
console.log(`Updated config file: ${file}`)
|
||||
console.log(` ignoreTags: ${JSON.stringify(config.ignoreTags)}`)
|
||||
}
|
||||
catch (err) {
|
||||
// Help
|
||||
if (err.code === argHelper.helpCode) {
|
||||
printUsage()
|
||||
return
|
||||
}
|
||||
|
||||
// Arg error?
|
||||
if (err.code === argHelper.errorCode) {
|
||||
printUsage()
|
||||
console.error('')
|
||||
}
|
||||
|
||||
// Print error
|
||||
debugHelper.debug(err.stack)
|
||||
console.error(`ERROR: ${err.message}`)
|
||||
process.exitCode = 1
|
||||
}
|
||||
}
|
||||
|
||||
class Args {
|
||||
owner = ''
|
||||
repo = ''
|
||||
ignoreTags = []
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the command line args
|
||||
* @returns {Args}
|
||||
*/
|
||||
function getArgs() {
|
||||
const parsedArgs = argHelper.parse([], ['ignore-tags'])
|
||||
const result = new Args()
|
||||
|
||||
// Validate ignore-tags is provided
|
||||
if (!parsedArgs.options['ignore-tags']) {
|
||||
argHelper.throwError('--ignore-tags is required')
|
||||
}
|
||||
|
||||
// Parse ignore-tags (comma-separated version prefixes like v1,v2)
|
||||
const prefixes = parsedArgs.options['ignore-tags'].split(',').map(t => t.trim()).filter(t => t)
|
||||
for (const prefix of prefixes) {
|
||||
// Convert simple version prefix like "v1" to regex pattern "^v1(\\..*)?$"
|
||||
// This matches "v1", "v1.0", "v1.0.0", etc.
|
||||
const escapedPrefix = prefix.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
||||
result.ignoreTags.push(`^${escapedPrefix}(\\..*)?$`)
|
||||
}
|
||||
|
||||
// Validate exactly one arg
|
||||
if (parsedArgs.arguments.length !== 1) {
|
||||
argHelper.throwError('Expected exactly one arg (nwo)')
|
||||
}
|
||||
|
||||
const nwo = parsedArgs.arguments[0]
|
||||
const splitNwo = nwo.split('/')
|
||||
if (splitNwo.length !== 2 || !splitNwo[0] || !splitNwo[1]) {
|
||||
argHelper.throwError(`Invalid nwo '${nwo}'`)
|
||||
}
|
||||
result.owner = splitNwo[0]
|
||||
result.repo = splitNwo[1]
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
function printUsage() {
|
||||
console.error('USAGE: add-ignore-tags.sh --ignore-tags versions nwo')
|
||||
console.error(` --ignore-tags Comma-separated version prefixes to ignore. For example: v1,v2`)
|
||||
console.error(` nwo Name with owner. For example: actions/checkout`)
|
||||
}
|
||||
|
||||
main()
|
||||
@@ -40,6 +40,10 @@ for json_file in $script_dir/../../config/actions/*.json; do
|
||||
curl_download_commands+=("curl -s -S -L -o '$sha.zip' 'https://api.github.com/repos/$owner/$repo/zipball/$sha'")
|
||||
done
|
||||
|
||||
# Get an array of ignoreTags patterns (if present)
|
||||
ignore_patterns=()
|
||||
IFS=$'\n' read -r -d '' -a ignore_patterns < <( echo "$json" | jq --raw-output '.ignoreTags // [] | .[]' && printf '\0' )
|
||||
|
||||
# Get an array of tag info. Each item contains "<tag> <commit_sha>"
|
||||
tag_info=()
|
||||
IFS=$'\n' read -r -d '' -a tag_info < <( echo "$json" | jq --raw-output '.tags | to_entries | .[] | .key + " " + .value.commit' && printf '\0' )
|
||||
@@ -49,6 +53,20 @@ for json_file in $script_dir/../../config/actions/*.json; do
|
||||
tag="${split[0]}"
|
||||
sha="${split[1]}"
|
||||
|
||||
# Check if the tag matches any ignore pattern
|
||||
skip_tag=false
|
||||
for pattern in "${ignore_patterns[@]}"; do
|
||||
if [[ "$tag" =~ $pattern ]]; then
|
||||
echo "Ignoring tag '$tag' (matches pattern '$pattern')"
|
||||
skip_tag=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$skip_tag" = true ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# 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.zip' 'https://api.github.com/repos/$owner/$repo/zipball/$sha'")
|
||||
|
||||
@@ -22,8 +22,9 @@ async function main() {
|
||||
const repo = config.repo
|
||||
const patterns = config.patterns
|
||||
const defaultBranch = config.defaultBranch
|
||||
const ignoreTags = config.ignoreTags
|
||||
assert.ok(patterns && patterns.length, 'Existing patterns must not be empty')
|
||||
await actionConfig.add(owner, repo, patterns, defaultBranch)
|
||||
await actionConfig.add(owner, repo, patterns, defaultBranch, ignoreTags)
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user