Skip to content

chore(ci): bump actions/cache/save from 5.0.5 to 6.1.0 - #351

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/actions/cache/save-6.1.0
Open

chore(ci): bump actions/cache/save from 5.0.5 to 6.1.0#351
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/actions/cache/save-6.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor

Bumps actions/cache/save from 5.0.5 to 6.1.0.

Release notes

Sourced from actions/cache/save's releases.

v6.1.0

What's Changed

Full Changelog: actions/cache@v6...v6.1.0

v6.0.0

What's Changed

Full Changelog: actions/cache@v5...v6.0.0

v5.1.0

What's Changed

Full Changelog: actions/cache@v5...v5.1.0

Changelog

Sourced from actions/cache/save's changelog.

Releases

How to prepare a release

[!NOTE] Relevant for maintainers with write access only.

  1. Switch to a new branch from main.
  2. Run npm test to ensure all tests are passing.
  3. Update the version in https://github.com/actions/cache/blob/main/package.json.
  4. Run npm run build to update the compiled files.
  5. Update this https://github.com/actions/cache/blob/main/RELEASES.md with the new version and changes in the ## Changelog section.
  6. Run licensed cache to update the license report.
  7. Run licensed status and resolve any warnings by updating the https://github.com/actions/cache/blob/main/.licensed.yml file with the exceptions.
  8. Commit your changes and push your branch upstream.
  9. Open a pull request against main and get it reviewed and merged.
  10. Draft a new release https://github.com/actions/cache/releases use the same version number used in package.json
    1. Create a new tag with the version number.
    2. Auto generate release notes and update them to match the changes you made in RELEASES.md.
    3. Toggle the set as the latest release option.
    4. Publish the release.
  11. Navigate to https://github.com/actions/cache/actions/workflows/release-new-action-version.yml
    1. There should be a workflow run queued with the same version number.
    2. Approve the run to publish the new version and update the major tags for this action.

Changelog

6.1.0

6.0.0

  • Updated @actions/cache to ^6.0.1, @actions/core to ^3.0.1, @actions/exec to ^3.0.0, @actions/io to ^3.0.2
  • Migrated to ESM module system
  • Upgraded Jest to v30 and test infrastructure to be ESM compatible

5.0.4

  • Bump minimatch to v3.1.5 (fixes ReDoS via globstar patterns)
  • Bump undici to v6.24.1 (WebSocket decompression bomb protection, header validation fixes)
  • Bump fast-xml-parser to v5.5.6

5.0.3

5.0.2

... (truncated)

Commits
  • 55cc834 Merge pull request #1768 from jasongin/readonly-cache
  • d8cd72f Bump @​actions/cache to v6.1.0 - handle cache write error due to RO token
  • 2c8a9bd Merge pull request #1760 from actions/samirat/esm_migration_and_package_update
  • e9b91fd Prettier fixes
  • e4884b8 Rebuild dist
  • 10baf01 Fixed licenses
  • e39b386 Fix test mock return order
  • b692820 PR feedback
  • 6074912 Rebuild dist bundles as ESM to match type:module
  • 5a912e8 Fix lint and jest issues
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file github-actions Pull requests that update GitHub Actions labels Jun 29, 2026
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file github-actions Pull requests that update GitHub Actions labels Jun 29, 2026
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

Semgrep Scan Results

Repository: api | Commit: a7c911d

Check Status Details
⚠️ Semgrep Warning 1 warning(s), 5 total

Scanned at 2026-07-01 13:03 UTC

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

Security Scan Results

Repository: api | Commit: a7c911d

Check Status Details
✅ Secret Scan Pass No secrets detected
❌ Dependencies Failed Check workflow logs

Scanned at 2026-07-01 13:03 UTC

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

📊 Statement coverage

Measured on the documented included set (see docs/TESTING.md → Coverage scope). Observe-only — no regression gate is enforced yet.

