Skip to content

[windows-11-arm] install zstd for cross-OS caching #99

@jpnurmi

Description

@jpnurmi

Type of issue

  • Error when running a workflow.
  • Request for additional tools or software for an existing image.
  • Request for a new image, Linux or Windows.
  • Other

Describe the issue

The windows-11-arm image is missing zstd, which is required for Cross-OS caching to work.

To Reproduce

name: Cross-OS cache

on:
  push:
  workflow_dispatch:

jobs:
  save:
    runs-on: windows-11-arm

    steps:
      - run: echo "Hello from windows-11-arm" > hello.txt

      - uses: actions/cache@v4
        id: cache-hello
        with:
          path: hello.txt
          key: hello-key
          enableCrossOsArchive: true

  restore:
    needs: [save]
    runs-on: ubuntu-latest

    steps:
      - uses: actions/cache/restore@v4
        with:
          path: hello.txt
          key: hello-key
          enableCrossOsArchive: true
          fail-on-cache-miss: true

Expected behavior

ubuntu-latest is expected to be able to restore the cache saved by windows-11-arm but cross-OS caching doesn't work due to missing zstd and it results in error:

Error: Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: hello-key

Additional context

See https://github.com/actions/cache?tab=readme-ov-file#usage

If you are using a self-hosted Windows runner, GNU tar and zstd are required for Cross-OS caching to work. They are also recommended to be installed in general so the performance is on par with hosted Windows runners.

Workaround

Before actions/cache:

- run: choco install zstandard

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions