Skip to content

ci: bump actions/cache/save from 4.3.0 to 6.1.0 - #1

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

ci: bump actions/cache/save from 4.3.0 to 6.1.0#1
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 Aug 20, 2026

Copy link
Copy Markdown

Bumps actions/cache/save from 4.3.0 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

v5.0.5

What's Changed

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

v5.0.4

What's Changed

New Contributors

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

v5.0.3

What's Changed

... (truncated)

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 compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/cache/save](https://github.com/actions/cache) from 4.3.0 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@0057852...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 @github

dependabot Bot commented on behalf of github Aug 20, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: ci, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Ttimmahlax pushed a commit that referenced this pull request Aug 23, 2026
Sixty `div` instructions removed, and the shipped object now contains zero
`div`/`idiv`, zero `divsd`/`divss`, zero 128-bit soft-division libcalls, and
zero magic-multiply divisions by `size_of::<Page>()`. Verified in the
disassembly rather than inferred from source — which mattered, because a
source-level scan cleared 21 sites that were emitting a three-instruction
`movabs; mul; shr` apiece.

The load-bearing changes:

* `page_index` becomes a shift. `Page::area` already holds
  `seg + idx * SEGMENT_SLICE_SIZE` and `SEGMENT_SLICE_SIZE` is 2^16, so the
  slot index needs no divide by 88 and no new field — closing `opps.md` #1 at
  zero header cost, where the entry had proposed spending 1 KiB of segment
  header on a spare `u16`.
* `slice_offset` counts slices, not bytes. Bytes were justified by `page_of`
  reading the field on every free; the `page_off` table took that over, and in
  release the only arithmetic reader left was the one this divides in.
* `page_extend`'s batch bound is a shift of `reserved`. Two earlier attempts
  lost because they kept the computation and only changed its form, moving a
  live value onto `malloc_generic`'s fast path.
* `div_by_block_size` is a branchless reciprocal table. The four-arm match
  emitted a compare tree plus three magic multiplies, nine of whose
  instructions were dead on any given call. `free_general` 148 -> 112
  instructions, `usable_size_slow` 93 -> 55.
* Windows `clock_now` no longer calls `__udivti3`: the QPC frequency is fixed
  per process and divides 1e9 exactly on every TSC-backed Windows since 8, so
  the cached quotient turns the conversion into one multiply.
* The benchmark harness drops to zero float divisions.

Fixes a latent defect found on the way: `huge_alloc` builds its single page
slot by hand and never wrote `Page::area`, leaving it null. Nothing read it
before; `page_index` and `unalign` both do now, and huge pages set
`SINGLE_BLOCK` so they do not take `unalign`'s early return.

`bins::is_aligned_to` is public because `rusty_alloc-ffi` uses it and it is
total. `div_by_block_size` and `exact_div_by_block_size` are `pub(crate)`:
both carry preconditions and return a wrong value rather than diverging
outside them.

cfrac allocator instructions 3,445,599,360 -> 3,445,578,293. All 13 opscan
ops remain below mimalloc; `free` holds at 21 instructions.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ttimmahlax pushed a commit that referenced this pull request Aug 23, 2026
`docs/plans/fast-trans.md` carries the full ledger: every site in the
inventory with either the win and its measurement, or the counted reason no
instruction exists to remove. Two sites claimed as "a shift" turned out to
emit nothing at all, and three claimed at a floor are now a counted fact
rather than a source-level judgement.

It also records four premature stops, because the corrections are the
transferable part. Each was a plausible sentence the disassembly contradicted:
that an Ir delta measures code which never executes; that "no `div` emitted"
means no division; that a constant division is already optimal when the
dividend is a known multiple; and that a last-ulp float difference is a reason
to decline on a figure printed to two decimals.

`opps.md` #1 is closed with the mechanism, including the part the entry got
wrong — no spare `Page` field was needed, so the 1 KiB of header it logged as
the risk was never spent.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants