checkout icon indicating copy to clipboard operation
checkout copied to clipboard

Missing download info for actions/checkout@v4

Open BieLuk opened this issue 9 months ago โ€ข 12 comments

Hi, my GHA pipeline started to fail on step that uses tenhaus/get-release-or-tag@v2 action.

Image

The same error happens on checkout@v4, checkout@v3 and [email protected].

GHA job that fails when I try to use this action:

  build-docker-acr-new:
    runs-on: [ self-hosted, linux, cicdframework ]
    needs: [unit-tests]
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Login to ACR
        uses: docker/login-action@v3
        with:
          registry: ${{ vars.ACR_REGISTRY_NEW }}
          username: ${{ secrets.ACR_USERNAME_NEW }}
          password: ${{ secrets.ACR_TOKEN_NEW }}
      - name: Get TAG or SHA
        uses: procter-gamble/get-release-or-tag-github-actions@v2
        id: tag
      - name: Build and push
        id: docker_build
        uses: docker/build-push-action@v6
        with:
          context: ./
          file: ./Dockerfile
          push: true
          tags: ${{ vars.ACR_REGISTRY_NEW }}/spyglass-kpimanager-api:${{ steps.tag.outputs.tag }}
      - name: Image Hash
        run: echo ${{ steps.tag.outputs.tag }}

BieLuk avatar May 28 '25 14:05 BieLuk

We're also suddenly seeing this with actions/checkout@v4 (and other tags) - we even see this with our own reusable actions in our enterprise orgs. I notice you're using self-hosted - as are we - but I can confirm this issue is also present with github's own ubuntu-latest.

dwebsterhbc avatar May 29 '25 14:05 dwebsterhbc

My config is similar, but seeing the same issues:

Current runner version: '2.324.0'
Runner Image Provisioner
Operating System
Runner Image
GITHUB_TOKEN Permissions
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Error: Missing download info for actions/[email protected].[2](https://github.com/athieme/wmsx-api/actions/runs/15337176405/job/43156521575#step:1:2)

and my config is this:

name: CI + Test Report + Coverage

on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [ 18.x ]

    steps:
      - name: Checkout repository
        uses: actions/[email protected]

      - name: Set up Node.js
        uses: actions/[email protected]
        with:
          node-version: ${{ matrix.node-version }}

      - name: Install dependencies
        run: npm ci

      - name: Run tests with coverage
        run: |
          mkdir -p test-results
          npm run test:ci || true  # Continue even if tests fail so reports can still be published

      - name: Upload test results
        uses: actions/[email protected]
        with:
          name: mocha-test-results
          path: test-results

      - name: Publish test results to GitHub PR
        uses: dorny/[email protected]
        if: always()
        with:
          name: Mocha Tests
          path: test-results/junit.xml
          reporter: jest-junit
          fail-on-error: true

      - name: Upload coverage to Codecov
        uses: codecov/[email protected]
        with:
          token: ${{ secrets.CODECOV_TOKEN }}

athieme avatar May 30 '25 01:05 athieme

Here's my config that got things working. Maybe it wasnt a bug at all or maybe it was just using tagged (and not release versions, I am not sure):

name: CI + Test Report + Coverage

env:
  ACTIONS_STEP_DEBUG: true
  ACTIONS_RUNNER_DEBUG: true

on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [ 18.x ]

    steps:
      - name: Checkout repository
        uses: actions/[email protected]

      - name: Set up Node.js
        uses: actions/[email protected]
        with:
          node-version: ${{ matrix.node-version }}

      - name: Install dependencies
        run: npm ci

      - name: Run tests with coverage
        run: |
          mkdir -p test-results
          npm run test:ci || true  # Continue even if tests fail so reports can still be published

      - name: Upload test results
        uses: actions/[email protected]
        with:
          name: mocha-test-results
          path: test-results

      - name: Publish test results to GitHub PR
        uses: dorny/[email protected]
        if: always()
        with:
          name: Mocha Tests
          path: test-results/junit.xml
          reporter: jest-junit
          fail-on-error: true

      - name: Upload coverage to Codecov
        uses: codecov/[email protected]
        with:
          token: ${{ secrets.CODECOV_TOKEN }}

athieme avatar May 30 '25 01:05 athieme

We're also suddenly seeing this with actions/checkout@v4 (and other tags) - we even see this with our own reusable actions in our enterprise orgs. I notice you're using self-hosted - as are we - but I can confirm this issue is also present with github's own ubuntu-latest.

We finally managed to resolve this in our GH Enterprise Cloud setup, and this is what we found:

  • We are using reusable workflows from a discrete Org, of which contains repos containing the actual actions/workflows. In each repo, there's a separate actions permissioning option: Repo Settings -> Actions -> General -> Access:

Image

  • Only Private actions repos were callable from our Private downstream repos - Internal did not work.

Side Note If you are using SSO, and you update a PAT's perms for, say, the service account running your workflow, you'll need to re-auth that PAT against the SSO-enabled Orgs again (via the Configure SSO drop-down button in the PAT dialog)! This also goes for SSH keys - they need to be individually auth'd (these issues may or may not have added to the overall issue, but leaving them here to spare others the couple of days it took to debug this).

dwebsterhbc avatar May 30 '25 16:05 dwebsterhbc

This has just started happening for me yesterday. I've tried various version of the checkout action via both tags and sha ref, but the error persists. In my case, it only happens on some jobs, and always the same jobs, but all jobs are running the exact same checkout action, i.e.

steps:
  - name: Checkout
    uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

I'm basically blocked now by this issue. We will be escalating this directly via Github support.

masterofimages avatar Jun 03 '25 16:06 masterofimages

This same error started happening for us last week with actions/setup-java@v4.

cjwooo avatar Jun 03 '25 17:06 cjwooo

Same issue started to happen for me yesterday

miversen avatar Jun 04 '25 12:06 miversen

Here's my config that got things working. Maybe it wasnt a bug at all or maybe it was just using tagged (and not release versions, I am not sure):

name: CI + Test Report + Coverage

env:
  ACTIONS_STEP_DEBUG: true
  ACTIONS_RUNNER_DEBUG: true

on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [ 18.x ]

    steps:
      - name: Checkout repository
        uses: actions/[email protected]

      - name: Set up Node.js
        uses: actions/[email protected]
        with:
          node-version: ${{ matrix.node-version }}

      - name: Install dependencies
        run: npm ci

      - name: Run tests with coverage
        run: |
          mkdir -p test-results
          npm run test:ci || true  # Continue even if tests fail so reports can still be published

      - name: Upload test results
        uses: actions/[email protected]
        with:
          name: mocha-test-results
          path: test-results

      - name: Publish test results to GitHub PR
        uses: dorny/[email protected]
        if: always()
        with:
          name: Mocha Tests
          path: test-results/junit.xml
          reporter: jest-junit
          fail-on-error: true

      - name: Upload coverage to Codecov
        uses: codecov/[email protected]
        with:
          token: ${{ secrets.CODECOV_TOKEN }}

Looks like you used a wrong version of checkout: actions/[email protected] doesn't exist.

miversen avatar Jun 04 '25 13:06 miversen

We were seeing this error in our GitHub Actions workflow:

Error: Missing download info for actions/checkout@v4

At first it looked like a GitHub bug or Enterprise policy issue โ€” the workflow had been stable for months. We tried downgrading actions/checkout to @v3, checked permissions, runner setup, enterprise/org policies, even tried new branches โ€” nothing helped.

๐Ÿ” How I found the issue

To isolate the problem, I created a minimal YAML workflow that only did a checkout:

name: Simple Checkout Test

permissions:
  contents: read

env:
  ACTIONS_STEP_DEBUG: true
  ACTIONS_RUNNER_DEBUG: true

on:
  pull_request:

jobs:
  checkout-test:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

โœ… That worked โ€” so I started adding steps back one by one from the original file.

โ— Root cause The workflow broke as soon as I re-added this step:

- uses: isbang/[email protected]
  with:
    compose-file: "./docker-compose.ci.yml"

Even though this step comes after checkout, GitHub fetches metadata for all actions upfront. If one of them is broken (deleted, private, bad metadata), the whole workflow fails โ€” even at the checkout step.

โœ… Solution I replaced the action with the built-in Docker Compose CLI:

- name: Start services
  run: docker compose -f ./docker-compose.ci.yml up -d

Takeaway: If you're hitting "Missing download info for actions/checkout@v4", try testing with a stripped-down workflow. A broken third-party action anywhere can silently block resolution of even official ones.

Hope this saves someone else a few hours! ๐Ÿ”งโœจ

miversen avatar Jun 04 '25 13:06 miversen

This is such a misleading error, the actual error is related to downloading internal action files. Somehow github's db got corrupt, and lot of the repos settings got reverted to "not accessible". And the saddest part is, the error info is so misleading, it has nothing to do with the actions/checkout@v4.

Image

arafatkhan-optimizely avatar Jun 04 '25 14:06 arafatkhan-optimizely

@miversen probably your repo: sbang/compose-action , Action Access settings reverted back to "Not Acccessible"

arafatkhan-optimizely avatar Jun 04 '25 14:06 arafatkhan-optimizely

Wow. I've just done some testing based on this info, and it is indeed correct. The error message is total trash.

Thanks @miversen (and @arafatkhan-optimizely). At least now I know what's happening and can figure out a workaround.

masterofimages avatar Jun 05 '25 11:06 masterofimages