Compare commits

...

105 Commits

Author SHA1 Message Date
Gregorio Litenstein
97e86eb609
Merge bb91a1ccb0 into 5656298164 2026-02-26 11:15:56 +00:00
Ryan Ghadimi
5656298164
Merge pull request #1722 from RyPeck/patch-1
Fix cache key in examples.md for bun.lock
2026-02-24 14:21:04 +00:00
Ryan Peck
4e380d19e1
Fix cache key in examples.md for bun.lock
Updated cache key to use 'bun.lock' instead of 'bun.lockb' for consistency.
2026-02-24 09:11:36 -05:00
Gregorio Litenstein
bb91a1ccb0
Update build
Signed-off-by: Gregorio Litenstein <g.litenstein@gmail.com>
2026-02-05 14:29:41 -03:00
Gregorio Litenstein
9d55b4e130
Fix script invocations, lint and format.
Signed-off-by: Gregorio Litenstein <g.litenstein@gmail.com>
2026-02-05 14:18:53 -03:00
Gregorio Litenstein
d27c53e015
licenses
Signed-off-by: Gregorio Litenstein <g.litenstein@gmail.com>
2026-02-05 14:18:52 -03:00
Gregorio Litenstein
a823c680a0
Update @octokit/action to 5.x
Signed-off-by: Gregorio Litenstein <g.litenstein@gmail.com>
2026-02-05 14:18:52 -03:00
Gregorio Litenstein
44816f5267
Update tests for deleteCacheByKey.
And rebuild.

Signed-off-by: Gregorio Litenstein <g.litenstein@gmail.com>
2026-02-05 14:18:49 -03:00
Gregorio Litenstein
4aee8fbad8
Update documentation and licenses. 2026-02-05 14:15:11 -03:00
Gregorio Litenstein
2f8900dbfd
Update some dependencies.
Signed-off-by: Gregorio Litenstein <g.litenstein@gmail.com>
2026-02-05 10:47:58 -03:00
Gregorio Litenstein
29eae8b688
Don’t accidentally deleting cache from base branch
Signed-off-by: Gregorio Litenstein <g.litenstein@gmail.com>
2026-02-05 10:46:00 -03:00
Gregorio Litenstein
16da501126
Allow refreshing cache also with granular save. 2026-02-05 10:46:00 -03:00
Gregorio Litenstein
9b375e1f10
Add tests for cache refreshing. 2026-02-05 10:46:00 -03:00
Gregorio Litenstein
4a63031112
Allow updating caches 2026-02-05 10:45:59 -03:00
Bassem Dghaidi
b7e8d49f17
Merge pull request #1701 from actions/Link-/fix-proxy-integration-tests
Fix proxy integration tests
2026-01-30 16:37:01 +01:00
Bassem Dghaidi
984a21b1cb Add traffic sanity check step 2026-01-30 02:05:51 -08:00
Bassem Dghaidi
acf2f1f76a Fix resolution 2026-01-30 02:03:12 -08:00
Bassem Dghaidi
95a07c5132 Add wait for proxy 2026-01-30 02:00:09 -08:00
Bassem Dghaidi
90e4fae240 Rewrite and simplify 2026-01-30 01:56:07 -08:00
Bassem Dghaidi
b45623637f
Merge pull request #1690 from XZTDean/docs/v5-example-update
docs: Update examples to use the latest version
2026-01-29 11:36:35 +01:00
Bassem Dghaidi
bdb94ce451
Merge branch 'main' into docs/v5-example-update 2026-01-29 11:32:26 +01:00
Bassem Dghaidi
cb6ea63971
Merge pull request #1699 from actions/Link-/fix-workflow-permissions
Fix workflow permissions and cleanup workflow names / formatting
2026-01-29 11:31:19 +01:00
Bassem Dghaidi
49bc452f55 Merge branch 'Link-/fix-workflow-permissions' of github.com:actions/cache into Link-/fix-workflow-permissions 2026-01-29 02:27:40 -08:00
Bassem Dghaidi
1e06c934a1
Merge branch 'main' of github.com:actions/cache into Link-/fix-workflow-permissions 2026-01-29 02:27:32 -08:00
Bassem Dghaidi
a838313d22
Merge pull request #1697 from actions/alert-autofix-52
Potential fix for code scanning alert no. 52: Workflow does not contain permissions
2026-01-29 11:26:02 +01:00
Bassem Dghaidi
6e48a73476
Update .github/workflows/pr-opened-workflow.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-29 11:25:11 +01:00
Bassem Dghaidi
9848277c90 Cleanup workflow file names 2026-01-29 02:19:45 -08:00
Bassem Dghaidi
94056f1871 Fix workflow permissions and cleanup 2026-01-29 02:17:35 -08:00
Bassem Dghaidi
b56bb3a202 Fix permissions for workflows/workflow.yml 2026-01-29 02:11:09 -08:00
Bassem Dghaidi
4a6586c009
Merge branch 'main' into alert-autofix-52 2026-01-29 11:04:16 +01:00
Bassem Dghaidi
0de23fd4eb
Merge pull request #1696 from actions/Link-/release-docs
Add release instructions and update maintainer docs
2026-01-29 11:03:40 +01:00
Bassem Dghaidi
4e38c8636e
Potential fix for code scanning alert no. 52: Workflow does not contain permissions
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-01-29 11:02:45 +01:00
Bassem Dghaidi
24e8b877a8 Add note 2026-01-29 01:58:41 -08:00
Bassem Dghaidi
3baa5f1c7b Update contribution docs 2026-01-29 01:58:05 -08:00
Bassem Dghaidi
cdf6c1fa76
Merge pull request #1695 from actions/Link-/prepare-5.0.3
Prepare v5.0.3 release
2026-01-29 10:43:43 +01:00
Bassem Dghaidi
a1bee22673 Add review for the @actions/http-client license 2026-01-29 01:39:24 -08:00
Bassem Dghaidi
46957638dc
Add licensed output 2026-01-29 01:31:38 -08:00
Bassem Dghaidi
dc73bb9f7b Upgrade dependencies and address security warnings
- Bump `@actions/cache` to v5.0.5
- Bump `@actions/core` to v2.0.3
2026-01-29 01:25:30 -08:00
Bassem Dghaidi
345d5c2f76
Add 5.0.3 builds 2026-01-29 01:24:44 -08:00
Ryan Ghadimi
8b402f58fb
Merge pull request #1692 from GhadimiR/main
Bump @actions/cache to 5.0.3
2026-01-16 17:25:13 +00:00
Ryan Ghadimi
304ab5a070 license for httpclient 2026-01-16 13:30:00 +00:00
Ryan Ghadimi
609fc19e67 Update licensed record for cache 2026-01-16 12:28:12 +00:00
Ryan Ghadimi
b22231e43d Build 2026-01-16 11:42:17 +00:00
Ryan Ghadimi
93150cdfb3 Add PR link to releases 2026-01-16 11:39:29 +00:00
Ryan Ghadimi
9b8ca9f07e Bump actions/cache to 5.0.3 2026-01-16 11:35:54 +00:00
XZTDean
5b7a9f8ae5 docs: Update other actions in examples to the latest version 2025-12-15 06:34:21 -08:00
XZTDean
de99935c0c docs: Update examples to cache@v5 2025-12-15 06:15:33 -08:00
Salman Chishti
9255dc7a25
Merge pull request #1686 from actions/cache-v5.0.1-release
prepare release v5.0.1
2025-12-12 16:35:06 +00:00
Salman Muin Kayser Chishti
8ff5423e8b chore: release v5.0.1
- Bump version to 5.0.1
- Fix Node.js 24 punycode deprecation warning via @actions/cache@5.0.1
- Updates @azure/storage-blob to ^12.29.1

Related: #1685
2025-12-12 16:25:01 +00:00
Salman Chishti
9233019a15
Merge pull request #1685 from salmanmkc/node24-storage-blob-fix
fix: update @actions/cache for Node.js 24 punycode deprecation
2025-12-12 16:16:21 +00:00
Salman Muin Kayser Chishti
b975f2bb84 fix: add peer property to package-lock.json for dependencies 2025-12-12 16:02:25 +00:00
Salman Muin Kayser Chishti
d0a0e18134 fix: update license files for @actions/cache, fast-xml-parser, and strnum 2025-12-12 15:49:07 +00:00
Salman Muin Kayser Chishti
74de208dcf fix: update @actions/cache to ^5.0.1 for Node.js 24 punycode fix
Updates @actions/cache to version 5.0.1 which includes the @azure/storage-blob
update that fixes the punycode deprecation warning on Node.js 24.
2025-12-12 15:48:37 +00:00
Salman Muin Kayser Chishti
ac7f1152ea peer 2025-12-12 14:25:41 +00:00
Salman Muin Kayser Chishti
b0f846b50b fix: update @actions/cache with storage-blob fix for Node.js 24 punycode deprecation 2025-12-12 14:14:24 +00:00
Salman Chishti
a783357455
Merge pull request #1684 from actions/prepare-cache-v5-release
Prepare v5.0.0 release
2025-12-11 21:15:52 +00:00
Salman Muin Kayser Chishti
3bb0d78750 docs: highlight v5 runner requirement in releases 2025-12-11 21:12:24 +00:00
Salman Muin Kayser Chishti
054c1f2301 readme note 2025-12-11 21:11:33 +00:00
Salman Muin Kayser Chishti
07629789a8 docs: update README for v5 release with Node 24 and runner version requirements 2025-12-11 21:08:31 +00:00
Salman Muin Kayser Chishti
9e02f8fbde Prepare v5.0.0 release
- Bump package version to 5.0.0

- Add v5.0.0 release notes (Node.js 24 runtime + runner requirement)
2025-12-11 21:03:28 +00:00
Salman Chishti
ffd11d22fe
Merge pull request #1630 from salmanmkc/node24
Upgrade to use node24
2025-12-11 20:25:44 +00:00
Salman Muin Kayser Chishti
5bb537bda8 undo readme changes 2025-12-11 18:41:05 +00:00
Salman Muin Kayser Chishti
94a1e4b342 chore: regenerate package-lock.json 2025-12-11 18:38:18 +00:00
Salman Muin Kayser Chishti
70a5ee3e57 chore: rebuild dist with version 4.3.0 2025-12-11 18:36:48 +00:00
Salman Muin Kayser Chishti
5267c61f02 chore: set version to 4.3.0 for prepare release PR 2025-12-11 18:35:54 +00:00
Salman Muin Kayser Chishti
1513bf9d27 chore: revert README to main branch state 2025-12-11 18:32:39 +00:00
Salman Muin Kayser Chishti
3b0346c531 Revert "docs: update README with v5 release notes"
This reverts commit fe92eaff4b.
2025-12-11 18:30:21 +00:00
Salman Muin Kayser Chishti
fe92eaff4b docs: update README with v5 release notes 2025-12-11 18:27:19 +00:00
Salman Muin Kayser Chishti
8070f1903a chore: bump version to 5.0.0 for Node.js 24 support 2025-12-11 18:20:55 +00:00
Salman Muin Kayser Chishti
1285d7de7c chore: update actions/checkout to v5 in workflow files 2025-12-11 18:15:27 +00:00
Salman Muin Kayser Chishti
6b1bb4d720 chore: rebuild dist with @actions/cache v5.0.0 2025-12-11 18:06:30 +00:00
Salman Muin Kayser Chishti
76fc20e7a9 chore: update license cache for @actions/cache v5.0.0 2025-12-11 18:05:36 +00:00
Salman Muin Kayser Chishti
a5b36459de chore: use published @actions/cache v5.0.0 2025-12-11 18:04:30 +00:00
Salman Muin Kayser Chishti
0062e4cc5f Extra dist change 2025-12-11 14:07:40 +00:00
Salman Muin Kayser Chishti
26b91aff41 Latest dist with core changes 2025-12-11 14:07:30 +00:00
Salman Muin Kayser Chishti
df217ffc5c chore: update @actions/core to 2.0.1 2025-12-11 14:06:40 +00:00
Salman Muin Kayser Chishti
d3cff5bce3 Update with core 2.0.1 which has exec 2.0.0 2025-12-11 14:04:55 +00:00
Salman Muin Kayser Chishti
a9d8a74065 chore: rebuild with @actions/cache v5.0.0
Uses updated cache package that removes @azure/ms-rest-js dependency to fix Node 24 punycode deprecation warning.
2025-12-10 11:12:44 +00:00
Salman Muin Kayser Chishti
249f0e6cee Use published @actions/core, exec, io v2.0.0 2025-12-09 16:15:56 +00:00
Salman Muin Kayser Chishti
aa3f06a4c2 Build with @actions/cache v5.0.0 2025-12-09 16:14:09 +00:00
Salman Muin Kayser Chishti
b24583c7e6 chore: use local @actions/core, exec, io packages 2025-12-09 11:13:31 +00:00
Salman Muin Kayser Chishti
5650dc9d27 chore: rebuild dist with local @actions/cache (core v2, exec v2) 2025-12-09 11:12:04 +00:00
Salman Muin Kayser Chishti
4803712a90 Build dist files for Node 24 2025-10-15 15:08:39 +01:00
Salman Muin Kayser Chishti
e92260483e Merge main branch and resolve conflicts
- Keep Node 24 package.json with local cache package reference
- Keep rebuilt dist files with local cache package
- Preserve package-lock.json with updated dependencies
- Include latest license updates from main
2025-09-29 15:42:16 +01:00
Salman Muin Kayser Chishti
5868a9c4a9 Update cache to use local cache package and Node 24 support
- Use local cache package with file:../packages/cache instead of published version
- Update all action.yml files to use node24 runtime
- Update dependencies to support Node 24 (@types/node@24.1.0)
- Rebuild dist files with local cache package
- Add engines field requiring node >=24
2025-09-29 15:26:42 +01:00
Bassem Dghaidi
0057852bfa
Merge pull request #1655 from actions/Link-/prepare-4.3.0
Prepare `v4.3.0` release
2025-09-24 15:47:33 +02:00
Bassem Dghaidi
4f5ea67f1c Update licensed cache 2025-09-24 06:39:50 -07:00
Bassem Dghaidi
9fcad95d03
Upgrade actions/cache to 4.1.0 and prepare 4.3.0 release 2025-09-24 06:24:25 -07:00
Salman Muin Kayser Chishti
99f840292b Approve license 2025-08-13 21:51:16 +01:00
Salman Muin Kayser Chishti
d6693585a1 license and compiled 2025-08-13 21:46:44 +01:00
Salman Muin Kayser Chishti
941dee2241 Merge branch 'main' into pr/1630 2025-08-13 21:43:37 +01:00
Ryan Ghadimi
638ed79f9d
Merge pull request #1642 from actions/GhadimiR-patch-1
Add note on runner versions
2025-08-11 12:17:46 +01:00
Ryan Ghadimi
3862dccb17
Add note on runner versions 2025-08-11 09:20:59 +01:00
Bassem Dghaidi
0400d5f644
Merge pull request #1636 from actions/Link-/release-4.2.4
Prepare release `4.2.4`
2025-08-07 14:47:42 +02:00
Bassem Dghaidi
374a27f269 Prepare release 4.2.4 2025-08-07 04:25:55 -07:00
Bassem Dghaidi
358a7306cd
Merge pull request #1634 from actions/Link-/optimise-deps
Upgrade `@actions/cache` to `4.0.4` and move `@protobuf-ts/plugin` to dev depdencies
2025-08-06 22:25:01 +02:00
Bassem Dghaidi
2ee706ef74 Fix with another approach 2025-08-06 13:18:40 -07:00
Bassem Dghaidi
94f7b5d913 Fix bundle exec 2025-08-06 13:13:47 -07:00
Bassem Dghaidi
c36116c3f4 Fix the workflow to use licensed from source 2025-08-06 13:10:06 -07:00
Bassem Dghaidi
320fe7d56b Update the licensed workflow to use the latest version 2025-08-06 13:01:20 -07:00
Bassem Dghaidi
d81cc477d9 Add licensed output 2025-08-06 12:37:53 -07:00
Bassem Dghaidi
de243982c5 Add licensed output 2025-08-06 12:35:46 -07:00
Bassem Dghaidi
e7b6a9cc9d @protobuf-ts/plugin to dev dependencies 2025-08-06 12:21:30 -07:00
Salman Chishti
7e364f2770 update licences 2025-08-06 10:30:04 +00:00
Salman Chishti
94b8944262 update to node24 2025-07-24 20:07:06 +00:00
132 changed files with 312859 additions and 205335 deletions

View File

@ -1,4 +1,4 @@
name: Check dist/
name: Check dist content
on:
push:
@ -11,9 +11,12 @@ on:
- '**.md'
workflow_dispatch:
permissions:
contents: read
jobs:
call-check-dist:
name: Check dist/
uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main
with:
node-version: "20.x"
node-version: "24.x"

View File

@ -1,4 +1,5 @@
name: Close inactive issues
on:
schedule:
- cron: "30 8 * * *"

View File

