"Support" channel for act. Please try to keep all your messages in a thread. We recommend using https://gist.github.com for providing code
Hi!
First of all, thanks for the tool. It is very significant and helpful!
I'm working on trying to create a "local test environment" for Github actions.
These actions invoke a nodejs script that makes some API requests to Github. Is there the possibility to mock this interaction? If yes, how can I reach this goal? Thanks for the help!
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?
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]
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.
act
on my computer from their action, but not sure how to go about saving the docker image.
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.
act
in a project with workflows setup, act simply exits without doing anything and running act -l
shows no workflows at all.
act
. Thanks for the help! βοΈ
on: pull_request
, rather than pull_request
, so maybe that help message is a bit confusing. But thanks for the quick help :)
/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]
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
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
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.
act
's runner uses?
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:
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:
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 :/
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
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'.
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!
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