-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Cache Incompatibility Between ARC and Non-ARC Runners in GitHub Actions #1440
Comments
i have same problem ! |
I suppose it has the same nature as described here #1455 (comment) |
This reverts commit 55e539d. The recent switch to GitHub-hosted runners introduced issues with actions/cache path handling, resulting in build failures due to inconsistent home directory depths. Reverting to self-hosted runners to restore build stability and functionality. References: - Issue: actions/cache#1440 Signed-off-by: Nikolay Martyanov <nikolay@zededa.com>
The problem, I believe, is here: const workspace = process.env['GITHUB_WORKSPACE'] ?? process.cwd()
const globber = await glob.create(patterns.join('\n'), {
implicitDescendants: false
})
for await (const file of globber.globGenerator()) {
const relativeFile = path
.relative(workspace, file)
.replace(new RegExp(`\\${path.sep}`, 'g'), '/')
core.debug(`Matched: ${relativeFile}`) It uses
It is doing the relative path to something based on the current working directory. Here is a simple test. $ mkdir /tmp/foo && cd /tmp/foo
$ node
> path.relative("/a/b/c", "../q")
'../../../tmp/q' I think they were looking for I should open an issue there, or make a dedicated one here. |
This reverts commit 55e539d. The recent switch to GitHub-hosted runners introduced issues with actions/cache path handling, resulting in build failures due to inconsistent home directory depths. Reverting to self-hosted runners to restore build stability and functionality. References: - Issue: actions/cache#1440 Signed-off-by: Nikolay Martyanov <nikolay@zededa.com>
Description
There is a cache compatibility issue between ARC (Action Runner Controller) runners and non-ARC runners in GitHub Actions. Caches created by ARC runners cannot be restored by non-ARC runners, and vice versa. This issue limits the interoperability between different runner environments, causing inefficiencies in workflows that utilize both ARC and non-ARC runners.
Steps to Reproduce
Scenario 1: Non-ARC to ARC
First Job: Non-ARC Runner (e.g., Self-hosted, github hosted ...)
Second Job: ARC Runner
Scenario 2: ARC to Non-ARC
First Job: ARC Runner
Second Job: Non-ARC Runner
Expected Behavior
The cache should be successfully restored across different runner environments.
Actual Behavior
The cache fails to restore, displaying a "Cache not found" message, despite the cache being available and correctly generated.
Additional Information
enableCrossOsArchive
set to true to allow cross-OS cache compatibility.Environment Details
Impact
This issue limits the flexibility and interoperability of using different runner types within the same workflow, leading to inefficiencies and potential workflow redesign to avoid mixed runner environments.
The text was updated successfully, but these errors were encountered: