Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Apr 05 09:10
    @catthehacker banned @1948_your_tlv_homo_1488:swirl.funny.cl
Dan Neve

Hey guys, I'm having some trouble with ::set-output, maybe one of you guys can spot what I'm doing wrong?
I'm trying to turn the contents of a file into an output from an action, but nothing I do seems to work. (According to the internet this should be fairly simple)

Here's my (debug) yml (with debug probes):

    - shell: bash
      name: Retrieve Binary Path
      id: retrievebinarypath
      run: |
        PATH=$(cat $HOME/binaries.txt)
        echo "Path is $PATH"
        echo "BINPATH=$PATH" >> $GITHUB_ENV
        echo strawberry
        echo ::set-output name=binarypath::$PATH
        echo ::set-output name=altbinarypath::${{ env.BINPATH }}

    - shell: bash
      name:  Display binary path to user
      run: |
        echo "From Steps: ${{ steps.retrievebinarypath.outputs.binarypath }}"
        echo "From Steps (alt): ${{ steps.retrievebinarypath.outputs.altbinarypath }}"
        echo "From ENV: ${{ env.BINPATH }}"
        echo "From Outputs: ${{ outputs.binarypath.value }}"

and here's the output I'm getting from act:

| Path is /tmp/arduino_build_688801/Device.ino.elf
| strawberry
[Verify Devices/verify-devices-2]   βš™  ::set-output:: binarypath=/tmp/arduino_build_688801/Device.ino.elf
[Verify Devices/verify-devices-2]   βš™  ::set-output:: altbinarypath=
time="2022-01-22T21:36:18+01:00" level=debug msg="Wrote command '\necho \"From Steps: \"\necho \"From Steps (alt): \"\necho \"From ENV: \"\necho \"From Outputs: \"\n\n' to 'workflow/composite-3.sh'"
time="2022-01-22T21:36:18+01:00" level=debug msg="Writing entry to tarball workflow/composite-3.sh len:86"
[Verify Devices/verify-devices-2] Extracting content to '/mnt/g/Projects/HardwareMonitor'
[Verify Devices/verify-devices-2]   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /mnt/g/Projects/HardwareMonitor/workflow/composite-3.sh] user= workdir=
[Verify Devices/verify-devices-2] Exec command '[bash --noprofile --norc -e -o pipefail /mnt/g/Projects/HardwareMonitor/workflow/composite-3.sh]'
[Verify Devices/verify-devices-2] Working directory '/mnt/g/Projects/HardwareMonitor'
| From Steps:
| From Steps (alt):
| From ENV:
| From Outputs:
6 replies
Dan Neve
Apparently this example does not work for me:
    - name: Set the value
      id: step_one
      shell: bash
      run: echo ::set-output name=FOO::BAR
    - name: Use it
      shell: bash
      run: echo ${{ steps.step_one.outputs.FOO }}
Dan Neve
ok, turns it it is (was) a bug in act: nektos/act#963
Casey Lee

I’m excited to announce that we’ve expanded the list of maintainers for act to include @ChristopherHX, @ZauberNerd and @KnisterPeter . We’ve also changed the Mergify rules to auto-merge any PR once 3 of the 5 maintainers have approved the PR.

Hopefully these changes will support the community better! Thanks to all the maintainers for all they’ve done for act :tada:

Hu Sheng
hey guys, Have we discussed the possibility of moving this feature (run github action locally) into kubernetes of which fits more usecases?
6 replies
Adrian Mouat
Hey, I'm having problems where an action fails to run because the runner.arch env var isn't set in act (interestingly, runner.os is) but is set when running GitHub. Is there a workaround? Or am I doing something stupid?
13 replies
Hi, I'm having a similar problem to Adrian. When I run with act locally, JAVA_HOME is not set/java is not installed. When action runs on GitHub, JAVA_HOME is set/java is installed.
3 replies
Ricardo Ferreira
Hi! I'm wondering how can I pass the context payload to the workflow I'm trying to run. this is because the github action I'm using filters the execution of it based on github.context.payload.sender data. So I would like to be able to pass the expected sender in this case. Maybe I'm missing something very basic :/
1 reply
Ricardo Ferreira
hm.. I believe I tried that, but will it again and reply back
Ricardo Ferreira
it worked! thanks a lot! πŸ‘ I tried before but I was setting sender inside pull_request object
Robert Kasanicky
Hi, it's my first attempt with act and I ran into this error that seems to me like my act installation is misconfigured somehow (I used go install github.com/nektos/act@latest on ubuntu). Can anybody help me understand what's going on?
fatal: unable to access 'https://nektos/act:***@github.com/MyOrg/MyRepo.git/': Could not resolve host: nektos
7 replies
Bojan Parlic
Hello, I'm trying to run my workflow for my android app and I have gradle exception when it tries to build the app:
SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/bojanparlic/workspaces/ocs_android/local.properties'.
but I have this set up and app builds from Android Studio without problem. Can someone please help?
Topher Fangio
Hey all, I'm attempting to run act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:full-latest -j my-job and it's taking an absolute lifetime (because the runner is huge). Is there a way to make this faster? Or download the runner separately and tell act to point to it? Thanks!
9 replies
Joshua Skrzypek
Hello all does act not support actions that use other actions? AFAICT this is now a supported feature of github actions...
Joshua Skrzypek
1 reply
Topher Fangio

Ok, I've got everything working, but I had to add sudo to my docker-compose commands. Is there a way to work around that in act?

I've tried using --privileged and -a root but those don't seem to work.

8 replies
Namya LG
I am trying to run a Github Action locally, commits to the repository do not happen, though there are changes to files made via the action. The command is not executed but stays the same
Bhupesh Varshney

anyone having clue how to resolve this?
Error: (StepID: actions/cache@v2): Unexpected value 'uses'

action file

      - uses: actions/checkout@v2
          token: ${{ secrets.SOME_TOKEN }}
          submodules: true
      - uses: subosito/flutter-action@v2
          flutter-version: 2.2.3
          channel: 'stable'
          cache: true
          cache-key: flutter
          cache-path: ${{ runner.tool_cache }}/flutter
Xavier Bergeron

Good morning folks! I'm running into a weird issue with setup-node running in ghcr.io/catthehacker/ubuntu:act-latest

[Publish SDKs and libs to artifactory/get-customers]   βœ…  Success - actions/setup-python@v2
[Publish SDKs and libs to artifactory/get-customers] ⭐  Run actions/setup-node@v2
[Publish SDKs and libs to artifactory/get-customers]   ☁  git clone 'https://github.com/actions/setup-node' # ref=v2
[Publish SDKs and libs to artifactory/get-customers] Unable to checkout 1f8c6b94b26d0feae1e387ca63ccbdc44d27b561: invalid checksum
[Publish SDKs and libs to artifactory/get-customers]   ❌  Failure - actions/setup-node@v2
[Publish SDKs and libs to artifactory/get-customers] invalid checksum

Any idea what could cause this?

1 reply
Dan H

Hello - great tool! Getting back into using it after some time away. I have a failing workflow, and know the fact that the container is still running after the last step failed. So I exec into the running container, but find that the state of the container is not what I was expecting.

ex: action in the workflow that installs dotnet (and succeeds). But when I exec into it, it's not installed. "dotnet: command not found"

Have a feeling that the workflows are running under a certain user / profile, that is different than the one I get when I exec into the failed container. Node is not installed either (used by ACT, right?), which makes me think it's something even more fundamental. Likely a dumb docker / linux profile thing that I'm not understanding.

Have been tryin to search these archives and not coming up with anything.
Thanks in advance.

3 replies
CloneIfRequired seems to be broken? It cloned action to cache but still failed with authentication required
Miles Cranmer
I have a dumb question that I couldn't seem to find an answer for: if my workflow is failing with act, how do I enter the failed image/container and debug things manually?
Miles Cranmer
(Seems like I need to find the container ID from the docker dashboard, then do docker exec -it <ID> /bin/sh?)
3 replies
Michael Vergara
Hi, I'm new to act, how does it know which github repository to look at when it triggers an event (ex. push). Is there a variable in the yaml file that you can set?
11 replies
Michael Vergara
Sorry if this question has been asked before. Is there a windows based image that has act available aside from nektos/act-environments-ubuntu:18.04?
2 replies
Godefroid Chapelle
I did not find the way to only run one "variant" of the matrix defined in a workflow.
I also did not find how to run a single workflow rather than all.
Is it possible ? Any hint welcome.
6 replies

Hi all, it's Jorge!

I just recently started using this amazing tool act. I'm building a Python package template which generates its own GitHub actions according to user input requirements (minimum Python version, for example). TCould not find a part of the path '/run/act/actions/actions-setup-python@v2/.github/python.json'.herefore, I though that it would be super cool to have a workflow file and colling act in GH actions just to test the generated actions from the template. However, it got the following error:

Could not find a part of the path '/run/act/actions/actions-setup-python@v2/.github/python.json'.

Nevertheless, act gets executed in GitHub actions but because of previous error, the CI detects it as a failure.

I am aware about the fact that act was not designed with this purpose in mind (to be called as a github actions run command). But would be super cool to understand previous error or even figuring out how to solve it.

Thanks in advance for any kind of support/guidance you provide me on this πŸš€

1 reply
It complains about non-existent dir, see:
ls: cannot access '/var/run/act/actions': No such file or directory
4 replies
What's weird is that it properly executes all the jobs in the rendered actions file
Thonda Taylor II

Still having issues when trying to run the entire suite

DEBU[0000] context needs => map[pre_job:map[outputs:map[branch:${{ steps.get-deploy.outputs.branch }} deploying_service:${{ steps.get-deploy.outputs.deploying_service }}]]]
DEBU[0000] false
FATA[0000] yaml: unmarshal errors:
line 163: cannot unmarshal !!str ${{ fro... into []interface {}

Has this been fixed yet or is it still a know issue?


10 replies
Burak Can Kahraman
Hi, I tried to find some explanation on how checkout works on act after coming across with the following "Skipping local actions/checkout because workdir was already copied". I went into the container and it seems like some of my stuff, that wasn't checked in the repo was there. AFAI looked into it, act is copying the contents of the source workspace to destination workspace. Why is that ? Why not just checkout the git repo ? I am probably missing some things. What are the steps for this process, I would appreciate if someone enlightens me.
5 replies
Ankush Katiyar
Hello I'm facing problem for checkout in develop branch using our github action workflow file
name: learn-github-actions
on: [push]
runs-on: ubuntu-latest
  - uses: actions/checkout@v3
      ref: develop
I got this error
Error: The runs.using key in action.yml must be one of: [composite docker node12], got node16
13 replies
and i'm using command "act -s GITHUB_TOKEN" from our terminal
Orfeas Kypris
hi everyone! I have been trying to get act to work on my workflow but I think I am missing something. It gets to DEBU[0000] Planning event: push and it stops without spawning a Docker container. My workflow file is correct as it works on Github actions. Is there something obvious I am missing here?
4 replies
Orfeas Kypris
Hi again everyone! my github workflow uses the azure/login@v1 and I was wondering if anyone knows a way to pass the secret key via environment variable in order to authenticate. ```steps:
  - uses: azure/login@v1
      creds: ${{ secrets.AZURE_CREDENTIALS }}```
7 replies
Orfeas Kypris

Are there plans for a nektos/act-environments-ubuntu:20.04image? I am currently using nektos/act-environments-ubuntu:18.04 and I believ my workflow is failing because of that on iterative/setup-dvc@v1 with the following message:

::error::Command failed: /usr/bin/sudo apt update && /usr/bin/sudo apt install -y git ./dvc.deb && /usr/bin/sudo rm -f 'dvc.deb'%0A%0AWARNING: apt does not have a stable CLI interface. Use with caution in scripts.%0A%0AE: The repository 'https://dl.bintray.com/sbt/debian Release' no longer has a Release file.%0AW: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://dl.yarnpkg.com/debian stable InRelease: The following signatures were invalid: EXPKEYSIG 23E7166788B63E1E Yarn Packaging yarn@dan.cx%0AW: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://cli-assets.heroku.com/apt ./ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6DB5542C356545CF%0AW: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://packages.cloud.google.com/apt cloud-sdk InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FEEA9169307EA071 NO_PUBKEY 8B57C5C2836F4BEB%0AW: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packages.cloud.google.com/apt kubernetes-xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FEEA9169307EA071 NO_PUBKEY 8B57C5C2836F4BEB%0A
[Github action to run tests/Run-tests] ❌ Failure - iterative/setup-dvc@v1

8 replies

Hi there,

I'm trying to test a release pipeline. I assumed that $GITHUB_REF would be the name of a tag via repo/releases/new (in github) but I cannot mock this value, I tried using a json file and an env var but I cannot change the value and it keeps using the value of the current branch please assist

TL;DR how do i set GITHUB_REF:refs/heads/fix-versioning to be a tag value


I have a problem of act being unable to detect all my workflows.
I have 9 different workflow files, but act -l only lists 3. Why is this?

➜  app git:(act-for-github-actions) βœ— ls .github/workflows
branch.yml                     ci_android.yml                 e2e.yml                        absolute-ci.yml                rebranding_nightly.yml
chromatic.yml                  ci_ios.yml                     eslint_tsc_bot_development.yml mi-ui.yml
➜  app git:(act-for-github-actions) βœ— act -l
Stage  Job ID                Job name                     Workflow name                       Workflow file                   Events
0      chromatic-deployment  chromatic-deployment         Chromatic                           chromatic.yml                   workflow_dispatch,push,pull_request
0      branch_build          branch_build                 Eslint & TSC Bot - Development      eslint_tsc_bot_development.yml  push
0      run                   Compile Language and Commit  Compile Languages for Lokalise PRs  lokalise-ci.yml                 push,workflow_dispatch
➜  app git:(act-for-github-actions) βœ—
1 reply
Hi, I'm using the head version for node16 support, but getting: panic: reflect: call of reflect.Value.Interface on zero Value when I run act?
2 replies
hey, trying to get act to work, but i keep running into this issue
[build/build-1]   ❗  ::error::Unable to get ACTIONS_RUNTIME_TOKEN env variable
[build/build-1]   ❌  Failure - capture build artifacts
I tried passing the GITHUB_ACTIONS token, but it didnt change anything
im trying to set act up in a gitpod environment
working on getting the gitpod environment for https://github.com/hugeblank/allium
to work
its have an issue with this part of the github workflow yml
      - name: capture build artifacts
        if: ${{ runner.os == 'Linux' && matrix.java == '17' }} # Only upload artifacts built from latest java on one OS
        uses: actions/upload-artifact@v2
          name: Artifacts
          path: build/libs/