[GH-ISSUE #2290] actions/checkout: "Input required and not supplied: token" when specifying a ref as input #1066

Closed
opened 2026-03-01 21:48:39 +03:00 by kerem · 3 comments
Owner

Originally created by @Wenzel on GitHub (Apr 11, 2024).
Original GitHub issue: https://github.com/nektos/act/issues/2290

Bug report info

Run act --bug-report
  act --bug-report
  shell: /usr/bin/bash -e {0}
act version:            0.2.61
GOOS:                   linux
GOARCH:                 amd64
NumCPU:                 4
Docker host:            DOCKER_HOST environment variable is not set
Sockets found:
	/var/run/docker.sock
	$XDG_RUNTIME_DIR/podman/podman.sock
Config files:           
	/home/runner/.config/act/actrc:
		-P ubuntu-latest=catthehacker/ubuntu:act-latest
		-P ubuntu-22.04=catthehacker/ubuntu:act-22.04
		-P ubuntu-20.04=catthehacker/ubuntu:act-20.04
		-P ubuntu-18.04=catthehacker/ubuntu:act-18.04
Build info:
	Go version:            go1.20.14
	Module path:           github.com/nektos/act
	Main version:          (devel)
	Main path:             github.com/nektos/act
	Main checksum:         
	Build settings:
		-buildmode:           exe
		-compiler:            gc
		-ldflags:             -s -w -X main.version=0.2.61 -X main.commit=361b7e9f1abe9081edf594aa35dede4eab972c70 -X main.date=2024-04-01T02:16:33Z -X main.builtBy=goreleaser
		CGO_ENABLED:          0
		GOARCH:               amd64
		GOOS:                 linux
		GOAMD64:              v1
		vcs:                  git
		vcs.revision:         361b7e9f1abe9081edf594aa35dede4eab972c70
		vcs.time:             2024-04-01T02:16:09Z
		vcs.modified:         false
Docker Engine:
	Engine version:        24.0.9
	Engine runtime:        runc
	Cgroup version:        2
	Cgroup driver:         cgroupfs
	Storage driver:        overlay2
	Registry URI:          https://index.docker.io/v1/
	OS:                    Ubuntu 22.04.4 LTS
	OS type:               linux
	OS version:            22.04
	OS arch:               x86_64
	OS kernel:             6.5.0-1017-azure
	OS CPU:                4
	OS memory:             15981 MB
	Security options:
		name=apparmor
		name=seccomp,profile=builtin
		name=cgroupns

Command used with act

act -j test_act

Describe issue

I'm facing an issue with act when running any job that tries to clone a repository with actions/checkout while specifying the ref parameter.

      - uses: actions/checkout@v4
        with:
          ref: act/checkout_ref_error

https://github.com/Wenzel/bug_report/tree/act/checkout_ref_error

Workflow content

name: CI

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - '*'

jobs:
    test_act:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
              with:
                ref: act/checkout_ref_error

            - name: setup act
              run: |
                curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
                echo "$PWD/bin/" >> $GITHUB_PATH

            - name: Create custom actrc file
              run: |
                mkdir -p $HOME/.config/act
                echo "-P ubuntu-latest=catthehacker/ubuntu:act-latest" >> $HOME/.config/act/actrc
                echo "-P ubuntu-22.04=catthehacker/ubuntu:act-22.04" >> $HOME/.config/act/actrc
                echo "-P ubuntu-20.04=catthehacker/ubuntu:act-20.04" >> $HOME/.config/act/actrc
                echo "-P ubuntu-18.04=catthehacker/ubuntu:act-18.04" >> $HOME/.config/act/actrc
      

            - name: run act
              run: act -j test_act

Relevant log output

Run act -j test_act
time="2024-04-11T10:39:52Z" level=info msg="Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock'"
[CI/test_act] 🚀  Start image=catthehacker/ubuntu:act-latest
[CI/test_act]   🐳  docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=true
[CI/test_act] using DockerAuthConfig authentication for docker pull
[CI/test_act]   🐳  docker create image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[CI/test_act]   🐳  docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[CI/test_act]   ☁  git clone 'https://github.com/actions/checkout' # ref=v4
[CI/test_act] ⭐ Run Main actions/checkout@v4
[CI/test_act]   🐳  docker cp src=/home/runner/.cache/act/actions-checkout@v4/ dst=/var/run/act/actions/actions-checkout@v4/
[CI/test_act]   🐳  docker exec cmd=[node /var/run/act/actions/actions-checkout@v4/dist/index.js] user= workdir=
[CI/test_act]   💬  ::debug::GITHUB_WORKSPACE = '/home/runner/work/bug_report/bug_report'
[CI/test_act]   💬  ::debug::qualified repository = 'Wenzel/bug_report'
[CI/test_act]   💬  ::debug::ref = 'act/checkout_ref_error'
[CI/test_act]   💬  ::debug::commit = 'undefined'
[CI/test_act]   💬  ::debug::clean = true
[CI/test_act]   💬  ::debug::filter = undefined
[CI/test_act]   💬  ::debug::fetch depth = 1
[CI/test_act]   💬  ::debug::fetch tags = false
[CI/test_act]   💬  ::debug::show progress = true
[CI/test_act]   💬  ::debug::lfs = false
[CI/test_act]   💬  ::debug::submodules = false
[CI/test_act]   💬  ::debug::recursive submodules = false
[CI/test_act]   ❗  ::error::Input required and not supplied: token
[CI/test_act]   ❌  Failure - Main actions/checkout@v4
[CI/test_act] exitcode '1': failure
[CI/test_act] ⭐ Run Post actions/checkout@v4
[CI/test_act]   🐳  docker exec cmd=[node /var/run/act/actions/actions-checkout@v4/dist/index.js] user= workdir=
[CI/test_act]   ✅  Success - Post actions/checkout@v4
[CI/test_act] 🏁  Job failed
Error: Job 'test_act' failed
Error: Process completed with exit code 1.

Additional information

When the ref parameter is removed, act works fine and actions/checkout manages to clone the repo.
Link the failed workflow run for reproducibility:
https://github.com/Wenzel/bug_report/actions/runs/8645464938/job/23702674057

Thanks for act !

Originally created by @Wenzel on GitHub (Apr 11, 2024). Original GitHub issue: https://github.com/nektos/act/issues/2290 ### Bug report info ```plain text Run act --bug-report act --bug-report shell: /usr/bin/bash -e {0} act version: 0.2.61 GOOS: linux GOARCH: amd64 NumCPU: 4 Docker host: DOCKER_HOST environment variable is not set Sockets found: /var/run/docker.sock $XDG_RUNTIME_DIR/podman/podman.sock Config files: /home/runner/.config/act/actrc: -P ubuntu-latest=catthehacker/ubuntu:act-latest -P ubuntu-22.04=catthehacker/ubuntu:act-22.04 -P ubuntu-20.04=catthehacker/ubuntu:act-20.04 -P ubuntu-18.04=catthehacker/ubuntu:act-18.04 Build info: Go version: go1.20.14 Module path: github.com/nektos/act Main version: (devel) Main path: github.com/nektos/act Main checksum: Build settings: -buildmode: exe -compiler: gc -ldflags: -s -w -X main.version=0.2.61 -X main.commit=361b7e9f1abe9081edf594aa35dede4eab972c70 -X main.date=2024-04-01T02:16:33Z -X main.builtBy=goreleaser CGO_ENABLED: 0 GOARCH: amd64 GOOS: linux GOAMD64: v1 vcs: git vcs.revision: 361b7e9f1abe9081edf594aa35dede4eab972c70 vcs.time: 2024-04-01T02:16:09Z vcs.modified: false Docker Engine: Engine version: 24.0.9 Engine runtime: runc Cgroup version: 2 Cgroup driver: cgroupfs Storage driver: overlay2 Registry URI: https://index.docker.io/v1/ OS: Ubuntu 22.04.4 LTS OS type: linux OS version: 22.04 OS arch: x86_64 OS kernel: 6.5.0-1017-azure OS CPU: 4 OS memory: 15981 MB Security options: name=apparmor name=seccomp,profile=builtin name=cgroupns ``` ### Command used with act ```sh act -j test_act ``` ### Describe issue I'm facing an issue with act when running any job that tries to clone a repository with `actions/checkout` while specifying the `ref` parameter. ```yaml - uses: actions/checkout@v4 with: ref: act/checkout_ref_error ``` ### Link to GitHub repository https://github.com/Wenzel/bug_report/tree/act/checkout_ref_error ### Workflow content ```yml name: CI on: push: branches: - master pull_request: branches: - '*' jobs: test_act: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: ref: act/checkout_ref_error - name: setup act run: | curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash echo "$PWD/bin/" >> $GITHUB_PATH - name: Create custom actrc file run: | mkdir -p $HOME/.config/act echo "-P ubuntu-latest=catthehacker/ubuntu:act-latest" >> $HOME/.config/act/actrc echo "-P ubuntu-22.04=catthehacker/ubuntu:act-22.04" >> $HOME/.config/act/actrc echo "-P ubuntu-20.04=catthehacker/ubuntu:act-20.04" >> $HOME/.config/act/actrc echo "-P ubuntu-18.04=catthehacker/ubuntu:act-18.04" >> $HOME/.config/act/actrc - name: run act run: act -j test_act ``` ### Relevant log output ```sh Run act -j test_act time="2024-04-11T10:39:52Z" level=info msg="Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock'" [CI/test_act] 🚀 Start image=catthehacker/ubuntu:act-latest [CI/test_act] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=true [CI/test_act] using DockerAuthConfig authentication for docker pull [CI/test_act] 🐳 docker create image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host" [CI/test_act] 🐳 docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host" [CI/test_act] ☁ git clone 'https://github.com/actions/checkout' # ref=v4 [CI/test_act] ⭐ Run Main actions/checkout@v4 [CI/test_act] 🐳 docker cp src=/home/runner/.cache/act/actions-checkout@v4/ dst=/var/run/act/actions/actions-checkout@v4/ [CI/test_act] 🐳 docker exec cmd=[node /var/run/act/actions/actions-checkout@v4/dist/index.js] user= workdir= [CI/test_act] 💬 ::debug::GITHUB_WORKSPACE = '/home/runner/work/bug_report/bug_report' [CI/test_act] 💬 ::debug::qualified repository = 'Wenzel/bug_report' [CI/test_act] 💬 ::debug::ref = 'act/checkout_ref_error' [CI/test_act] 💬 ::debug::commit = 'undefined' [CI/test_act] 💬 ::debug::clean = true [CI/test_act] 💬 ::debug::filter = undefined [CI/test_act] 💬 ::debug::fetch depth = 1 [CI/test_act] 💬 ::debug::fetch tags = false [CI/test_act] 💬 ::debug::show progress = true [CI/test_act] 💬 ::debug::lfs = false [CI/test_act] 💬 ::debug::submodules = false [CI/test_act] 💬 ::debug::recursive submodules = false [CI/test_act] ❗ ::error::Input required and not supplied: token [CI/test_act] ❌ Failure - Main actions/checkout@v4 [CI/test_act] exitcode '1': failure [CI/test_act] ⭐ Run Post actions/checkout@v4 [CI/test_act] 🐳 docker exec cmd=[node /var/run/act/actions/actions-checkout@v4/dist/index.js] user= workdir= [CI/test_act] ✅ Success - Post actions/checkout@v4 [CI/test_act] 🏁 Job failed Error: Job 'test_act' failed Error: Process completed with exit code 1. ``` ### Additional information When the ref parameter is removed, act works fine and actions/checkout manages to clone the repo. Link the failed workflow run for reproducibility: https://github.com/Wenzel/bug_report/actions/runs/8645464938/job/23702674057 Thanks for act !
kerem 2026-03-01 21:48:39 +03:00
Author
Owner

@ChristopherHX commented on GitHub (Apr 11, 2024):

When the ref parameter is removed, act works fine and actions/checkout manages to clone the repo.

Actually no, actions/checkout is just replaced by docker cp in that case.

act -s GITHUB_TOKEN should make it possible to run it with a user supplied token, created a invalid token causes more errors than an empty one

<!-- gh-comment-id:2049575625 --> @ChristopherHX commented on GitHub (Apr 11, 2024): > When the ref parameter is removed, act works fine and actions/checkout manages to clone the repo. Actually no, actions/checkout is just replaced by docker cp in that case. `act -s GITHUB_TOKEN` should make it possible to run it with a user supplied token, created a invalid token causes more errors than an empty one
Author
Owner

@gwynforthewyn commented on GitHub (May 12, 2024):

@Wenzel Because of your bug and ChrstopherHX's comment, I searched the usage guide and found a section dealing with this. On the Usage page https://nektosact.com/usage/index.html search for GITHUB_TOKEN.

It's a bit counter-intuitive to me that this case needs an auth token, but if you have the gh cli installed then the solution's this simple act -s GITHUB_TOKEN="$(gh auth token)"

<!-- gh-comment-id:2106403951 --> @gwynforthewyn commented on GitHub (May 12, 2024): @Wenzel Because of your bug and ChrstopherHX's comment, I searched the usage guide and found a section dealing with this. On the Usage page https://nektosact.com/usage/index.html search for GITHUB_TOKEN. It's a bit counter-intuitive to me that this case needs an auth token, but if you have the gh cli installed then the solution's this simple `act -s GITHUB_TOKEN="$(gh auth token)"`
Author
Owner

@github-actions[bot] commented on GitHub (Nov 9, 2024):

Issue is stale and will be closed in 14 days unless there is new activity

<!-- gh-comment-id:2465926833 --> @github-actions[bot] commented on GitHub (Nov 9, 2024): Issue is stale and will be closed in 14 days unless there is new activity
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/act#1066
No description provided.