@ -1,4 +1,4 @@
name: "Code scanning - action"
name: Code scanning
on:
push:
@ -6,18 +6,17 @@ on:
schedule:
- cron: '0 19 * * 0'
permissions:
contents: read
security-events: write
jobs:
CodeQL-Build:
# CodeQL runs on ubuntu-latest, windows-latest, and macos-latest
runs-on: ubuntu-latest
permissions:
# required for all workflows
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@ -1,16 +1,21 @@
name: Assign issue
on:
issues:
types: [opened]
permissions:
issues: write
jobs:
run-action:
runs-on: ubuntu-latest
steps:
- name: Get current oncall
id: oncall
run: |
echo "CURRENT=$(curl --request GET 'https://api.pagerduty.com/oncalls?include[]=users&schedule_ids[]=P5VG2BX&earliest=true' --header 'Authorization: Token token=${{ secrets.PAGERDUTY_TOKEN }}' --header 'Accept: application/vnd.pagerduty+json;version=2' --header 'Content-Type: application/json' | jq -r '.oncalls[].user.name')" >> $GITHUB_OUTPUT
- name: add_assignees
run: |
curl -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN}}" https://api.github.com/repos/${{github.repository}}/issues/${{ github.event.issue.number}}/assignees -d '{"assignees":["${{steps.oncall.outputs.CURRENT}}"]}'
- name: Get current oncall
id: oncall
run: |
echo "CURRENT=$(curl --request GET 'https://api.pagerduty.com/oncalls?include[]=users&schedule_ids[]=P5VG2BX&earliest=true' --header 'Authorization: Token token=${{ secrets.PAGERDUTY_TOKEN }}' --header 'Accept: application/vnd.pagerduty+json;version=2' --header 'Content-Type: application/json' | jq -r '.oncalls[].user.name')" >> $GITHUB_OUTPUT
- name: add_assignees
run: |
curl -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN}}" https://api.github.com/repos/${{github.repository}}/issues/${{ github.event.issue.number}}/assignees -d '{"assignees":["${{steps.oncall.outputs.CURRENT}}"]}'

View File

@ -1,4 +1,4 @@
name: Licensed
name: License check
on:
push:
@ -9,7 +9,35 @@ on:
- main
workflow_dispatch:
permissions:
contents: read
jobs:
call-licensed:
name: Licensed
uses: actions/reusable-workflows/.github/workflows/licensed.yml@main
validate-cached-dependency-records:
runs-on: ubuntu-latest
name: Check licenses
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1.7'
- name: Install licensed tool
run: |
cd "$RUNNER_TEMP"
curl -Lfs -o licensed.tar.gz https://github.com/licensee/licensed/archive/refs/tags/v5.0.4.tar.gz
tar -xzf licensed.tar.gz
cd licensed-5.0.4
bundle install
- name: Check cached dependency records
run: |
cd ${{ github.workspace }}
BUNDLE_GEMFILE=$RUNNER_TEMP/licensed-5.0.4/Gemfile bundle exec $RUNNER_TEMP/licensed-5.0.4/exe/licensed status

View File

@ -1,20 +1,25 @@
name: Add Reviewer PR
name: Assign pull request reviewer
on:
pull_request_target:
types: [opened]
permissions:
pull-requests: write
jobs:
run-action:
runs-on: ubuntu-latest
steps:
- name: Get current oncall
id: oncall
run: |
echo "CURRENT=$(curl --request GET 'https://api.pagerduty.com/oncalls?include[]=users&schedule_ids[]=P5VG2BX&earliest=true' --header 'Authorization: Token token=${{ secrets.PAGERDUTY_TOKEN }}' --header 'Accept: application/vnd.pagerduty+json;version=2' --header 'Content-Type: application/json' | jq -r '.oncalls[].user.name')" >> $GITHUB_OUTPUT
- name: Request Review
run: |
curl -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN}}" https://api.github.com/repos/${{github.repository}}/pulls/${{ github.event.pull_request.number}}/requested_reviewers -d '{"reviewers":["${{steps.oncall.outputs.CURRENT}}"]}'
- name: Add Assignee
run: |
curl -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN}}" https://api.github.com/repos/${{github.repository}}/issues/${{ github.event.pull_request.number}}/assignees -d '{"assignees":["${{steps.oncall.outputs.CURRENT}}"]}'
- name: Get current oncall
id: oncall
run: |
echo "CURRENT=$(curl --request GET 'https://api.pagerduty.com/oncalls?include[]=users&schedule_ids[]=P5VG2BX&earliest=true' --header 'Authorization: Token token=${{ secrets.PAGERDUTY_TOKEN }}' --header 'Accept: application/vnd.pagerduty+json;version=2' --header 'Content-Type: application/json' | jq -r '.oncalls[].user.name')" >> $GITHUB_OUTPUT
- name: Request Review
run: |
curl -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN}}" https://api.github.com/repos/${{github.repository}}/pulls/${{ github.event.pull_request.number}}/requested_reviewers -d '{"reviewers":["${{steps.oncall.outputs.CURRENT}}"]}'
- name: Add Assignee
run: |
curl -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN}}" https://api.github.com/repos/${{github.repository}}/issues/${{ github.event.pull_request.number}}/assignees -d '{"assignees":["${{steps.oncall.outputs.CURRENT}}"]}'

