-
Notifications
You must be signed in to change notification settings - Fork 634
fix: add arch to cache key #896
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
Conversation
@actions/setup-actions-team Can anyone review this? |
@actions/setup-actions-team I'm wondering if anyone is still maintaining this project, between the fact that GitHub has started to offer the Ubuntu arm64 runner, this problem is getting worse. |
@HarithaVattikuti @priya-kinthali Can you take a look on this? |
Hello @Zxilly, Thank you for this PR, we are looking into it and we will get back to you once we have some feedback on this :) |
Hello @Zxilly, We have reviewed and tested the changes from our end for Including arch in the cache key has made the run successful. However, we are unable to see arch in the cache key with all the changes of this PR. Please find the screenshots for reference. Please have a look at this PR and update to have this to be approved and merged. |
@aparnajyothi-y Apparently the cache in the image is an npm cache created by |
I think |
Hello @Zxilly, Please find attached the setup-python cache key screenshots for reference where the changes of Including arch in the cache key has made the run successful. However, we are unable to see arch in the cache key with all the changes of this PR. ![]() ![]() |
You use the https://github.com/aparnajyothi-y/setup-python/commits/PR%23896-test/ workflow. The branch you created only contains changes to the |
If you want to test this PR, you should directly use |
Hello @Zxilly, Could you please confirm that the code has passed the checks executed by npm run format-check and npm test? We are currently unable to run / view the checks on this PR and need confirmation to proceed with merging this PR. Thank you. |
I'm curious, why don't you execute the tests yourself? It's unimaginable that such a simple PR took almost two months. |
* Bump braces from 3.0.2 to 3.0.3 (actions#893) * 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> * Bump undici from 5.28.3 to 5.28.4 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com> * fix(ci): update all failing workflows (actions#863) * fix(ci): update all failing workflows With `macos-latest` moving to `macos-14`, most workflows are currently failing. Update them to be able to run on `macos-latest` Don't test python 3.5 on ubuntu. It's been EOL for almost 4 years and there are now some certificate issues with pip. * review: remove test with python 3.5, 3.6 & 3.7 * add latest versions to e2e-tests.yml * Documentation update for cache (actions#873) * updated doc * added note * modify1 * Update advanced-usage.md * Update 0000-caching-dependencies.md --------- Co-authored-by: gowridurgad <gowridurga@github.com> * Updated @iarna/toml version to 3.0.0 (actions#912) * Fix display of emojis in contributors doc (actions#899) * Fix: Add `.zip` extension to Windows package downloads for `Expand-Archive` Compatibility (actions#916) * Fix: specify filename during Windows package download * Changed unit test download urls * fix: add arch to cache key (actions#896) * fix: add arch to cache key * test: update tests accordingly * Documentation update for caching poetry dependencies (actions#908) * Create testing.yml * Update testing.yml * Fix for parsing version number from TOML 1.0.0 pyproject.toml file * Delete .github/workflows/testing.yml * fixed license issue * updated the Note * updated doc * updated the doc * npm run build * Mark up corrections --------- Co-authored-by: gowridurgad <gowridurga@github.com> Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com> * Bump pyinstaller from 3.6 to 5.13.1 in /__tests__/data (actions#923) * Update e2e-cache.yml * Update basic-validation.yml * Pyinstaller upgrade to 5.13.1 * pyinstaller-update * Update basic-validation.yml * Update e2e-cache.yml * initial commit (actions#938) * Create publish-immutable-actions.yml 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. * Upgrade IA publish * Bump default versions to latest (actions#905) People copy/paste these values all the time... might as well start them off on the right foot with a modern default. * Revise `isGhes` logic (actions#963) * Revise `isGhes` logic * ran `npm run format` * add unit test * ran `npm run format` * Bump pillow from 7.2 to 10.2.0 in /__tests__/data (actions#956) * Update e2e-cache.yml * Update basic-validation.yml * Pyinstaller upgrade to 5.13.1 * pyinstaller-update * Update basic-validation.yml * Update e2e-cache.yml * fix-db-alert-164-165-166 * upgrade pillow * Enhance workflows: Add macOS 13 support, upgrade publish-action, and update documentation for arm64 and latest versions (actions#965) * update ci workflows with latest versions and added macos-13 * updated document with latest versions * Update error message for no dependencies to cache (actions#968) * Enhance Workflows: Add Ubuntu-24, Remove Python 3.8 (actions#985) * included ubuntu24 testing * Remove Python 3.8 testing from workflows due to end of life (EOL) * Update README.md (actions#1009) * Use the new cache service: upgrade `@actions/cache` to `^4.0.0` (actions#1007) * Upgrade-actions/cache * Review licenses & update types * Fixed poetry install command in e2e-cache.yml * Updated package-lock.json * Configure Dependabot settings (actions#1008) * Create dependabot.yml * Update e2e-cache.yml * Bump undici from 5.28.4 to 5.28.5 (actions#1012) * Bump undici from 5.28.4 to 5.28.5 Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v5.28.4...v5.28.5) --- updated-dependencies: - dependency-name: undici dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * fix for chec-dist and license check failures --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com> * Bump urllib3 from 1.25.9 to 1.26.19 in /__tests__/data (actions#895) Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.25.9 to 1.26.19. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/1.26.19/CHANGES.rst) - [Commits](urllib3/urllib3@1.25.9...1.26.19) --- updated-dependencies: - dependency-name: urllib3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 (actions#1014) Bumps [actions/publish-immutable-action](https://github.com/actions/publish-immutable-action) from 0.0.3 to 0.0.4. - [Release notes](https://github.com/actions/publish-immutable-action/releases) - [Commits](actions/publish-immutable-action@0.0.3...v0.0.4) --- updated-dependencies: - dependency-name: actions/publish-immutable-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @actions/http-client from 2.2.1 to 2.2.3 (actions#1020) * Bump @actions/http-client from 2.2.1 to 2.2.3 Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 2.2.1 to 2.2.3. - [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md) - [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/http-client) --- updated-dependencies: - dependency-name: "@actions/http-client" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * fix for licensed and check-dist checks failures --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com> * Bump requests from 2.24.0 to 2.32.2 in /__tests__/data (actions#1019) Bumps [requests](https://github.com/psf/requests) from 2.24.0 to 2.32.2. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](psf/requests@v2.24.0...v2.32.2) --- updated-dependencies: - dependency-name: requests dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Improve Advanced Usage examples (actions#645) * docs: fix outputs python-version example and description Description was lacking words, example was misleading (id was set to cp310 which clearly was a reference to CPython 3.10, but the id is referring to the setup-python action! * docs: copy-editing in advanced-usage.md Signed-off-by: Stephen L. <lrq3000@gmail.com> * docs: add example if statement in advanced-usage.md Signed-off-by: Stephen L. <lrq3000@gmail.com> * docs: implement changes suggested by @mahabaleshwars (deprecate pypy2.7, 3.7, 3.8, tweak example, remove wildcard *) Signed-off-by: Stephen L. <LRQ3000@gmail.com> --------- Signed-off-by: Stephen L. <lrq3000@gmail.com> Signed-off-by: Stephen L. <LRQ3000@gmail.com> * fix: install PyPy on Linux ARM64 (actions#1011) * ci: check non-eol versions of PyPy are available on all runners * fix: install PyPy on Linux ARM64 * ci: remove eol ubuntu-20.04 * Bump @vercel/ncc from 0.38.1 to 0.38.3 (actions#1016) * Bump @vercel/ncc from 0.38.1 to 0.38.3 Bumps [@vercel/ncc](https://github.com/vercel/ncc) from 0.38.1 to 0.38.3. - [Release notes](https://github.com/vercel/ncc/releases) - [Commits](vercel/ncc@0.38.1...0.38.3) --- updated-dependencies: - dependency-name: "@vercel/ncc" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * check failure fix --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com> * Support free threaded Python versions like '3.13t' (actions#973) * Support free threaded Python versions like '3.13t' Python wheels, pyenv, and a number of other tools use 't' in the Python version number to identify free threaded builds. For example, '3.13t', '3.14.0a1', '3.14t-dev'. This PR supports that syntax in `actions/setup-python`, strips the "t", and adds "-freethreading" to the architecture to select the correct Python version. See actions#771 * Add free threading to advanced usage documentation * Fix desugaring of `3.13.1t` and add test case. * Add freethreaded input and fix handling of prerelease versions * Fix lint * Add 't' suffix to python-version output * Use distinct cache key for free threaded Python * Remove support for syntax like '3.14.0a1' * Clarify use of 't' suffix * Improve error message when trying to use free threaded Python versions before 3.13 * Bump @actions/glob from 0.4.0 to 0.5.0 (actions#1015) * Bump @actions/glob from 0.4.0 to 0.5.0 Bumps [@actions/glob](https://github.com/actions/toolkit/tree/HEAD/packages/glob) from 0.4.0 to 0.5.0. - [Changelog](https://github.com/actions/toolkit/blob/main/packages/glob/RELEASES.md) - [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/glob) --- updated-dependencies: - dependency-name: "@actions/glob" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * fix for check failures --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com> * Add support for .tool-versions file in setup-python (actions#1043) * add support for .tool-versions file * update regex * optimize code * update test-python.yml for .tool-versions * fix format-check errors * fix formatting in test-python.yml * Fix test-python.yml error * workflow update with latest versions * update test cases * fix lint issue * Add e2e Testing for free threaded and Bump @action/cache from 4.0.0 to 4.0.3 (actions#1056) * include freethread e2e testing and upgrade cache from 4.0.0 to 4.0.2 * include verify gil step and validated python version * Rename files * include ubuntu-arm runners for testing * Remove Ubuntu 20.04 from workflows due to deprecation from 2025-04-15 (actions#1065) * remove ubuntu-20.04 * check failure fix * remove spaces * npm run format-check * Fix for Candidate Not Iterable Error (actions#1082) * candidates not iterable * update the error message * update error to debug * update debug to info * error message updates * Bump semver and @types/semver (actions#1091) * Bump semver and @types/semver Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together. Updates `semver` from 7.6.0 to 7.7.1 - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](npm/node-semver@v7.6.0...v7.7.1) Updates `@types/semver` from 7.5.8 to 7.7.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver) --- updated-dependencies: - dependency-name: semver dependency-version: 7.7.1 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: "@types/semver" dependency-version: 7.7.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Fixed check failures --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com> * Bump prettier from 2.8.8 to 3.5.3 (actions#1046) * Bump prettier from 2.8.8 to 3.5.3 Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.5.3. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](prettier/prettier@2.8.8...3.5.3) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Enable cancelled checks --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com> * Bump ts-jest from 29.1.2 to 29.3.2 (actions#1081) Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.1.2 to 29.3.2. - [Release notes](https://github.com/kulshekhar/ts-jest/releases) - [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md) - [Commits](kulshekhar/ts-jest@v29.1.2...v29.3.2) --- updated-dependencies: - dependency-name: ts-jest dependency-version: 29.3.2 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Enhance reading from .python-version (actions#787) * Enhance reading from .python-version * Fix typos * Fix lint * Add built files * Don't use EOL versions in `utils.test.ts` * Fix Prettier * Don't use unreleased versions in `utils.test.ts` * Update versions in `utils.test.ts` again * Bump @actions/tool-cache from 2.0.1 to 2.0.2 (actions#1095) * Bump @actions/tool-cache from 2.0.1 to 2.0.2 Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 2.0.1 to 2.0.2. - [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md) - [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache) --- updated-dependencies: - dependency-name: "@actions/tool-cache" dependency-version: 2.0.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Fix failures --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com> * Add support for `pip-version` (actions#1129) * Add pip-version input * Update workflow files * Add documentation * Update workflow files * Enhance cache-dependency-path handling to support files outside the workspace root (actions#1128) * ehnace cache dependency path handling * logic update * npm run format-check * update cacheDependencies tests to cover resolved paths and copy edge cases * check failure fix * depricate-windows-2019 * refactored the code * Check failure fix * Add Architecture-Specific PATH Management for Python with --user Flag on Windows (actions#1122) * logic to update install oath with --user flg * format update * format update * update * test job to validate --user flag installtion * updated the script * updated the yaml * update the inputs * updated script * update the correct script file name * updated script and yaml * npm run format-check * fix-test failures * path update * check failure fix * updated test * update free threaded version * updated the comments * Include python version in PyPy python-version output (actions#1110) * update documentation (actions#1156) * fix: fix --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Stephen L. <lrq3000@gmail.com> Signed-off-by: Stephen L. <LRQ3000@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com> Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com> Co-authored-by: gowridurgad <159780674+gowridurgad@users.noreply.github.com> Co-authored-by: gowridurgad <gowridurga@github.com> Co-authored-by: priya-kinthali <147703874+priya-kinthali@users.noreply.github.com> Co-authored-by: sciencewhiz <sciencewhiz@users.noreply.github.com> Co-authored-by: Priya Gupta <147705955+priyagupta108@users.noreply.github.com> Co-authored-by: Zxilly <31370133+Zxilly@users.noreply.github.com> Co-authored-by: aparnajyothi-y <147696841+aparnajyothi-y@users.noreply.github.com> Co-authored-by: Joel Ambass <Jcambass@users.noreply.github.com> Co-authored-by: Jeff Widman <jeff@jeffwidman.com> Co-authored-by: John Wesley Walker III <81404201+jww3@users.noreply.github.com> Co-authored-by: Ben Wells <benwells@github.com> Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com> Co-authored-by: Stephen Karl Larroque <lrq3000@users.noreply.github.com> Co-authored-by: Sam Gross <colesbury@gmail.com> Co-authored-by: mahabaleshwars <147705296+mahabaleshwars@users.noreply.github.com> Co-authored-by: Kryštof Korb <krystof@korb.cz> Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Description:
GitHub has added the arm64 runner, so arch should be used as part of the cache key. Otherwise, if there are
macos-13
macos-14
running at the same time, the late executor will get the wrong cache.This problem is particularly acute for
pipenv
andpoetry
, for whichaction
also caches the contents ofvenv
. This prevents any libraries containing native binary dependencies from working properly.For real-world error, see https://github.com/Zxilly/go-size-analyzer/actions/runs/9564444574/job/26365211564
Check list: