Skip to content

Error while extracting cache containing executable binaries #117

@Ameobea

Description

@Ameobea

I'm caching a directory containing executables installed with cargo install, I'm encountering an error from the cache extract job due to what seems to be a lack of permissions:

https://github.com/Ameobea/web-synth/commit/e9795f357bf03f1206517315470e77fff8af7866/checks?check_suite_id=330386351#step:7:1

Cache Size: ~17 MB (17577808 B)
/bin/tar -xz -f /home/runner/work/_temp/4130fa0a-e1b8-42ef-968f-a251c5f901e0/cache.tgz -C /home/runner/.cargo/bin
/bin/tar: .: Cannot utime: Operation not permitted
/bin/tar: .: Cannot change mode to rwxr-xr-x: Operation not permitted
/bin/tar: Exiting with failure status due to previous errors
[warning]The process '/bin/tar' failed with exit code 2

Here's the YAML for the cache task:

- name: Cache cargo binaries
  id: cache-cargo-binaries
  uses: actions/cache@v1
  with:
    path: ~/.cargo/bin
    key: ${{ runner.os }}_nightly-2019-11-25_cargo-registry_just-0.5.1_wasm-bindgen-cli-0.2.54

The weird part is that it seems to actually be successfully extracting the cache; it just reports an error and doesn't set steps.cache-cargo-binaries.outputs.cache-hit to true. When the command to re-install the binary from scratch gets run, it reports that the binary already exists and fails:

https://github.com/Ameobea/web-synth/commit/e9795f357bf03f1206517315470e77fff8af7866/checks?check_suite_id=330386351#step:13:11

Added matchers: 'rust'. Problem matchers scan action output for known warning or error strings and report these inline.
/usr/share/rust/.cargo/bin/cargo install just --version 0.5.1
    Updating crates.io index
 Downloading crates ...
  Downloaded just v0.5.1
error: binary `just` already exists in destination
##[error]Add --force to overwrite
##[error]The process '/usr/share/rust/.cargo/bin/cargo' failed with exit code 101
##[error]Node run failed with exit code 1

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