Skip to content

Deprecate save-always input #1452

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 3, 2024
Merged

Conversation

joshmgross
Copy link
Contributor

@joshmgross joshmgross commented Aug 14, 2024

Description

The save-always input added in v4 is not working as intended due to post-if expressions not supporting the input context.

To avoid breaking users who have already added this input to their workflows, it is being deprecated now and will be removed in the next major version (v5).

This also fixes our documentation for how to properly use the recommended alternative of a separate actions/cache/save step, which requires checking the cache-hit output to avoid attempting to save a cache that already exists.

Motivation and Context

How Has This Been Tested?

Validated that the input had a deprecation message: https://github.com/joshmgross/actions-testing/actions/runs/10395133356

Screenshots (if appropriate):

Deprecation message for save-always

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation (add or update README or docs)

Since save-always is already broken, I do not consider this a breaking change.

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

The `save-always` input added in v4 is not
working as intended due to
`post-if` expressions not supporting the input
context.
To avoid breaking users who have already added
this input to their workflows, it is being
deprecated now and will be removed
in the next major version (v5).
See #1315 for more details.
@joshmgross joshmgross enabled auto-merge (squash) October 3, 2024 18:36
@joshmgross joshmgross merged commit c74ca40 into main Oct 3, 2024
14 of 15 checks passed
@joshmgross joshmgross deleted the joshmgross/deprecate-save-always branch October 3, 2024 18:37
@joshmgross joshmgross mentioned this pull request Oct 3, 2024
alkino pushed a commit to neuronsimulator/nrn that referenced this pull request Oct 21, 2024
mkmkme pushed a commit to valkey-io/valkey-py that referenced this pull request Feb 26, 2025
This commit updates the way docker cache is created by including the
current date into the cache key. Now when "save-always" option in
actions/cache is deprecated [1] this seems to be the conventional
way [2] to create the cache.

[1] actions/cache#1452
[2] https://github.com/actions/cache?tab=readme-ov-file#creating-a-cache-key

Signed-off-by: Mikhail Koviazin <mikhail.koviazin@aiven.io>
mkmkme pushed a commit to valkey-io/valkey-py that referenced this pull request Mar 7, 2025
This commit updates the way docker cache is created by including the
current date into the cache key. Now when "save-always" option in
actions/cache is deprecated [1] this seems to be the conventional
way [2] to create the cache.

[1] actions/cache#1452
[2] https://github.com/actions/cache?tab=readme-ov-file#creating-a-cache-key

Signed-off-by: Mikhail Koviazin <mikhail.koviazin@aiven.io>
mkmkme pushed a commit to valkey-io/valkey-py that referenced this pull request Mar 7, 2025
This commit updates the way docker cache is created by including the
current date into the cache key. Now when "save-always" option in
actions/cache is deprecated [1] this seems to be the conventional
way [2] to create the cache.

[1] actions/cache#1452
[2] https://github.com/actions/cache?tab=readme-ov-file#creating-a-cache-key

Signed-off-by: Mikhail Koviazin <mikhail.koviazin@aiven.io>
mkmkme pushed a commit to valkey-io/valkey-py that referenced this pull request Mar 7, 2025
This commit updates the way docker cache is created by including the
current date into the cache key. Now when "save-always" option in
actions/cache is deprecated [1] this seems to be the conventional
way [2] to create the cache.

[1] actions/cache#1452
[2] https://github.com/actions/cache?tab=readme-ov-file#creating-a-cache-key

Signed-off-by: Mikhail Koviazin <mikhail.koviazin@aiven.io>
zultron added a commit to zultron/ghactions_cache that referenced this pull request Jun 19, 2025
zultron added a commit to zultron/ghactions_cache that referenced this pull request Jun 19, 2025
The previous commit reverts PR actions#1452, "Deprecate save-always input",
and this commit fixes the "save-always" option.

The "save-always" input failed to force "post" script run because
`github.event.inputs` refers to workflow dispatch or workflow call
inputs, not the action's `inputs:` defined inside the `action.yml`, so
`github.event.inputs.save-always` was never true.

Turns out it's hard to get the job's status inside the action as well,
and there's no equivalent of the `success()` function.  The
workaround, passing `job.status` in as an input, was cribbed from
`actions/setup-java`, where the `job-status` input is defined in
`action.yml` [1], and passed through (in a loopy way) for retrieval
from a utility function [2].

[1]:  https://github.com/actions/setup-java/blob/f4f1212c88/action.yml#L62
[2]:  https://github.com/actions/setup-java/blob/f4f1212c88/src/util.ts#L86-L88
zultron added a commit to zultron/ghactions_cache that referenced this pull request Jun 19, 2025
The previous commit reverts PR actions#1452, "Deprecate save-always input",
and this commit fixes the "save-always" option.

The "save-always" input failed to force "post" script run because
`github.event.inputs` refers to workflow dispatch or workflow call
inputs, not the action's `inputs:` defined inside the `action.yml`, so
`github.event.inputs.save-always` was never true.

Turns out it's hard to get the job's status inside the action as well,
and there's no equivalent of the `success()` function.  The
workaround, passing `job.status` in as an input, was cribbed from
`actions/setup-java`, where the `job-status` input is defined in
`action.yml` [1], and passed through (in a loopy way) for retrieval
from a utility function [2].

[1]:  https://github.com/actions/setup-java/blob/f4f1212c88/action.yml#L62
[2]:  https://github.com/actions/setup-java/blob/f4f1212c88/src/util.ts#L86-L88
zultron added a commit to zultron/ghactions_cache that referenced this pull request Jun 19, 2025
The previous commit reverts PR actions#1452, "Deprecate save-always input",
and this commit fixes the "save-always" option.

The "save-always" input failed to force "post" script run because
`github.event.inputs` refers to workflow dispatch or workflow call
inputs, not the action's `inputs:` defined inside the `action.yml`, so
`github.event.inputs.save-always` was never true.

Turns out it's hard to get the job's status inside the action as well,
and there's no equivalent of the `success()` function.  The
workaround, passing `job.status` in as an input, was cribbed from
`actions/setup-java`, where the `job-status` input is defined in
`action.yml` [1], and passed through (in a loopy way) for retrieval
from a utility function [2].

[1]:  https://github.com/actions/setup-java/blob/f4f1212c88/action.yml#L62
[2]:  https://github.com/actions/setup-java/blob/f4f1212c88/src/util.ts#L86-L88
mmatl added a commit to ambi-robotics/cache that referenced this pull request Jul 23, 2025
* update documentation to use <action>@v4