Scope This PR main baseline Δ
Included set (Gold-tier denominator) 90.3% 90.3% +0.0 pp
Full set (whole repo, transparency) 27.9% 27.9% +0.0 pp

Baseline: main @ 5e9f06e

Bumps [actions/cache/save](https://github.com/actions/cache) from 5.0.5 to 6.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@27d5ce7...55cc834)

---
updated-dependencies:
- dependency-name: actions/cache/save
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/actions/cache/save-6.1.0 branch from 5f27ed3 to 4ddb751 Compare July 1, 2026 13:02
Cre-eD added a commit that referenced this pull request Aug 3, 2026
…lities 8 → 10) (#372)

## Summary

OpenSSF Scorecard's **Vulnerabilities** check is at **8/10** with 8 open
advisories. This PR takes it to **10/10**.

- **7 fixed by version bump** — 3 Go, 4 Python (all severities, nothing
deferred).
- **1 unfixable by design** — `GO-2026-5932` has `introduced: 0` and no
fix event in OSV. Declared `not_affected` with reachability evidence.
- **2 stale suppressions retired** — `GO-2022-0635` / `GO-2022-0646` no
longer apply; removed rather than carried forward.

`osv-scanner scan source -r .` → **No issues found** (was 8). Scorecard
runs the same scanner (`osvscanner.DoScan` via `clients/osv.go`) against
the repo root, so the check flips on merge to `main`.

## Fixed

| Package | Old → New | Advisory | Sev | Where |
|---|---|---|---|---|
| `github.com/klauspost/compress` | 1.18.4 → 1.18.7 | GO-2026-5841 /
GHSA-259r-337f-4rfw — OOB read in `s2` | HIGH | `go.mod` (indirect) |
| `google.golang.org/grpc` | 1.81.1 → 1.82.1 | GO-2026-6061 /
GHSA-hrxh-6v49-42gf — xDS RBAC + HTTP/2 server | HIGH | `go.mod`
(indirect) |
| `click` | 8.1.8 → 8.4.2 | PYSEC-2026-2132 / CVE-2026-7246 | MEDIUM |
`docs/requirements.txt` |
| `pymdown-extensions` | 10.21.3 → 11.0.1 | GHSA-9xwg-3r6f-jcx2 /
CVE-2026-61632 — `b64` path traversal | MEDIUM | `docs/requirements.txt`
|
| `setuptools` | 82.0.1 → 83.0.0 | PYSEC-2026-3447 / CVE-2026-59890 |
MEDIUM | `docs/requirements.txt` |
| `soupsieve` | 2.8.3 → 2.9.1 | PYSEC-2026-3071 / CVE-2026-49476 —
memory exhaustion | HIGH | `docs/requirements.txt` |
| `soupsieve` | 2.8.3 → 2.9.1 | PYSEC-2026-3072 / CVE-2026-49477 — ReDoS
in selector parser | HIGH | `docs/requirements.txt` |

Side-effect bumps pulled in by the above: `x/crypto` 0.53.0 → 0.54.0,
`x/sys` 0.46.0 → 0.47.0, `x/term` 0.44.0 → 0.45.0,
`opentelemetry-operations-go/detectors/gcp` 1.31.0 → 1.32.0,
`contrib/detectors/gcp` 1.42.0 → 1.43.0, plus the `tools.go` chain (see
*CI ordering* below).

### How the Python side was done

`docs/requirements.in` gains explicit patched floors for the four
packages, following the pattern already established for `requests` /
`urllib3` after #264 — pinning the floor in the `.in` file is what stops
a future `pip-compile` from silently resolving back to a vulnerable
version. `docs/requirements.txt` was then regenerated with `pip-compile
--allow-unsafe --generate-hashes --upgrade`.

`mkdocs-material` 9.7.7 declares `pymdown-extensions>=10.2` with no
upper bound, so the 11.x major is in range for the theme — no theme pin
change needed, and the docs site builds clean (evidence below). The
`b64` extension that carries CVE-2026-61632 is not enabled in
`docs/mkdocs.yml` at all; the bump closes the advisory rather than a
live exposure.

## Not fixable — `GO-2026-5932` (`golang.org/x/crypto/openpgp`)

> The `golang.org/x/crypto/openpgp` package is unmaintained, unsafe by
design, and has known security issues.

This is a permanent "this package should not be used" notice, not a
patchable defect. In OSV it is `introduced: 0` with **no fix event**, so
no version of `x/crypto` clears it — bumping to 0.54.0 (done here
anyway, for hygiene) changes nothing.

**Reachability:**

1. **Where in the tree** — `x/crypto` is a direct dependency, required
for `chacha20poly1305` in `pkg/api/secrets/ciphers`. The advisory covers
only `openpgp` and its six subpackages.
2. **Is it in the artifact** — no. `go list -deps ./... | grep
x/crypto/openpgp` returns nothing, and Go's linker does not emit
packages no import path reaches. The vulnerable code is not present in
any binary this repo produces.
3. **Is the vulnerable code called** — no. `govulncheck -mode=source
./...` reports **0 reachable vulnerabilities**; this advisory lands in
its "modules you require, but your code doesn't appear to call" bucket.
4. **What OpenPGP work actually runs** —
`github.com/ProtonMail/go-crypto/openpgp`, which is the maintained fork
the advisory text itself recommends as the replacement.
5. **What would change the answer** — any new import of
`x/crypto/openpgp/*`. That would flip the VEX statement to `affected`
and block the gate.

Recorded as `status: not_affected`, `justification:
vulnerable_code_not_present` in [`vex/openvex.json`](vex/openvex.json),
mirrored into [`osv-scanner.toml`](osv-scanner.toml) — Scorecard's check
has no VEX input, so the mirror is the only channel that reaches it. No
`.trivyignore`, no `# nosec`, nothing hidden.

## Re-triage of existing suppressions

Both entries that predate this PR were re-checked rather than carried
forward:

| Advisory | Was | Now | Why |
|---|---|---|---|
| GO-2022-0635 (aws-sdk-go v1 s3crypto) | `not_affected` + ignore |
`fixed`, ignore removed | `github.com/aws/aws-sdk-go` (v1) is no longer
in `go.mod` — the Pulumi upgrades dropped the last build-graph edge and
Go module pruning removed it. `osv-scanner` reported the entry as an
**unused ignore**. |
| GO-2022-0646 (same subpackage) | `not_affected` + ignore | `fixed`,
ignore removed | Same. |

VEX statements are kept one release as an audit trail; the
`osv-scanner.toml` entries are gone.

## Governance changes

- **CODEOWNERS** — `/vex/` and `/osv-scanner.toml` are now named
explicitly. A `not_affected` statement hides a real advisory from both
the scanners and the Scorecard badge; that is the same class of change
as touching a workflow, and it should not merge on a generic `*` match.
- **`docs/DEPENDENCIES.md`** — documents (a) that `osv-scanner.toml` is
a *derivative* mirror which may only carry an ID that already exists in
VEX, and (b) that every SCA pass re-triages both files, with `unused
ignores` as the removal signal. Previously the policy said suppressions
live "never in a scanner-suppression file" while `osv-scanner.toml`
existed; policy and practice now agree.
- **`osv-scanner.toml`** — added a note that `reason` must stay a
single-line TOML basic string. A newline in it makes osv-scanner discard
the **entire** config (`strings cannot contain newlines`) and silently
re-report every ignored advisory. Hit while writing this PR.

## CI ordering (`tools.go` pre-bake)

`build-setup` runs `go get $(tools.go imports)` → `go mod download` →
`go generate -tags tools` → `go mod tidy`. Because `go get` resolves
tools to *latest* and `tidy` only runs afterwards, a tool minor landing
between runs breaks `go generate` with `missing go.sum entry`. The
post-`go get` state is pre-baked into this commit so CI's `go get` is a
no-op: `go-jsonschema` 0.23.1 → 0.24.1, `go-internal` 1.14.1 → 1.15.0,
`gofumpt` 0.10.0 → 0.11.0, `x/mod` 0.37.0 → 0.38.0, `x/net` 0.56.0 →
0.57.0, `x/tools` 0.47.0 → 0.48.0, `x/telemetry` bumped.

## Dependabot reconciliation

Open alerts before this PR: 5 — `pymdown-extensions`, `setuptools`,
`soupsieve` ×2, `grpc`. All 5 are closed by the bumps above; they
auto-resolve once this lands on `main`. `click` (PYSEC-2026-2132) and
`klauspost/compress` (GO-2026-5841) were **not** alerted by Dependabot
but are flagged by OSV — fixed here too.

Open Dependabot PRs:

| PR | Disposition |
|---|---|
| #361 `soupsieve 2.8.3 → 2.8.4` | Superseded — this PR goes to 2.9.1.
Dependabot closes it automatically when the manifest lands. |
| #371, #352, #351, #334, #333, #326 | Untouched — `github-actions` /
`docker` streams, unrelated to this PR. |

No config change needed: `.github/dependabot.yml` already covers `gomod`
(/), `pip` (/docs), `docker`, and `github-actions`.

## Evidence

<details>
<summary><code>osv-scanner scan source -r .</code> — before</summary>

```
click              8.1.8    [PyPI] -> PYSEC-2026-2132
pymdown-extensions 10.21.3  [PyPI] -> GHSA-9xwg-3r6f-jcx2
setuptools         82.0.1   [PyPI] -> PYSEC-2026-3447, GHSA-h35f-9h28-mq5c
soupsieve          2.8.3    [PyPI] -> PYSEC-2026-3071, PYSEC-2026-3072,
                                      GHSA-2wc2-fm75-p42x, GHSA-836r-79rf-4m37
klauspost/compress 1.18.4   [Go]   -> GO-2026-5841
golang.org/x/crypto 0.53.0  [Go]   -> GO-2026-5932
google.golang.org/grpc 1.81.1 [Go] -> GO-2026-6061, GHSA-hrxh-6v49-42gf

osv-scanner.toml has unused ignores:
 - GO-2022-0635
 - GO-2022-0646
```
</details>

<details>
<summary><code>osv-scanner scan source -r .</code> — after</summary>

```
Scanned docs/requirements.txt file and found 36 packages
Scanned go.mod file and found 486 packages
Loaded filter from: osv-scanner.toml
GO-2026-5932 has been filtered out because: VEX not_affected
  (vulnerable_code_not_present) ...
Filtered 1 vulnerability from output

No issues found
```
</details>

<details>
<summary><code>govulncheck -mode=source ./...</code> — after</summary>

```
=== Symbol Results ===

No vulnerabilities found.

Your code is affected by 0 vulnerabilities.
This scan also found 0 vulnerabilities in packages you import and 1
vulnerability in modules you require, but your code doesn't appear to call
these vulnerabilities.
```

The 1 module-level finding is GO-2026-5932, covered above.
</details>

## Test plan

- [x] `go build ./...`
- [x] `go generate -tags tools` (post-pre-bake, matches CI's build-setup
order)
- [x] `go test ./pkg/api/secrets/... ./pkg/security/... -count=1` — all
pass
- [x] Docs built exactly as CI does it: `docker run --rm -v
$PWD/docs:/docs -w /docs python@sha256:401f6e1a... sh -c "pip install
--require-hashes -r requirements.txt && mkdocs build"` → `Documentation
built in 3.39 seconds`, hash check clean, no new warnings
- [x] `jq empty vex/openvex.json`
- [ ] CI: govulncheck, CodeQL, Semgrep, build matrix

Signed-off-by: Dmitrii Creed <creeed22@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file github-actions Pull requests that update GitHub Actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants