"Support" channel for act. Please try to keep all your messages in a thread. We recommend using https://gist.github.com for providing code
act
, although this doesn't really even seem to be docker related. I've tried a number of things including specifying what I think is the "medium" image to use like act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest -j test
(and ubuntu:js-latest
) but I end up with problems executing the actions at all: Exec command '[node /actions/docker-build-push-action@v2/dist/index.js]'
| OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "node": executable file not found in $PATH: unknown
. Am I doing something completely wrong?
hi folks, I'm getting output like this:
[Tests/lint-3] 🐳 docker exec cmd=[node /var/run/act/actions/actions-setup-python@v2/dist/index.js] user=
[Tests/lint-3] 💬 ::debug::Semantic version spec of 3.x is 3.x
[Tests/lint-3] 💬 ::debug::isExplicit:
[Tests/lint-3] 💬 ::debug::explicit? false
[Tests/lint-3] 💬 ::debug::evaluating 0 versions
[Tests/lint-3] 💬 ::debug::match not found
| Version 3.x was not found in the local cache
[Tests/lint-3] ❗ ::error::API rate limit exceeded for **My IP address**. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
[Tests/lint-3] ❌ Failure - actions/setup-python@v2
I'm not really sure what's going on here; this looks like a GitHub API rate limit message. Is this something that act
is doing -- if so, is there some way to authenticate to GitHub to get a higher rate limit?
act
against our company's GitHub Enterprise server, but configuring this required one innovative step that I don't see documented. In short, this required downloading the docker image that we use for building with GHA. Then it requires the --github-instance
flag. It also requires this in .actrc
, which should be in instructions:-P self-hosted=some-host.saunalahti.fi/sre/actions-runner-dind:latest
some-host.saunalahti.fi/sre/actions-runner-dind:latest
creating settings.xml with server-id: github; environment variables: username=$GITHUB_ACTOR, password=$GITHUB_TOKEN, and gpg-passphrase=null
[Complete pipeline/Creating new docker image and uploading to ECR] ❗ ::error::EACCES: permission denied, mkdir '/github/home/.m2'
[Complete pipeline/Creating new docker image and uploading to ECR] ❌ Failure - Setup JDK 11
github/super-linter@v4
on my local act environment. I'm running the whole thing using my own custom image (act-latest
+ docker-compose)./var/run/act/workflow/event.json
file. I tried to test if something is wrong with the file, therefore added jq -r '.repository.owner.login' <"${GITHUB_EVENT_PATH}"
(the line super-linter's script was failing on) to the same job as super-linter
is running in - it worked fine.super-linter
tries to access this file, I get this[ci.yml/tst] | 2021-09-21 13:18:14 [INFO] Successfully found:[GITHUB_EVENT_PATH], value:[/var/run/act/workflow/event.json]
[ci.yml/tst] | /action/lib/linter.sh: line 478: /var/run/act/workflow/event.json: No such file or directory
[ci.yml/tst] | 2021-09-21 13:18:14 [ERROR] Failed to get [GITHUB_ORG]!
name: "test workflow aaah"
on: ["workflow_dispatch", "push"]
jobs:
test:
runs-on: macos-11
steps:
- uses: pakket-project/test/setup-builder@main
Does act
support the full "needs context"?
I'm logging it and getting:
{ "job-01": { "outputs": null }, "job-02": { "outputs": null } }
and I was hoping to see the result
field (see: https://docs.github.com/en/actions/learn-github-actions/contexts#needs-context)
I don't know if this just isn't supported yet, or if I'm referencing the context incorrectly or something.
Hi All,
I am a new ACT user struggling to run the following CI job locally. Any help is appreciated.
CI job: https://github.com/prestodb/presto/blob/master/.github/workflows/ci.yml
Command: act -v
Logs:
DEBU[0000] Loading environment from /Users/sarghode/IdeaProjects/prestodb/.env
DEBU[0000] Loading secrets from /Users/sarghode/IdeaProjects/prestodb/.secrets
DEBU[0000] Loading workflows from '/Users/sarghode/IdeaProjects/prestodb/.github/workflows'
DEBU[0000] Loading workflows recursively
DEBU[0000] Found workflow 'ci.yml' in '/Users/sarghode/IdeaProjects/prestodb/.github/workflows/ci.yml'
DEBU[0000] Found workflow 'cleanup.yml' in '/Users/sarghode/IdeaProjects/prestodb/.github/workflows/cleanup.yml'
DEBU[0000] Reading workflow '/Users/sarghode/IdeaProjects/prestodb/.github/workflows/ci.yml'
DEBU[0000] Correcting if statements '/Users/sarghode/IdeaProjects/prestodb/.github/workflows/ci.yml'
DEBU[0000] Reading workflow '/Users/sarghode/IdeaProjects/prestodb/.github/workflows/cleanup.yml'
DEBU[0000] Correcting if statements '/Users/sarghode/IdeaProjects/prestodb/.github/workflows/cleanup.yml'
DEBU[0000] Planning event: push
It crashes after this setup without any error log.
Thanks.
act
run. When using docker/setup-buildx-action
and docker/build-push-action
the build images do not seem to appear in my local image list when checking docker image list
is there a way to have this working?
steps:
- uses: actions/checkout@v2
- name: Run action
uses: ./`
I have this args
for an action and the "Expressions" don't seem to work
name: Fetch environment variables from AWS Parameter Store
uses: classtinginc/chamber-action@master
id: chamber
with:
args: export --format dotenv --output-file parameters.env ${{ env.SERVICE_NAME }}
So instead of the variable SERVICE_NAME
being injected, the literal ${{
is being injected. Any ideas?
Hi everyone. I'm using act to locally test my github action to create minikube cluster. This is the code I have for this task.
'''
name: Minikube deploy
on:
push:
branches:
- master
jobs:
testjob1:
runs-on: ubuntu-latest
steps:
- name: Install minikube
run: |
sudo curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
- uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
setup-tools: kubectl
kubectl: '1.18.18'
- name: Add user
run: |
getent group sudo
getent group docker
echo $USER
sudo usermod -aG docker $USER
getent group docker
sudo chmod 666 /var/run/docker.sock
echo "hi"
- name: Start minikube
run: |
sudo minikube delete
minikube start
kubectl get pods -A
echo "end"
'''
The "Add user" part is me trying to give docker non root user so that docker commands could be run. Ubuntu image used is ubuntu-latest=ghcr.io/catthehacker/ubuntu:runner-latest
Everything is running fine until this next line which is part of minikube start command and then it freezes.
'''
Downloading Kubernetes v1.22.2 preload ...
> preloaded-images-k8s-v13-v1...: 511.84 MiB / 511.84 MiB 100.00% 14.22 Mi
'''
If I add --alsologtostderr I get this type of error on the same part of running process.
'''
libmachine: Error dialing TCP: dial tcp 127.0.0.1:55660: connect: connection refused
'''
So the problem is I can't create minikube cluster with act. Does anyone know what is the cause of this errors ?
docker container
action and it couldn't find java
Hi! I've got an issue with a running a local action. I've got a local Dockerfile
, so in my workflow I've got uses: ./
, which causes act to generate an invalid tag for Docker build
command (i.e. act-:latest
):
docker build -t act-:latest --platform /Users/...
Is there any workaround for this?
Turns out that the ~/.actrc
/ ./.actrc
needs to be one parameter per line.
-P self-hosted=ghcr.io/catthehacker/ubuntu:act-20.04
-P dev=ghcr.io/catthehacker/ubuntu:act-20.04
Maybe I'm confusing the issues I had with the container:
param?
So here's a summary of the issues I've encountered.
container
parameter will override whatever is in the runs-on
java not found
on JVM image.Error: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "java": executable file not found in $PATH: unknown
Is there some way to enable these features on Act?
Is it possible to run node14 in act? I can only see node12 images. When running some yarn cli ive got following error
Publish in Chrome Web Store/publish] ⭐ Run Install chrome web store cli
yarn global v1.22.5
warning package.json: No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
error chrome-webstore-upload-cli@2.0.1: The engine "node" is incompatible with this module. Expected version "^14.13.1 || >=16.0.0". Got "12.20.1"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/global for documentation about this command.
[Publish in Chrome Web Store/publish] ❌ Failure - Install chrome web store cli
but I do have
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: 14.x