* Update README.md and use v4 of checkout action (actions#1437)

Update examples to use latest available checkout action v4.

* Explicit use bash for Windows (actions#1377)

Co-authored-by: Josh Gross <joshmgross@github.com>

* Fix cache-hit output when cache missed (actions#1404)

* fix: cache-hit output

* fix: Output chache hit timing

* fix: Output chache hit timing

---------

Co-authored-by: Josh Gross <joshmgross@github.com>

* Clarify that the `restore-keys` input is a string in the docs  (actions#1434)

* Fix Description for restore-keys at Readme

As previously the restore-keys were defined as an ordered lists which is
wrong as per the issue description where the actual format is a
multi-line string with one key per line.

* Added a space between the sentence of restore-keys description

While at the PR review it's been identified there's a need for a space
between the sentence

	```
	An ordered multiline string listing the prefix-matched keys,that are
	used for restoring stale cache if no cache hit occurred for key.
	```

where it's written as "prefix-matched keys,that are" this commit will
address the review comment and introduce a space between
"prefix-matched keys, that are" and change the sentence to

	```
	An ordered multiline string listing the prefix-matched keys, that are
        used for restoring stale cache if no cache hit occurred for key.
	```

* Change restore-keys description at cache/restore/action.yml and cache/action.yml

* Add workflow file for publishing releases to immutable action package

This workflow file publishes new action releases to the immutable action package of the same name as this repo.

This is part of the Immutable Actions project which is not yet fully released to the public. First party actions like this one are part of our initial testing of this feature.

* Deprecate `save-always` input (actions#1452)

The `save-always` input added in v4 is not
working as intended due to
`post-if` expressions not supporting the input
context.
To avoid breaking users who have already added
this input to their workflows, it is being
deprecated now and will be removed
in the next major version (v5).
See actions#1315 for more details.

* Fix typo: depening -> depending (actions#1462)

Co-authored-by: Josh Gross <joshmgross@github.com>

* restore action's README now references v4 instead of v3 (actions#1445)

Co-authored-by: Josh Gross <joshmgross@github.com>

* Prepare `4.1.0` release (actions#1464)

* Restore original behavior of `cache-hit` output (actions#1467)

* Restore original behavior of `cache-hit` output

* Bump version to 4.1.1

* Add Bun example (actions#1456)

* Add Bun example

* Fix Bun Windows example

* Revise `isGhes` logic

* ran `npm run build`

* appease the linter

* added unit tests

* Bump braces from 3.0.2 to 3.0.3

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Create dependabot.yml

* Prepare release 4.1.2

* Bump actions/checkout from 3 to 4

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Bump actions/stale from 3 to 9

Bumps [actions/stale](https://github.com/actions/stale) from 3 to 9.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v3...v9)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Bump actions/setup-node from 3 to 4

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump github/codeql-action from 2 to 3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Upgrade @actions/cache to 4.0.0

* Update RELEASES.md

* Upgrade @vercel/ncc to 0.38.3

* Upgrade @actions/core to 1.11.1 and other deps

* Add licensed output

* Add reviewed licensed packages

* Add lodash to list of reviewed licenses

* Add licensed output

* Rerun CI

* Add 3.4.0 release notes

* Correct GitHub Spelling in caching-strategies.md (actions#1526)

GitHub was spelled incorrectly 3 lines under the Understanding how to choose path section

* docs: Make the "always save prime numbers" example more clear (actions#1525)

* Update force deletion docs due a recent deprecation (actions#1500)

* fix: update force deletion docs due a recent deprecation

* fix: applied josh's suggestions

---------

Co-authored-by: Josh Gross <joshmgross@github.com>

* bump @actions/cache to v4.0.1

* Update publish-immutable-actions.yml

* bump @actions/cache to v4.0.2, prep for v4.2.2 release

* add changes

* changed

* mask whole url

* debugging

* type

* artifact changes

* update cache package to mask whole sas to the end of the line

* mask

* update

* latest test before pr

* updated cache with latest changes

* updates

* new package

* update cache with main

* Update to use the latest version of the cache package to obfuscate the SAS

* Update releases.md

* Update README.md

* fix: fix

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: todgru <todgru@gmail.com>
Co-authored-by: P. Ottlinger <ottlinger@users.noreply.github.com>
Co-authored-by: Oleg A. <t0rr@mail.ru>
Co-authored-by: Josh Gross <joshmgross@github.com>
Co-authored-by: r4mimu <52129983+fchimpan@users.noreply.github.com>
Co-authored-by: Soubhik Kumar Mitra <59209034+x612skm@users.noreply.github.com>
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com>
Co-authored-by: Joel Ambass <Jcambass@users.noreply.github.com>
Co-authored-by: mackey0225 <masaki.asano0225@gmail.com>
Co-authored-by: Eman Resu <78693624+quatquatt@users.noreply.github.com>
Co-authored-by: Jan T. Sott <git@idleberg.com>
Co-authored-by: John Wesley Walker III <81404201+jww3@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: janco-absa <janco.bester@absa.africa>
Co-authored-by: Tobbe Lundberg <tobbe@tlundberg.com>
Co-authored-by: Alessandro Sebastiani <sebbalex@users.noreply.github.com>
Co-authored-by: Rob Herley <robherley@github.com>
Co-authored-by: Salman Chishti <salmanmkc@GitHub.com>
Co-authored-by: Ben De St Paer-Gotch <nebuk89@github.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.

2 participants