View File

@ -1,20 +1,20 @@
name: 'Publish Immutable Action Version'
name: Publish immutable action
on:
release:
types: [released]
permissions:
contents: read
id-token: write
packages: write
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
- name: Checking out
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Publish
id: publish
uses: actions/publish-immutable-action@0.0.3

View File

@ -1,4 +1,5 @@
name: Release new action version
on:
release:
types: [released]
@ -10,6 +11,7 @@ on:
env:
TAG_NAME: ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }}
permissions:
contents: write

View File

@ -10,6 +10,9 @@ on:
- main
- releases/**
permissions:
contents: read
jobs:
# Build and unit test
build:
@ -20,11 +23,11 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js 20.x
uses: actions/checkout@v5
- name: Setup Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 24.x
cache: npm
- run: npm ci
- name: Prettier Format Check
@ -43,7 +46,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Generate files in working directory
shell: bash
run: __tests__/create-cache-files.sh ${{ runner.os }} test-cache
@ -57,6 +60,7 @@ jobs:
path: |
test-cache
~/test-cache
test-restore:
needs: test-save
strategy:
@ -66,7 +70,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Restore cache
uses: ./
with:
@ -86,17 +90,88 @@ jobs:
runs-on: ubuntu-latest
container:
image: ubuntu:latest
options: --dns 127.0.0.1
options: --cap-add=NET_ADMIN
services:
squid-proxy:
image: ubuntu/squid:latest
ports:
- 3128:3128
env:
http_proxy: http://squid-proxy:3128
https_proxy: http://squid-proxy:3128
steps:
- name: Wait for proxy to be ready
shell: bash
run: |
echo "Waiting for squid proxy to be ready..."
echo "Resolving squid-proxy hostname:"
getent hosts squid-proxy || echo "DNS resolution failed"
for i in $(seq 1 30); do
if (echo > /dev/tcp/squid-proxy/3128) 2>/dev/null; then
echo "Proxy is ready!"
exit 0
fi
echo "Attempt $i: Proxy not ready, waiting..."
sleep 2
done
echo "Proxy failed to become ready"
exit 1
env:
http_proxy: ""
https_proxy: ""
- name: Install dependencies
run: |
apt-get update
apt-get install -y iptables curl
- name: Verify proxy is working
run: |
echo "Testing proxy connectivity..."
curl -s -o /dev/null -w "%{http_code}" --proxy http://squid-proxy:3128 http://github.com || true
echo "Proxy verification complete"
- name: Block direct traffic (enforce proxy usage)
run: |
# Get the squid-proxy container IP
PROXY_IP=$(getent hosts squid-proxy | awk '{ print $1 }')
echo "Proxy IP: $PROXY_IP"
# Allow loopback traffic
iptables -A OUTPUT -o lo -j ACCEPT
# Allow traffic to the proxy container
iptables -A OUTPUT -d $PROXY_IP -j ACCEPT
# Allow established connections
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow DNS (needed for initial resolution)
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
# Block all other outbound traffic (HTTP/HTTPS)
iptables -A OUTPUT -p tcp --dport 80 -j REJECT
iptables -A OUTPUT -p tcp --dport 443 -j REJECT
# Log the iptables rules for debugging
iptables -L -v -n
- name: Verify direct HTTPS is blocked
run: |
echo "Testing that direct HTTPS requests fail..."
if curl --noproxy '*' -s --connect-timeout 5 https://github.com > /dev/null 2>&1; then
echo "ERROR: Direct HTTPS request succeeded - blocking is not working!"
exit 1
else
echo "SUCCESS: Direct HTTPS request was blocked as expected"
fi
echo "Testing that HTTPS through proxy succeeds..."
if curl --proxy http://squid-proxy:3128 -s --connect-timeout 10 https://github.com > /dev/null 2>&1; then
echo "SUCCESS: HTTPS request through proxy succeeded"
else
echo "ERROR: HTTPS request through proxy failed!"
exit 1
fi
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Generate files
run: __tests__/create-cache-files.sh proxy test-cache
- name: Save cache
@ -104,22 +179,94 @@ jobs:
with:
key: test-proxy-${{ github.run_id }}
path: test-cache
test-proxy-restore:
needs: test-proxy-save
runs-on: ubuntu-latest
container:
image: ubuntu:latest
options: --dns 127.0.0.1
options: --cap-add=NET_ADMIN
services:
squid-proxy:
image: ubuntu/squid:latest
ports:
- 3128:3128
env:
http_proxy: http://squid-proxy:3128
https_proxy: http://squid-proxy:3128
steps:
- name: Wait for proxy to be ready
shell: bash
run: |
echo "Waiting for squid proxy to be ready..."
echo "Resolving squid-proxy hostname:"
getent hosts squid-proxy || echo "DNS resolution failed"
for i in $(seq 1 30); do
if (echo > /dev/tcp/squid-proxy/3128) 2>/dev/null; then
echo "Proxy is ready!"
exit 0
fi
echo "Attempt $i: Proxy not ready, waiting..."
sleep 2
done
echo "Proxy failed to become ready"
exit 1
env:
http_proxy: ""
https_proxy: ""
- name: Install dependencies
run: |
apt-get update
apt-get install -y iptables curl
- name: Verify proxy is working
run: |
echo "Testing proxy connectivity..."
curl -s -o /dev/null -w "%{http_code}" --proxy http://squid-proxy:3128 http://github.com || true
echo "Proxy verification complete"
- name: Block direct traffic (enforce proxy usage)
run: |
# Get the squid-proxy container IP
PROXY_IP=$(getent hosts squid-proxy | awk '{ print $1 }')
echo "Proxy IP: $PROXY_IP"
# Allow loopback traffic
iptables -A OUTPUT -o lo -j ACCEPT
# Allow traffic to the proxy container
iptables -A OUTPUT -d $PROXY_IP -j ACCEPT
# Allow established connections
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow DNS (needed for initial resolution)
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
# Block all other outbound traffic (HTTP/HTTPS)
iptables -A OUTPUT -p tcp --dport 80 -j REJECT
iptables -A OUTPUT -p tcp --dport 443 -j REJECT
# Log the iptables rules for debugging
iptables -L -v -n
- name: Verify direct HTTPS is blocked
run: |
echo "Testing that direct HTTPS requests fail..."
if curl --noproxy '*' -s --connect-timeout 5 https://github.com > /dev/null 2>&1; then
echo "ERROR: Direct HTTPS request succeeded - blocking is not working!"
exit 1
else
echo "SUCCESS: Direct HTTPS request was blocked as expected"
fi
echo "Testing that HTTPS through proxy succeeds..."
if curl --proxy http://squid-proxy:3128 -s --connect-timeout 10 https://github.com > /dev/null 2>&1; then
echo "SUCCESS: HTTPS request through proxy succeeded"
else
echo "ERROR: HTTPS request through proxy failed!"
exit 1
fi
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Restore cache
uses: ./
with:

View File

@ -1,6 +1,14 @@
sources:
npm: true
# Force UTF-8 encoding
encoding: 'utf-8'
# Ignore problematic packages with encoding issues
ignored:
npm:
- form-data
allowed:
- apache-2.0
- bsd-2-clause
@ -19,4 +27,5 @@ reviewed:
- fs.realpath # ISC
- glob # ISC
- prettier # MIT
- lodash # MIT
- lodash # MIT
- "@actions/http-client" # MIT

BIN
.licenses/NOTICE generated

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@azure/core-client.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@azure/core-xml.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@octokit/endpoint.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@octokit/graphql.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@octokit/request.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@octokit/tsconfig.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@octokit/types-9.3.2.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/debug.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/fast-xml-parser.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/is-plain-object.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/ms.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/undici.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/universal-user-agent.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More