Closed LuWang1983 closed 1 year ago
Btw, I cleared all the caches and triggered a manual run on our Lint Test Build CI job. It failed with the same exact logs but didn't create caches. According to this GHA documentation, cache-miss will automatically create a new cache if the job succeeds. I guess because it failed at post cache cleanup, no new cache is created. Below is the step in our workflow yaml file.
...(omitting for brevity)
runs-on: ubuntu-20.04
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Cache node modules
uses: actions/cache@v3
id: yarn-cache
with:
# Note: cache does not respect default work-directory,
# cache node_modules to speed up ngcc (executed as postinstall step on yarn install)
path: |
node_modules
!node_modules/.cache
~/.cache
~/.ci-cache-*
key: ${{ runner.os }}-storage-host-yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-storage-host-yarn-
- name: Install dependencies
if: ${{ steps.yarn-cache.outputs.cache-hit }} != 'true'
run: yarn --frozen-lockfile --non-interactive
shell: bash
We are also intermittently running into no disk space errors and it may be related.
I added the dependency zstd
in our job runner docker image to rule out that it was the missing dependency that caused the operation to be canceled. It failed with the same error FYI.
Closing issue. Github Support helped me resolved it.
@LuWang1983 What was the issue ? I am facing something similar.
For us, it timed out so we needed to increase the timeout minutes. It doesn't really tell you what caused the cancellation in logs but if you go to the summary page, it gives you the reason. The summary page usually gives pretty good context of the error. I just didn't look closely.
Hi there! I took some deep dive investigating a cache issue in our CICD pipeline and concluded that I may have to resort to you for this issue as I don't think it's anything we did on our end that caused it.
This issue is currently blocking our CICD pipeline as it fails persistently at cache-miss but if I re-run a failed workflow, sometimes it passes but only when it's cache-hit. Although logically, cache-miss shouldn't matter, it should just create a new cache when we install the dependencies but post cache cleanup doesn't seem to like it and cancels the operation failing the whole workflow.
Before we resolve this issue, any workaround would be greatly appreciated to unblock our pipeline. Would clearing all caches in the repo and create new caches help? We use dind so we have our own container running in the VM container (We use debian). Thank you so much for your help and please let me know if there's any other data you need from us!
Symptoms
Every time there's a cache-miss, post cache cleanup gets errored out with "operation cancelled" failing the whole workflow. Please see debugging logs I saved below.
5_Cache yarn node modules step:
6_Install node dependencies if not cache hit - installing node modules and a few other steps that all passed
22_Post Cache yarn node modules: See error towards the bottom of the logs where it says "The operation was canceled." I did notice that there's a message above it "Unable to locate executable file: zstd. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable."