Where communities thrive


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

Hi! Thanks for this extremely useful tool. I'm currently trying to work out how to locally simulate a deployment step - my Actions file creates several folders of documentation and then uploads them to GitHub Pages. When testing locally I'd like to have these in a local folder so I can look through them, but I can't work out how to get act to do this. In particular, at the end of a successful job, act removes the docker container and volume (see issue here: nektos/act#921).

Does anyone have any idea how I can either 1) get act to keep the docker container alive or 2) mount an external volume into the act job that I can copy files into as part of the run itself?

1 reply
Krystian Marek
@KrystianMarek

Hi,

How to simulate the event ${{ github.event.workflow_run.conclusion == 'success' }} ?

I have a workflow like this:

name: build stuff
on:
  workflow_run:
    workflows: ["construct-build-container"]
    types: [completed]
jobs:
  on-success:
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    runs-on: [self-hosted, kubernetes, docker]
    container: ubuntu:20.04
    steps:
      - run: echo ${{ github.event.workflow_run.conclusion }}
      - run: |
          echo yo!

I'm running it with act workflow_run -e workflow_scripts/build_completed.json
json:

{
  "check_run": {
    "conclusion": "success",
    "check_suite": {
      "conclusion": "success"
    }
  }
}

But still get an error:
ERRO[0000] Unable to interpolate string 'echo ${{ github.event.workflow_run.conclusion }}' - [TypeError: Cannot access member 'conclusion' of undefined]

1 reply
Yury-Fridlyand
@Yury-Fridlyand

Hello,
I have a trouble using act on my computer.
I start act as usual, but it hangs:

bash > act -W .github/workflows/my-workflow.yml
[Test and Build/build] πŸš€  Start image=catthehacker/ubuntu:act-latest
[Test and Build/build]   🐳  docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[]
[Test and Build/build]   🐳  docker exec cmd=[mkdir -m 0777 -p /var/run/act] user=root
[Test and Build/build]   🐳  docker cp src=/mnt/c/GitHub/dbg-proj/. dst=/mnt/c/GitHub/dbg-proj
[Test and Build/build]   🐳  docker exec cmd=[mkdir -p /mnt/c/GitHub/dbg-proj] user=

I'm using WSL2 on Win 10. It was running perfect recently. Perhaps, some update or a configuration change has damaged something. Any ideas?
Any help will be much appreciated.

4 replies
Kyle Tozer
@kyletozer
I'm having trouble installing via the bash command: curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash. I'm on ubuntu 20.04 lts and the command just hangs in the terminal when i try running it.
2 replies
David Brumley
@dbrumley
Hi everyone :wave: I'm trying to build someone elses repository and save the results as a docker image. is that possible to do with act? I have successfully built their repo using act on my computer from their action, but not sure how to go about saving the docker image.
5 replies
Kevin E Hosford
@kevinehosford
I just got started with act and can't seem to get past FATA[0000] Unable to build dependency graph! in a repo that has working actions
6 replies
Kevin E Hosford
@kevinehosford
Doing a first run and using the Large default runner I ultimately get Error: Error response from daemon: No such image: ghcr.io/catthehacker/ubuntu:full-20.04
4 replies
Toby
@tobyhijzen

Hi, I'm just getting started with nektos/act and I am running into issues setting up. When I run 'act' I get:

10:59 $ act -j build
[CI/build] πŸš€  Start image=harbor.rocsys.dev/rocsys/ci-vision:0.3.0
[CI/build]   🐳  docker pull image=harbor.rocsys.dev/rocsys/ci-vision:0.3.0 platform= username= forcePull=false
[CI/build]   🐳  docker create image=harbor.rocsys.dev/rocsys/ci-vision:0.3.0 platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[]
[CI/build]   🐳  docker run image=harbor.rocsys.dev/rocsys/ci-vision:0.3.0 platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[]
[CI/build]   🐳  docker exec cmd=[mkdir -m 0777 -p /var/run/act] user=root workdir=
[CI/build]   🐳  docker cp src=/home/***/gits/rocsys/rocsys-vision/. dst=/home/***/gits/rocsys/rocsys-vision
[CI/build]   🐳  docker exec cmd=[mkdir -p /home/***/gits/rocsys/rocsys-vision] user= workdir=
[CI/build] ⭐  Run Setup Git Credentials
INFO[0002]   ☁  git clone 'https://github.com/fusion-engineering/setup-git-credentials' # ref=v2 
[CI/build]   🐳  docker cp src=/home/***/.cache/act/fusion-engineering-setup-git-credentials@v2/ dst=/var/run/act/actions/fusion-engineering-setup-git-credentials@v2/
[CI/build]   🐳  docker exec cmd=[mkdir -p /var/run/act/actions/fusion-engineering-setup-git-credentials@v2/] user= workdir=
[CI/build]   🐳  docker exec cmd=[node /var/run/act/actions/fusion-engineering-setup-git-credentials@v2/lib/main.js] user= workdir=
| OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "node": executable file not found in $PATH: unknown
[CI/build]   ❌  Failure - Setup Git Credentials
Error: exit with `FAILURE`: 126

The relevent step is written as follows:

    steps:
      - name: Setup Git Credentials
        uses: fusion-engineering/setup-git-credentials@v2
        with:
          credentials: ${{secrets.CI_GIT_CREDENTIALS}}

I cannot figure out how to fix this. I have node installed on my machine but I don't think that is relevant.

9 replies
Jacob Jonsson
@jassobse:matrix.org
[m]
Hello and thank you for a very nice tool, I've used it before to debug GH actions and it has been very handy!
However, when I use it now I've been unsuccessful in getting it to find my workflow, when running act in a project with workflows setup, act simply exits without doing anything and running act -l shows no workflows at all.
1 reply
Could you please help me in debugging this issue, or should I open an issue for more asynchronous debugging? :)
Aah, thank you! That did find the workflow!
Ryan
@catthehacker
although it seems there might be a bug in --detect-event πŸ€”
Jacob Jonsson
@jassobse:matrix.org
[m]
I didn't hit that bug though, once I got the output I realized what argument to give act. Thanks for the help! ⭐️
Ryan
@catthehacker
image.png
Jacob Jonsson
@jassobse:matrix.org
[m]
Does act -l only show the push event workflows by default?
Ryan
@catthehacker
image.png
Jacob Jonsson
@jassobse:matrix.org
[m]
Got it, I thought I needed to write on: pull_request, rather than pull_request, so maybe that help message is a bit confusing. But thanks for the quick help :)
Ryan
@catthehacker
yeah, that makes sense
Dan Neve
@DanForever
Hey guys, does anyone know of a solution for someone that needs windows? I have a c# windows desktop application I was hoping to set up some CI/CD for
1 reply
I guess predictably, I get the following when I compile my .net project in linux:
/root/.dotnet/sdk/5.0.404/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(89,5): error NETSDK1100: Windows is required to build Windows desktop applications. [/mnt/g/Projects/HardwareMonitor/Windows/Testing/Testing.csproj] | /root/.dotnet/sdk/5.0.404/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(89,5): error NETSDK1100: Windows is required to build Windows desktop applications. [/mnt/g/Projects/HardwareMonitor/Windows/Frontend/Frontend.csproj]
BjΓΆrn Brauer
@ZauberNerd

Hi there,
would it be possible to have more contributors with write access to act? Currently the project feels a bit limited by the time available to review and merge PRs.

This still seems to be an issue. We have a couple of PRs open and not much is happening at the moment. It would be great to get an answer from @cplee about this.
/cc @KnisterPeter @catthehacker

1 reply
Toby
@tobyhijzen
Hello, I'm trying to debug a pipeline and I'm stuck on a step that creates tags: docker/metadata-action@v3. I'm getting the error ::error::Parameter token or opts.auth is required. I don't understand what this error means? Is docker/metadata-action@v3 supported? The full step looks as follows:
      - name: Docker meta
        id: meta
        uses: docker/metadata-action@v3
        with:
          images: harbor.rocsys.dev/rocsys/socketnet
2 replies
Kevin E Hosford
@kevinehosford
I notice when I run an action with act that includes a call to docker run I get docker: Got permission denied while trying to connect to the Docker daemon socket but on github I don't. I'm currently using the ubuntu-latest=ghcr.io/catthehacker/ubuntu:full-latest runner.
Would using a different runner fix the issue, perhaps because of the user act's runner uses?
Kevin E Hosford
@kevinehosford
I'm confused as to why I'm seeing | mkdir: cannot create directory '/var/run/act/actions': Permission denied. I'm using --bind to bind the working directory so shouldn't actions be able to write?
2 replies
Dan Neve
@DanForever

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
@DanForever
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
@DanForever
ok, turns it it is (was) a bug in act: nektos/act#963
Casey Lee
@cplee

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
@TommyLike
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
@amouat
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
melissachang
@melissachang
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
@thegiantbeast
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
@thegiantbeast
hm.. I believe I tried that, but will it again and reply back
Ricardo Ferreira
@thegiantbeast
it worked! thanks a lot! πŸ‘ I tried before but I was setting sender inside pull_request object
Robert Kasanicky
@robokaso
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
@bojanparlic
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
@topherfangio
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
@jskrzypek
Hello all does act not support actions that use other actions? AFAICT this is now a supported feature of github actions...
Joshua Skrzypek
@jskrzypek
1 reply
Topher Fangio
@topherfangio

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
@Namyalg
image.png
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
@Bhupesh-V

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

action file

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

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
@volleynerd

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
Ryan
@catthehacker
CloneIfRequired seems to be broken? It cloned action to cache but still failed with authentication required
Miles Cranmer
@MilesCranmer
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?