Compare commits

..

4 Commits

Author SHA1 Message Date
Kylie Stradley
2bed3ab33a Merge bdb100fa63 into 36f1e144e1 2025-01-21 21:17:07 -05:00
Kylie Stradley
bdb100fa63 Add Recommended Permissions
To reduce risk of over-privileged tokens, we are adding recommended permissions to popular GitHub-owned Actions READMEs
2025-01-21 21:12:13 -05:00
Tobbe Lundberg
36f1e144e1 docs: Make the "always save prime numbers" example more clear (#1525) 2025-01-09 23:36:56 +00:00
janco-absa
53aa38c736 Correct GitHub Spelling in caching-strategies.md (#1526)
GitHub was spelled incorrectly 3 lines under the Understanding how to choose path section
2025-01-06 16:55:00 +00:00
3 changed files with 19 additions and 9 deletions

View File

@@ -335,6 +335,14 @@ There are a number of community practices/workarounds to fulfill specific requir
Please note that Windows environment variables (like `%LocalAppData%`) will NOT be expanded by this action. Instead, prefer using `~` in your paths which will expand to the HOME directory. For example, instead of `%LocalAppData%`, use `~\AppData\Local`. For a list of supported default environment variables, see the [Learn GitHub Actions: Variables](https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables) page. Please note that Windows environment variables (like `%LocalAppData%`) will NOT be expanded by this action. Instead, prefer using `~` in your paths which will expand to the HOME directory. For example, instead of `%LocalAppData%`, use `~\AppData\Local`. For a list of supported default environment variables, see the [Learn GitHub Actions: Variables](https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables) page.
# Recommended Permissions
The `actions/cache` workflow relies on an internal authentication pattern and does not use the GITHUB_TOKEN, to reduce risk of over-privileged token, jobs that use `actions/cache` should set permissions to none:
```yaml
permissions: {}
```
## Contributing ## Contributing
We would love for you to contribute to `actions/cache`. Pull requests are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) for more information. We would love for you to contribute to `actions/cache`. Pull requests are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) for more information.

View File

@@ -102,7 +102,7 @@ The [GitHub Context](https://docs.github.com/en/actions/learn-github-actions/con
While setting paths for caching dependencies it is important to give correct path depending on the hosted runner you are using or whether the action is running in a container job. Assigning different `path` for save and restore will result in cache miss. While setting paths for caching dependencies it is important to give correct path depending on the hosted runner you are using or whether the action is running in a container job. Assigning different `path` for save and restore will result in cache miss.
Below are GiHub hosted runner specific paths one should take care of when writing a workflow which saves/restores caches across OS. Below are GitHub hosted runner specific paths one should take care of when writing a workflow which saves/restores caches across OS.
#### Ubuntu Paths #### Ubuntu Paths

View File

@@ -79,8 +79,10 @@ To avoid saving a cache that already exists, the `cache-hit` output from a resto
The `cache-primary-key` output from the restore step should also be used to ensure The `cache-primary-key` output from the restore step should also be used to ensure
the cache key does not change during the build if it's calculated based on file contents. the cache key does not change during the build if it's calculated based on file contents.
Here's an example where we imagine we're calculating a lot of prime numbers and want to cache them:
```yaml ```yaml
name: Always Caching Primes name: Always Caching Prime Numbers
on: push on: push
@@ -91,23 +93,23 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Restore cached Primes - name: Restore cached Prime Numbers
id: cache-primes-restore id: cache-prime-numbers-restore
uses: actions/cache/restore@v4 uses: actions/cache/restore@v4
with: with:
key: ${{ runner.os }}-primes key: ${{ runner.os }}-prime-numbers
path: | path: |
path/to/dependencies path/to/dependencies
some/other/dependencies some/other/dependencies
# Intermediate workflow steps # Intermediate workflow steps
- name: Always Save Primes - name: Always Save Prime Numbers
id: cache-primes-save id: cache-prime-numbers-save
if: always() && steps.cache-primes-restore.outputs.cache-hit != 'true' if: always() && steps.cache-prime-numbers-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4 uses: actions/cache/save@v4
with: with:
key: ${{ steps.cache-primes-restore.outputs.cache-primary-key }} key: ${{ steps.cache-prime-numbers-restore.outputs.cache-primary-key }}
path: | path: |
path/to/dependencies path/to/dependencies
some/other/dependencies some/other/dependencies