catthehacker / docker_images Goto Github PK
View Code? Open in Web Editor NEWDocker images
License: MIT License
Docker images
License: MIT License
Would it be possible to publish similar images for arm64? It seems like your script would allow it pretty easily, and that would help a lot people running act on Arm macs.
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
Node 20 is not included in the ACT images and GitHub wants everyone to move over to Node 20 for GitHub Actions.
Hello,
I'm trying to use this image in a gitea act runner as image to build a docker container with. But if I start this image with for example the following command: docker run --rm -it ghcr.io/catthehacker/ubuntu:act-latest
, I'm getting this error message, if I run docker ps
for example:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Only if I pass the docker.sock as a volume to the container, I can get a valid result, but I'm not sure if that's what I'm supposed to do.
Could someone tell me what is exactly needed to use docker from inside this image?
I know it's a balancing act of what to include in the runner image and what not. But I guess docker-compose
is a quite often used tool when setting up CI for a full stack application. Currently, only the large runner image has this on board, but the size is immense. Any chance to have docker-compose
integrated in the medium runner image? As workaround for now I use a custom image (mentioned here): act -P ubuntu-latest=lucasalt/act_base:latest
Actions file (snippet):
name: Continuous Integration
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configure rustup
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
- name: cargo run glacier
run: cargo run
act
output:
$ act
[Continuous Integration/build ] ๐ Start image=catthehacker/ubuntu:act-latest
[Continuous Integration/build ] ๐ณ docker run image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[]
[Continuous Integration/build ] ๐ณ docker cp src=/home/fanninpm/Documents/GitHub/glacier/. dst=/home/fanninpm/Documents/GitHub/glacier
[Continuous Integration/build ] โญ Run actions/checkout@v2
[Continuous Integration/build ] โ
Success - actions/checkout@v2
[Continuous Integration/build ] โญ Run Configure rustup
[Continuous Integration/build ] โ git clone 'https://github.com/actions-rs/toolchain' # ref=v1
[Continuous Integration/build ] ๐ณ docker cp src=/home/fanninpm/.cache/act/actions-rs-toolchain@v1 dst=/actions/
[Continuous Integration/build ] ๐ฌ ::debug::using toolchain from input: nightly
[Continuous Integration/build ] ๐ฌ ::debug::Unable to find "rustup" executable, installing it now. Reason: Error: Unable to locate executable file: rustup. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
[Continuous Integration/build ] ๐ฌ ::debug::Downloading https://sh.rustup.rs
[Continuous Integration/build ] ๐ฌ ::debug::Destination /tmp/27f109d1-a3ee-4ebe-be6e-0e31ba5aeda9
[Continuous Integration/build ] ๐ฌ ::debug::download complete
[Continuous Integration/build ] ๐ฌ ::debug::Executing chmod 755 on the /tmp/27f109d1-a3ee-4ebe-be6e-0e31ba5aeda9
[Continuous Integration/build ] | [command]/tmp/27f109d1-a3ee-4ebe-be6e-0e31ba5aeda9 --default-toolchain none -y
[Continuous Integration/build ] | info: downloading installer
[Continuous Integration/build ] | error: $HOME differs from euid-obtained home directory: you may be using sudo
[Continuous Integration/build ] | error: $HOME directory: /home/fanninpm/Documents/GitHub/home
[Continuous Integration/build ] | error: euid-obtained home directory: /root
[Continuous Integration/build ] | info: profile set to 'default'
[Continuous Integration/build ] | info: default host triple is x86_64-unknown-linux-gnu
[Continuous Integration/build ] | info: skipping toolchain installation
[Continuous Integration/build ] |
[Continuous Integration/build ] |
[Continuous Integration/build ] | Rust is installed now. Great!
[Continuous Integration/build ] |
[Continuous Integration/build ] | To get started you may need to restart your current shell.
[Continuous Integration/build ] | This would reload your PATH environment variable to include
[Continuous Integration/build ] | Cargo's bin directory ($HOME/.cargo/bin).
[Continuous Integration/build ] |
[Continuous Integration/build ] | To configure your current shell, run:
[Continuous Integration/build ] | source $HOME/.cargo/env
[Continuous Integration/build ] โ ::add-path:: /home/fanninpm/Documents/GitHub/home/.cargo/bin
[Continuous Integration/build ] | [command]/home/fanninpm/Documents/GitHub/home/.cargo/bin/rustup show
[Continuous Integration/build ] | Default host: x86_64-unknown-linux-gnu
[Continuous Integration/build ] | rustup home: /home/fanninpm/Documents/GitHub/home/.rustup
[Continuous Integration/build ] |
[Continuous Integration/build ] | info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
[Continuous Integration/build ] | info: latest update on 2021-06-05, rust version 1.54.0-nightly (c79419af0 2021-06-04)
[Continuous Integration/build ] | info: downloading component 'cargo'
[Continuous Integration/build ] | info: downloading component 'clippy'
[Continuous Integration/build ] | info: downloading component 'rust-docs'
[Continuous Integration/build ] | info: downloading component 'rust-std'
[Continuous Integration/build ] | info: downloading component 'rustc'
[Continuous Integration/build ] | info: downloading component 'rustfmt'
[Continuous Integration/build ] | info: installing component 'cargo'
[Continuous Integration/build ] | info: installing component 'clippy'
[Continuous Integration/build ] | info: installing component 'rust-docs'
[Continuous Integration/build ] | info: installing component 'rust-std'
[Continuous Integration/build ] | info: installing component 'rustc'
[Continuous Integration/build ] | info: installing component 'rustfmt'
[Continuous Integration/build ] | nightly-x86_64-unknown-linux-gnu (overridden by '/home/fanninpm/Documents/GitHub/glacier/rust-toolchain')
[Continuous Integration/build ] | rustc 1.54.0-nightly (c79419af0 2021-06-04)
[Continuous Integration/build ] | [command]/home/fanninpm/Documents/GitHub/home/.cargo/bin/rustup -V
[Continuous Integration/build ] | rustup 1.24.2 (755e2b07e 2021-05-12)
[Continuous Integration/build ] | info: This is the version for the rustup toolchain manager, not the rustc compiler.
[Continuous Integration/build ] | info: The currently active `rustc` version is `rustc 1.54.0-nightly (c79419af0 2021-06-04)`
[Continuous Integration/build ] | Installed rustup 1.24.2 support profiles
[Continuous Integration/build ] | [command]/home/fanninpm/Documents/GitHub/home/.cargo/bin/rustup set profile minimal
[Continuous Integration/build ] | info: profile set to 'minimal'
[Continuous Integration/build ] | [command]/home/fanninpm/Documents/GitHub/home/.cargo/bin/rustup toolchain install nightly
[Continuous Integration/build ] | info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
[Continuous Integration/build ] |
[Continuous Integration/build ] | nightly-x86_64-unknown-linux-gnu unchanged - rustc 1.54.0-nightly (c79419af0 2021-06-04)
[Continuous Integration/build ] |
[Continuous Integration/build ] | info: checking for self-updates
[Continuous Integration/build ] โ ::group::Gathering installed versions
[Continuous Integration/build ] | [command]/home/fanninpm/Documents/GitHub/home/.cargo/bin/rustc -V
[Continuous Integration/build ] | rustc 1.54.0-nightly (c79419af0 2021-06-04)
[Continuous Integration/build ] โ ::set-output:: rustc=1.54.0-nightly (c79419af0 2021-06-04)
[Continuous Integration/build ] โ ::set-output:: rustc_hash=c79419af0
[Continuous Integration/build ] | [command]/home/fanninpm/Documents/GitHub/home/.cargo/bin/cargo -V
[Continuous Integration/build ] | cargo 1.54.0-nightly (0cecbd673 2021-06-01)
[Continuous Integration/build ] โ ::set-output:: cargo=1.54.0-nightly (0cecbd673 2021-06-01)
[Continuous Integration/build ] | [command]/home/fanninpm/Documents/GitHub/home/.cargo/bin/rustup -V
[Continuous Integration/build ] | rustup 1.24.2 (755e2b07e 2021-05-12)
[Continuous Integration/build ] | info: This is the version for the rustup toolchain manager, not the rustc compiler.
[Continuous Integration/build ] | info: The currently active `rustc` version is `rustc 1.54.0-nightly (c79419af0 2021-06-04)`
[Continuous Integration/build ] โ ::set-output:: rustup=1.24.2 (755e2b07e 2021-05-12)
[Continuous Integration/build ] โ ::endgroup::
[Continuous Integration/build ] โ
Success - Configure rustup
[Continuous Integration/build ] โญ Run cargo run glacier
[Continuous Integration/build ] | Updating crates.io index
[Continuous Integration/build ] | Downloading crates ...
[Continuous Integration/build ] | Downloaded alphanumeric-sort v1.4.3
[Continuous Integration/build ] | Downloaded crossbeam-deque v0.8.0
[Continuous Integration/build ] | Downloaded getrandom v0.2.3
[Continuous Integration/build ] | Downloaded scopeguard v1.1.0
[Continuous Integration/build ] | Downloaded anyhow v1.0.40
[Continuous Integration/build ] | Downloaded crossbeam-channel v0.5.1
[Continuous Integration/build ] | Downloaded cfg-if v1.0.0
[Continuous Integration/build ] | Downloaded autocfg v1.0.1
[Continuous Integration/build ] | Downloaded crossbeam-epoch v0.9.4
[Continuous Integration/build ] | Downloaded crossbeam-utils v0.8.4
[Continuous Integration/build ] | Downloaded lazy_static v1.4.0
[Continuous Integration/build ] | Downloaded either v1.6.1
[Continuous Integration/build ] | Downloaded tempfile v3.2.0
[Continuous Integration/build ] | Downloaded memoffset v0.6.3
[Continuous Integration/build ] | Downloaded num_cpus v1.13.0
[Continuous Integration/build ] | Downloaded remove_dir_all v0.5.3
[Continuous Integration/build ] | Downloaded rand_core v0.6.2
[Continuous Integration/build ] | Downloaded rand_chacha v0.3.0
[Continuous Integration/build ] | Downloaded rand v0.8.3
[Continuous Integration/build ] | Downloaded rayon-core v1.9.1
[Continuous Integration/build ] | Downloaded rayon v1.5.1
[Continuous Integration/build ] | Downloaded ppv-lite86 v0.2.10
[Continuous Integration/build ] | Downloaded libc v0.2.94
[Continuous Integration/build ] | Compiling autocfg v1.0.1
[Continuous Integration/build ] | Compiling cfg-if v1.0.0
[Continuous Integration/build ] | Compiling libc v0.2.94
[Continuous Integration/build ] | Compiling lazy_static v1.4.0
[Continuous Integration/build ] | Compiling rayon-core v1.9.1
[Continuous Integration/build ] | Compiling scopeguard v1.1.0
[Continuous Integration/build ] | error: linker `cc` not found
[Continuous Integration/build ] | |
[Continuous Integration/build ] | = note: No such file or directory (os error 2)
[Continuous Integration/build ] |
[Continuous Integration/build ] | error: aborting due to previous error
[Continuous Integration/build ] |
[Continuous Integration/build ] | error: could not compile `rayon-core`
[Continuous Integration/build ] |
[Continuous Integration/build ] | To learn more, run the command again with --verbose.
[Continuous Integration/build ] | warning: build failed, waiting for other jobs to finish...
[Continuous Integration/build ] | error: linker `cc` not found
[Continuous Integration/build ] | |
[Continuous Integration/build ] | = note: No such file or directory (os error 2)
[Continuous Integration/build ] |
[Continuous Integration/build ] | error: aborting due to previous error
[Continuous Integration/build ] |
[Continuous Integration/build ] | error: build failed
[Continuous Integration/build ] โ Failure - cargo run glacier
Error: exit with `FAILURE`: 101
I'm trying to install act
on an Ubuntu-20.04 system but I get this when I try to pull the act docker image:
docker pull catthehacker/ubuntu:act-20.04
act-20.04: Pulling from catthehacker/ubuntu
7b1a6ab2e44d: Already exists
e5d2365e1e08: Extracting [==================================================>] 7.775MB/7.775MB
577c425bc292: Download complete
81fcda6c22ed: Download complete
91046370e281: Download complete
bada956823bf: Download complete
9a092865042a: Download complete
failed to register layer: ApplyLayer exit status 1 stdout: stderr: lchown /etc: no such file or directory
Any image I pull from this repo ends with failed to register layer: ApplyLayer exit status 1 stdout: stderr: lchown /etc: no such file or directory
.
I don't git this on a full ubuntu image.
I already did some googling and I couldn't really find anything interesting.
I did find this article however: https://stackoverflow.com/a/66017633/2319865.
It appears to be a docker issue with NFS, and it might be happening inside of the image on startup.
For context, I am running this inside of WSL2 on Windows 10 if it helps.
Github comes with yarn as part of the default runner (https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md)
Please add yarn as it is used by quite a few open source projects :)
It appears the build is failing and so is docker hub.
[Deploy to Staging with Matrix/determine-affected-apps] ๐ Start image=catthehacker/ubuntu:act-latest
[Deploy to Staging with Matrix/determine-affected-apps] ๐ณ docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=true
^C[Deploy to Staging with Matrix/determine-affected-apps] failed to remove container: Delete "http://%2Fvar%2Frun%2Fdocker.sock/v1.41/containers/c6f1b4dde24a4317f8ce42157e62e528811428e51a88789f0674878ce2c09594?force=1&v=1": context canceled
Error: context canceled
/linux/ubuntu/rust
- ghcr.io/catthehacker/ubuntu:act-*
but with rust
tools installed (rustfmt
, clippy
, cbindgen
, etc.)I can see the script but there is no pre-build image?
Background
I'm running integration tests within a docker container that is hosted by another container that is using the ghcr.io/catthehacker/ubuntu:act-latest
image. In addition, this is all running within a GitHub actions job locally via act.
Goal
Within the child integration test container, I want to run docker compose
commands that build necessary dependency containers for the tests. I'm able to mount the docker binary from the host /ubuntu:act-latest
container although the docker compose plugin is not included which results in docker compose
commands failing. I'm not sure if I'm missing any other volume that are needed in order for the docker compose plugin to work.
Here are relevant snippets from files:
tests.yml
github action job:
integration:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Tests
id: act_pytest_integration
shell: bash
run: |
export DOCKERPATH=$(which docker)
docker compose run --rm integration pytest tests/integration/tasks
docker-compose.yml
withintegration
service called from github action job:
integration:
network_mode: host
stdin_open: true
tty: true
image: terraform-aws-infrastructure-live/integration
build: ./tests/integration
volumes:
- $PWD:/src
- $DOCKERPATH:/usr/bin/docker:ro
- /usr/libexec/docker/cli-plugins:/usr/libexec/docker/cli-plugins
- /var/run/docker.sock:/var/run/docker.sock
entrypoint: [/bin/bash, entrypoint.sh]
profiles: [integration]
Thank you in advance
it pull the docker image again every time
I would like to see AWS CLI installed on here please:
On images:
ghcr.io/catthehacker/ubuntu:runner-20.04
ghcr.io/catthehacker/ubuntu:runner-22.04
ghcr.io/catthehacker/ubuntu:runner-latest
The act-20.04
and runner-20.04
support multiple architectures, but the more targeted images are only for amd64.
I'm specifically trying to use js-20.04
on an M1 Mac, so it wants arm64.
My workaround is to use act-20.04
as a base and then install my javascript tools as part of my own Dockerfile, but it would be nicer to have the perks of a js-specific image with all that stuff preinstalled, as it is for amd64 machines.
Currently act-*
images are quite big due to docker
taking at least (!) 100MB
REPOSITORY | TAG | IMAGE ID | CREATED | SIZE |
---|---|---|---|---|
catthehacker/ubuntu | act-20.04 | 2663e80e57e7 | 3 hours ago | 530MB |
catthehacker/ubuntu | act-16.04 | 3736b648c03f | 3 hours ago | 546MB |
catthehacker/ubuntu | act-latest | 79bd1b439bb1 | 3 hours ago | 450MB |
catthehacker/ubuntu | act-18.04 | 46c75d6aa3a1 | 3 hours ago | 450MB |
According to dive
, there is a bit of space that can be shaven off
Image name | Potential wasted space | Image efficiency score |
---|---|---|
catthehacker/ubuntu:act-20.04 | 3.3 MB | 99 % |
catthehacker/ubuntu:act-16.04 | 48 MB | 91 % |
catthehacker/ubuntu:act-latest | 2.8 MB | 99 % |
catthehacker/ubuntu:act-18.04 | 2.8 MB | 99 % |
TODO:
docker
from source but linked dynamically)Hi,
When using catthehacker/ubuntu:rust-latest
the installed Rust version is
1.53.0 (2021-04-27)
At the time of writing, the current stable version is 1.65.0
. This is even more problematic since version 1.53.0
does not support Rust 2021 edition, which is the stable edition now.
So basically it forces adding a step to the GA to update it:
- run: rustup update
Which is not needed on ubuntu GitHub runner.
While using the ubuntu-22.04 image on a forgejo runner I was unable to use the setup-python action as it could not find the tools cache (actually it reports it cannot find the right python version in the cache, but is not finding the cache in the first place that is the problem).
Reading setup-pythons documentation on hosted tool cache it states it looks for the tool cache in RUNNER_TOOL_CACHE
. However the ubuntu-22.04 image does not have an environment variable RUNNER_TOOL_CACHE
, but it does have a RUN_TOOL_CACHE
.
When I inject a environment variable RUNNER_TOOL_CACHE
with the same value as RUN_TOOL_CACHE
the setup-python action works as expected. Is the name RUN_TOOL_CACHE
wrong and should it be RUNNER_TOOL_CACHE
instead?
Ubuntu 20.04/latest should have Node 16 but I am seeing v14 instead
% docker run ghcr.io/catthehacker/ubuntu:act-latest ls /opt/hostedtoolcache/node
14.19.0
% docker run ghcr.io/catthehacker/ubuntu:js-latest ls /opt/hostedtoolcache/node
10.24.1
12.22.10
14.19.0
% docker run --entrypoint /usr/local/bin/node ghcr.io/catthehacker/ubuntu:full-latest --version
v14.17.6
I'm trying to set up ghcr.io/catthehacker/ubuntu:full-latest
docker image to run act on and unable to.
I'm aware it's 14GB file but I'm getting very low download speeds for the image. I tested my network and that's not the issue, I have great connection speed.
I tried
docker pull ghcr.io/catthehacker/ubuntu:full-latest
as well as
act -P ubuntu:full-latest=ghcr.io/catthehacker/ubuntu:full-latest
It took 1 hour or so to download 1GB.
I googled the issue and couldn't find anything useful
Hi,
I'm trying to fix PATH handling for docker actions in nektos/act.
You have added the node program not via the ENV
docker directive to $PATH
, this will break with nektos/act#1503.
I know you cannot set PATH env this way from the scripts..., but the current act implementation doesn't match actions/runner
container handling and causes bugs in other docker actions.
To reproduce:
ยป docker run -it ghcr.io/catthehacker/ubuntu:js-latest yarn --version 130 โต
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "yarn": executable file not found in $PATH: unknown.
Issue first noticed while trying to use with act.
Here is my logs from doing so:
act
[Build/test ] ๐ Start image=ghcr.io/catthehacker/ubuntu:js-latest
[Build/test ] ๐ณ docker pull image=ghcr.io/catthehacker/ubuntu:js-latest platform= username= forcePull=false
[Build/test ] ๐ณ docker create image=ghcr.io/catthehacker/ubuntu:js-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[]
[Build/test ] ๐ณ docker run image=ghcr.io/catthehacker/ubuntu:js-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[]
[Build/test ] ๐ณ docker exec cmd=[mkdir -m 0777 -p /var/run/act] user=root workdir=
[Build/test ] ๐ณ docker cp src=project/. dst=project
[Build/test ] ๐ณ docker exec cmd=[mkdir -p project] user= workdir=
[Build/test ] โญ Run Setup Node
INFO[0070] โ git clone 'https://github.com/actions/setup-node' # ref=v2.5.0
[Build/test ] ๐ณ docker cp src=/Users/chasenbettinger/.cache/act/[email protected]/ dst=/var/run/act/actions/[email protected]/
[Build/test ] ๐ณ docker exec cmd=[mkdir -p /var/run/act/actions/[email protected]/] user= workdir=
[Build/test ] ๐ณ docker exec cmd=[node /var/run/act/actions/[email protected]/dist/setup/index.js] user= workdir=
[Build/test ] ๐ฌ ::debug::isExplicit:
[Build/test ] ๐ฌ ::debug::explicit? false
[Build/test ] ๐ฌ ::debug::isExplicit: 10.24.1
[Build/test ] ๐ฌ ::debug::explicit? true
[Build/test ] ๐ฌ ::debug::isExplicit: 12.22.7
[Build/test ] ๐ฌ ::debug::explicit? true
[Build/test ] ๐ฌ ::debug::isExplicit: 14.18.2
[Build/test ] ๐ฌ ::debug::explicit? true
[Build/test ] ๐ฌ ::debug::evaluating 0 versions
[Build/test ] ๐ฌ ::debug::match not found
| Attempting to download 14...
[Build/test ] ๐ฌ ::debug::No manifest cached
[Build/test ] ๐ฌ ::debug::Getting manifest from actions/node-versions@main
[Build/test ] ๐ฌ ::debug::check 16.13.1 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.13.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.12.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.11.1 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.11.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.10.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.9.1 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.9.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.8.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.7.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.6.2 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.6.1 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.6.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.5.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.4.2 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.4.1 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.4.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.3.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.2.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.1.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 16.0.0 satisfies 14
[Build/test ] ๐ฌ ::debug::check 14.18.2 satisfies 14
[Build/test ] ๐ฌ ::debug::x64===x64 && darwin===linux
[Build/test ] ๐ฌ ::debug::x64===x64 && linux===linux
[Build/test ] ๐ฌ ::debug::matched 14.18.2
| Acquiring 14.18.2 - x64 from https://github.com/actions/node-versions/releases/download/14.18.2-1525067507/node-14.18.2-linux-x64.tar.gz
[Build/test ] ๐ฌ ::debug::Downloading https://github.com/actions/node-versions/releases/download/14.18.2-1525067507/node-14.18.2-linux-x64.tar.gz
[Build/test ] ๐ฌ ::debug::Destination /tmp/c556b65a-3ccf-4dc9-802f-80e306bf7911
[Build/test ] ๐ฌ ::debug::download complete
| Extracting ...
[Build/test ] ๐ฌ ::debug::Checking tar --version
[Build/test ] ๐ฌ ::debug::tar (GNU tar) 1.30%0ACopyright (C) 2017 Free Software Foundation, Inc.%0ALicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.%0AThis is free software: you are free to change and redistribute it.%0AThere is NO WARRANTY, to the extent permitted by law.%0A%0AWritten by John Gilmore and Jay Fenlason.
| [command]/usr/bin/tar xz --strip 1 --warning=no-unknown-keyword -C /tmp/28f33487-b49c-4ec2-bd2e-9f3391a7fb50 -f /tmp/c556b65a-3ccf-4dc9-802f-80e306bf7911
| Adding to the cache ...
[Build/test ] ๐ฌ ::debug::Caching tool node 14.18.2 x64
[Build/test ] ๐ฌ ::debug::source dir: /tmp/28f33487-b49c-4ec2-bd2e-9f3391a7fb50
[Build/test ] ๐ฌ ::debug::destination /opt/hostedtoolcache/node/14.18.2/x64
[Build/test ] ๐ฌ ::debug::finished caching tool
| Done
[Build/test ] โ ::error::Unable to locate executable file: yarn. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
[Build/test ] โ Failure - Setup Node
Would be nice to have sbt (build tool for Scala, Java ...) available in the image.
https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Linux.html
It would be helpful if yq
was part of ubuntu:full-latest, as it's required for super-linter
.
I'm logged into Docker Desktop with my account and was able to run the Docker Desktop test run.
Trying to run fabrication.yml file because I tracking down a bug.
Here is my log:
PS C:\Users\rabbit\Documents\usb2adb> act -l
Stage Job ID Job name Workflow name Workflow file Events
0 generate Generate fabrication files Generate fabrication files fabrication.yml workflow_dispatch,push
PS C:\Users\rabbit\Documents\usb2adb> act -j generate
โ[34m[Generate fabrication files/Generate fabrication files] โ[0m๐ Start image=catthehacker/ubuntu:act-20.04
โ[34m[Generate fabrication files/Generate fabrication files] โ[0m ๐ณ docker pull image=catthehacker/ubuntu:act-20.04 platform= username= forcePull=false
โ[34m[Generate fabrication files/Generate fabrication files] โ[0m๐ Job succeeded
Error: Error response from daemon: Head "https://registry-1.docker.io/v2/catthehacker/ubuntu/manifests/act-20.04": unauthorized: incorrect username or password
PS C:\Users\rabbit\Documents\usb2adb>
I'm not sure why this is limited to RSA:
https://github.com/catthehacker/docker_images/blob/master/linux/ubuntu/scripts/act.sh#L96C1-L97C1
Is this done for a reason? I believe it's causing my error that I opened, here:
Apologies for opening multiple issues - I'm not sure where the best place for this belongs, as my problem technically coming from act
, but I believe this is the root cause.
Using the following job, I run into an error when the container tries to install graphviz
:
doxygen:
name: doxygen
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install Doxygen
run: sudo apt-get install -y doxygen graphviz
act
output[CI/doxygen] ๐ Start image=catthehacker/ubuntu:act-20.04 [CI/doxygen] ๐ณ docker run image=catthehacker/ubuntu:act-20.04 platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] [CI/doxygen] ๐ณ docker exec cmd=[mkdir -m 0777 -p /var/run/act] user=root [CI/doxygen] ๐ณ docker cp src=snip/. dst=snip [CI/doxygen] ๐ณ docker exec cmd=[mkdir -p snip] user= [CI/doxygen] โญ Run actions/checkout@v2 [CI/doxygen] โ Success - actions/checkout@v2 [CI/doxygen] โญ Run Install Doxygen [CI/doxygen] ๐ณ docker exec cmd=[bash --noprofile --norc -e -o pipefail snip/workflow/1] user= Reading package lists... Done Building dependency tree Reading state information... Done | Package graphviz is not available, but is referred to by another package. | This may mean that the package is missing, has been obsoleted, or | is only available from another source | | E: Unable to locate package doxygen | E: Package 'graphviz' has no installation candidate [CI/doxygen] โ Failure - Install Doxygen Error: exit with `FAILURE`: 100
I tried pulling the full image and running with it, but it ran into other (quite odd) issues (e.g., trying to setup mongo-db?).
Thanks for the amazing work on this!
The Docker Hub Readme warning (that says the readme is not auto-updated anymore) contains a link to this repository for an up-to-date readme. Unfortunately, the link has a typo.
Original text:
Please see https://github.com/catthehacekr/docker_images for up-to-date readme file.
Note the switched characters in the GitHub organization.
Proposed fix:
Please see https://github.com/catthehacker/docker_images for up-to-date readme file.
To lower the possibility of confusion, I think, it's worth fixing it there.
Please add the $GOBIN
or go env GOBIN
or where ever go install
puts installed binaries in this image to the $PATH
๐
This will makes running actions and installing additional Go binaires much easier ๐
Thank you! ๐โโ๏ธ
Hey, I get this error when using ubuntu:full-22.04
and similar images along with docker.
docker run -v /var/run/docker.sock:/var/run/docker.sock --rm -it catthehacker/ubuntu:full-22.04 /bin/sh
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
$
While regular ubuntu and other containers works just fine.
Does anyone have any idea why?
Thanks!
I am currently using your ubuntu-full-latest
image for local testing a GitHub workflow, act
is great and your images are immensely useful, thanks for that, foremost!
I've been running in an issue with a version mismatch from docker-compose
in your image, and probably will also affect the upstream.
Regarding actions/runner-images#4203 and changed files, there should be โbothโ version available.
If I understand it correctly, docker-compose
v1 should be in /usr/local/bin
, which I could confirm.
docker compose
however, is not a command in docker
if I try to call it, but moby-compose
is a package found in apt show moby-compose
on the container, which would be expected looking at the source files.
Can you please point me to my error, how to use docker-compose v2
in your, respectively, the upstream
image?
I'm currently adopting GitHub Actions to some Java Repositories and would like to use act for locally testing the workflows.
However, the provided medium images do not cover the Java build tools - especially Maven in my case.
Is it possible to add another image which contains the three popular build tools Ant/Maven/Gradle? See Java tools by the actual runner: https://github.com/actions/virtual-environments/blob/main/images/linux/scripts/installers/java-tools.sh
Additional Context:
Normally it wouldn't be a problem since the Maven wrapper script can be used. However, windows and docker with WSL backend does not allow this using act, since act will copy the project files without the executable flag on the wrapper (well ofc, it's windows - where should the flag be?). As a workaround you could use -b
to bind the project folder as a volume, but doing so, the CRLF line ending from windows will cause issues in the wrapper script.
The runner in GitHub Actions has gh
by default and some actions depend on that being there.
Has anyone else continued to create builds that recreate a version of the Github Action runners?
There is an error when I call pip
or pip3
, I think this might be installed in the image. Or I made some mistakes?
Thanks in advance.
Hello,
I'm currently using Gitea with the Gitea act runner.
I have the following labels configured to run jobs:
labels:
- "ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest"
- "ubuntu-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04"
- "ubuntu-20.04:docker://ghcr.io/catthehacker/ubuntu:act-20.04"
When trying to use the docker/setup-qemu-action@v3 action to prepare the environment for cross-platform builds, I get the following error:
[command]/usr/bin/docker run --rm --privileged tonistiigi/binfmt:latest --install all
error: operation not permitted
cannot mount binfmt_misc filesystem at /proc/sys/fs/binfmt_misc
main.run
/src/cmd/binfmt/main.go:183
main.main
/src/cmd/binfmt/main.go:170
runtime.main
/usr/local/go/src/runtime/proc.go:250
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1571
Anybody else have this issue?
Any ideas how to get the mount working?
I'm thinking it maybe has something to do with the Docker daemon running outside of this container's filesystem and not having permissions to write to the mount path..?
Here is a sample of my workflow:
name: release-tag
on:
push:
tags: ["*"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
I just pulled the full image and I'm getting a docker daemon running error. Is docker not in the full image?
Would it be possible to add rsync
to the medium image?
Hi,
I would like to create a custom image based on catthehacker/ubuntu:act-latest
with java installed.
Running java-tools.sh
raise this error
E: The repository 'https://adoptopenjdk.jfrog.io/adoptopenjdk/deb jammy Release' does not have a Release file.
docker pull catthehacker/ubuntu:act-latest
docker run --rm -it catthehacker/ubuntu:act-latest
/imagegeneration/installers/java-tools.sh
Node seems to be missing from the Ubuntu act image as of ubuntu:act-22.04-20230808
.
We've started seeing the following error:
"node": executable file not found in $PATH: unknown
$ docker pull ghcr.io/catthehacker/ubuntu:act-latest
act-latest: Pulling from catthehacker/ubuntu
bc049b7fc634: Extracting [==================================================>] 31.59MB/31.59MB
275ca953c1b8: Download complete
e989fde0efbd: Download complete
525b56a3bb8c: Download complete
3bf0ff2153a6: Download complete
4ca545ee6d5d: Download complete
failed to register layer: open /var/lib/dpkg/info/gcc-12-base:amd64.list: invalid argument
Can you please create a set of Android-specific images (much like the JS and Rust ones), since by default Github Actions contain the Android SDK tools?
with the following workflow:
on:
push:
branches:
- master
permissions:
contents: write
pull-requests: write
packages: write
name: ReleaseManagement
jobs:
Release:
runs-on: ubuntu-22.04
outputs:
release_created: ${{ steps.release.outputs.release_created }}
releases_created: ${{ steps.release.outputs.releases_created }}
tag_name: ${{ steps.release.outputs.tag_name }} # e.g. v1.0.0
version: ${{ steps.release.outputs.version }} # e.g. 1.0.0
json: ${{ toJSON(steps.release.outputs) }}
steps:
- uses: google-github-actions/release-please-action@v3
if: ${{!github.event.act}}
id: release-please
with:
token: ${{ secrets.GITHUB_TOKEN }}
command: manifest
release-type: go
extra-files: |
meta/package.go
- id: release
name: act interop
run: |
if [ "${{!github.event.act}}" == "false" ]; then
echo "release_created=true" >> $GITHUB_OUTPUT
echo "releases_created=true" >> $GITHUB_OUTPUT
echo "tag_name=snapshot" >> $GITHUB_OUTPUT
echo "version=snaphot" >> $GITHUB_OUTPUT
else
echo "release_created=${{ steps.release-please.outputs.release_created }}" >> $GITHUB_OUTPUT
echo "releases_created=${{ steps.release-please.outputs.releases_created }}" >> $GITHUB_OUTPUT
echo "tag_name=${{ steps.release-please.outputs.tag_name }}" >> $GITHUB_OUTPUT
echo "version=${{ steps.release-please.outputs.version }}" >> $GITHUB_OUTPUT
fi
Build:
if: needs.Release.outputs.releases_created
runs-on: ubuntu-22.04
needs: [Release]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-tags: true
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v2
# - uses: docker/setup-buildx-action@v2
# - name: Docker Login
# uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
# with:
# registry: ${{ env.REGISTRY }}
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
- name: setup jetpack devbox
uses: jetpack-io/[email protected]
- name: Run GoReleaser
env:
registry: ${{ env.REGISTRY }}
IMAGE_NAME: ${{ env.IMAGE_NAME }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [ "${{ !github.event.act }}" == "true" ]; then
devbox run -- gorelease release --clean
else
devbox run -- gorelease build --clean --snapshot
fi
with this .actevent.json
{
"act": true
}
and this command
act push \
--platform ubuntu-22.04=catthehacker/ubuntu:full-latest \
--eventpath .actevent.json \
--workflows .github/workflows/release.yml \
--job Build
i get this output:
act push --platform ubuntu-22.04=catthehacker/ubuntu:full-latest --eventpath .actevent.json --workflows .github/workflows/release.yml --job Build
[ReleaseManagement/Release] ๐ Start image=catthehacker/ubuntu:full-latest
INFO[0000] Parallel tasks (0) below minimum, setting to 1
[ReleaseManagement/Release] ๐ณ docker pull image=catthehacker/ubuntu:full-latest platform= username= forcePull=true
INFO[0002] Parallel tasks (0) below minimum, setting to 1
[ReleaseManagement/Release] ๐ณ docker create image=catthehacker/ubuntu:full-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[ReleaseManagement/Release] ๐ณ docker run image=catthehacker/ubuntu:full-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[ReleaseManagement/Release] ๐ณ docker exec cmd=[chown -R 1001:127 /mnt/Store/Projects/Mine/Github/bank-downloaders] user=0 workdir=
[ReleaseManagement/Release] โ git clone 'https://github.com/google-github-actions/release-please-action' # ref=v3
[ReleaseManagement/Release] โญ Run Main act interop
[ReleaseManagement/Release] ๐ณ docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/release] user= workdir=
[ReleaseManagement/Release] โ
Success - Main act interop
[ReleaseManagement/Release] โ ::set-output:: version=snaphot
[ReleaseManagement/Release] โ ::set-output:: release_created=true
[ReleaseManagement/Release] โ ::set-output:: releases_created=true
[ReleaseManagement/Release] โ ::set-output:: tag_name=snapshot
[ReleaseManagement/Release] Cleaning up container for job Release
[ReleaseManagement/Release] ๐ Job succeeded
[ReleaseManagement/Build ] ๐ Start image=catthehacker/ubuntu:full-latest
INFO[0004] Parallel tasks (0) below minimum, setting to 1
[ReleaseManagement/Build ] ๐ณ docker pull image=catthehacker/ubuntu:full-latest platform= username= forcePull=true
INFO[0006] Parallel tasks (0) below minimum, setting to 1
[ReleaseManagement/Build ] ๐ณ docker create image=catthehacker/ubuntu:full-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[ReleaseManagement/Build ] ๐ณ docker run image=catthehacker/ubuntu:full-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[chown -R 1001:127 /mnt/Store/Projects/Mine/Github/bank-downloaders] user=0 workdir=
[ReleaseManagement/Build ] โ git clone 'https://github.com/jetpack-io/devbox-install-action' # ref=v0.7.0
[ReleaseManagement/Build ] โญ Run Pre setup jetpack devbox
[ReleaseManagement/Build ] โ git clone 'https://github.com/actions/cache' # ref=v3
[ReleaseManagement/Build ] โ git clone 'https://github.com/actions/cache' # ref=v3
[ReleaseManagement/Build ] โ git clone 'https://github.com/DeterminateSystems/nix-installer-action' # ref=v4
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] โญ Run Pre Install nix
[ReleaseManagement/Build ] โ
Success - Pre Install nix
[ReleaseManagement/Build ] โ git clone 'https://github.com/actions/cache' # ref=v3
[ReleaseManagement/Build ] โ git clone 'https://github.com/actions/cache' # ref=v3
[ReleaseManagement/Build ] โ
Success - Pre setup jetpack devbox
[ReleaseManagement/Build ] โญ Run Main actions/checkout@v3
[ReleaseManagement/Build ] ๐ณ docker cp src=/mnt/Store/Projects/Mine/Github/bank-downloaders/. dst=/mnt/Store/Projects/Mine/Github/bank-downloaders
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[chown -R 1001:127 /mnt/Store/Projects/Mine/Github/bank-downloaders] user=0 workdir=
[ReleaseManagement/Build ] โ
Success - Main actions/checkout@v3
[ReleaseManagement/Build ] โญ Run Main setup jetpack devbox
[ReleaseManagement/Build ] ๐ณ docker cp src=/home/zenobius/.cache/act/[email protected]/ dst=/var/run/act/actions/[email protected]/
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[chown -R 1001:127 /var/run/act/actions/[email protected]/] user=0 workdir=
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] โญ Run Main Get devbox version
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1-composite-0.sh] user= workdir=
| Found devbox latest version 0.8.2.
[ReleaseManagement/Build ] โ
Success - Main Get devbox version
[ReleaseManagement/Build ] โ ::set-env:: latest_version=0.8.2
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] โญ Run Main Mount devbox cli cache
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] ๐ณ docker cp src=/home/zenobius/.cache/act/actions-cache-restore@v3/ dst=/var/run/act/actions/actions-cache-restore@v3/
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[chown -R 1001:127 /var/run/act/actions/actions-cache-restore@v3/] user=0 workdir=
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[node /var/run/act/actions/actions-cache-restore@v3/dist/restore-only/index.js] user= workdir=
[ReleaseManagement/Build ] ๐ฌ ::debug::Resolved Keys:
[ReleaseManagement/Build ] ๐ฌ ::debug::["Linux-devbox-cli-0.8.2"]
[ReleaseManagement/Build ] ๐ฌ ::debug::Checking zstd --quiet --version
[ReleaseManagement/Build ] ๐ฌ ::debug::1.5.5
[ReleaseManagement/Build ] ๐ฌ ::debug::zstd version: 1.5.5
[ReleaseManagement/Build ] ๐ฌ ::debug::Resource Url: http://192.168.86.43:38721/_apis/artifactcache/cache?keys=Linux-devbox-cli-0.8.2&version=10c3673137184e8fc98ee7019556b49e59a4412bda7618d1ecdeb71d8913cc9a
[ReleaseManagement/Build ] โ ***
[ReleaseManagement/Build ] ๐ฌ ::debug::Cache Result:
[ReleaseManagement/Build ] ๐ฌ ::debug::{"archiveLocation":"***","cacheKey":"linux-devbox-cli-0.8.2","result":"hit"}
[ReleaseManagement/Build ] ๐ฌ ::debug::Archive Path: /tmp/397c456e-f8f8-4241-aca7-c328ecdbbde2/cache.tzst
[ReleaseManagement/Build ] ๐ฌ ::debug::Use Azure SDK: false
[ReleaseManagement/Build ] ๐ฌ ::debug::Download concurrency: 8
[ReleaseManagement/Build ] ๐ฌ ::debug::Request timeout (ms): 30000
[ReleaseManagement/Build ] ๐ฌ ::debug::Cache segment download timeout mins env var: undefined
[ReleaseManagement/Build ] ๐ฌ ::debug::Segment download timeout (ms): 600000
[ReleaseManagement/Build ] ๐ฌ ::debug::Lookup only: false
| Cache Size: ~8 MB (8449799 B)
| [command]/usr/bin/tar -xf /tmp/397c456e-f8f8-4241-aca7-c328ecdbbde2/cache.tzst -P -C /mnt/Store/Projects/Mine/Github/bank-downloaders --use-compress-program unzstd
| Cache restored successfully
| Cache restored from key: linux-devbox-cli-0.8.2
[ReleaseManagement/Build ] โ
Success - Main Mount devbox cli cache
[ReleaseManagement/Build ] โ ::set-output:: cache-primary-key=Linux-devbox-cli-0.8.2
[ReleaseManagement/Build ] โ ::set-output:: cache-matched-key=linux-devbox-cli-0.8.2
[ReleaseManagement/Build ] โ ::set-output:: cache-hit=true
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] โญ Run Main Configure nix access-tokens
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1-composite-5.sh] user= workdir=
[ReleaseManagement/Build ] โ
Success - Main Configure nix access-tokens
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] โญ Run Main Install nix
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] ๐ณ docker cp src=/home/zenobius/.cache/act/DeterminateSystems-nix-installer-action@v4/ dst=/var/run/act/actions/DeterminateSystems-nix-installer-action@v4/
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[chown -R 1001:127 /var/run/act/actions/DeterminateSystems-nix-installer-action@v4/] user=0 workdir=
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] โญ Run Main Install Nix
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1-composite-6-composite-0.sh] user= workdir=
| Set NIX_INSTALLER_EXTRA_CONF=experimental-features = ca-derivations fetch-closure
| trusted-users = root
| Set NIX_INSTALLER_URL=https://install.determinate.systems/nix?ci=github
| Set NIX_INSTALLER_LOGGER=pretty
| Set NIX_INSTALLER_DIAGNOSTIC_ENDPOINT=https://install.determinate.systems/nix/diagnostic
| Set NIX_INSTALLER_NO_CONFIRM=true
| % Total % Received % Xferd Average Speed Time Time Time Current
| Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 16008 100 16008 0 0 9717 0 0:00:01 0:00:01 --:--:-- 64032
| info: downloading installer https://install.determinate.systems/nix/tag/v0.14.0/nix-installer-x86_64-linux
| `nix-installer` needs to run as `root`, attempting to escalate now via `sudo`...
| Error:
| 0: Planner error
| 1: Error executing action
| 2: Action `configure_init_service` errored
| 3: Could not detect systemd; you may be able to get up and running without systemd with `nix-installer install linux --init none`.
| See https://github.com/DeterminateSystems/nix-installer#without-systemd-linux-only for documentation on usage and drawbacks.
|
| Location:
| src/cli/subcommand/install.rs:197
|
| Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
| Run with RUST_BACKTRACE=full to include source snippets.
|
| Consider reporting this error using this URL: https://github.com/DeterminateSystems/nix-installer/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+Planner+error%0A+++1%3A+Error+executing+action%0A+++2%3A+Action+%60configure_init_service%60+errored%0A+++3%3A+Could+not+detect+systemd%3B+you+may+be+able+to+get+up+and+running+without+systemd+with+%60nix-installer+install+linux+--init+none%60.%0A++++++See+https%3A%2F%2Fgithub.com%2FDeterminateSystems%2Fnix-installer%23without-systemd-linux-only+for+documentation+on+usage+and+drawbacks.%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**version**%7C0.14.0%7C%0A%7C**os**%7Clinux%7C%0A%7C**arch**%7Cx86_64%7C%0A
[ReleaseManagement/Build ] โ Failure - Main Install Nix
[ReleaseManagement/Build ] exitcode '1': failure
[ReleaseManagement/Build ] โ Failure - Main Install nix
[ReleaseManagement/Build ] exitcode '1': failure
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[node /var/run/act/workflow/hashfiles/index.js] user= workdir=
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[node /var/run/act/workflow/hashfiles/index.js] user= workdir=
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] โ Failure - Main setup jetpack devbox
[ReleaseManagement/Build ] exitcode '1': failure
[ReleaseManagement/Build ] โญ Run Post setup jetpack devbox
[ReleaseManagement/Build ] ๐ณ docker cp src=/home/zenobius/.cache/act/[email protected]/ dst=/var/run/act/actions/[email protected]/
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[chown -R 1001:127 /var/run/act/actions/[email protected]/] user=0 workdir=
[ReleaseManagement/Build ] 'runs-on' key not defined in ReleaseManagement/Build
[ReleaseManagement/Build ] โญ Run Post Install nix
[ReleaseManagement/Build ] ๐ณ docker cp src=/home/zenobius/.cache/act/DeterminateSystems-nix-installer-action@v4/ dst=/var/run/act/actions/DeterminateSystems-nix-installer-action@v4/
[ReleaseManagement/Build ] ๐ณ docker exec cmd=[chown -R 1001:127 /var/run/act/actions/DeterminateSystems-nix-installer-action@v4/] user=0 workdir=
[ReleaseManagement/Build ] โ
Success - Post Install nix
[ReleaseManagement/Build ] โ
Success - Post setup jetpack devbox
[ReleaseManagement/Build ] ๐ Job failed
Error: Job 'Build' failed
I am running a job that works on GitHub but having issues when using act to run locally.
I am using
๐ Start image=ghcr.io/catthehacker/ubuntu:full-20.04
the job definition (leaving out some of it for brevity) is:
jobs:
cypress-run:
runs-on: ubuntu-latest
env:
MIX_ENV: qa
services:
db:
image: postgres:11.5
ports: ["5432:5432"]
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: dpi_qa
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Elixir
uses: erlef/setup-beam@v1
with:
otp-version: 24.0
elixir-version: 1.12.0
- run: mix deps.get --only qa
on the last step here (getting mix dependencies) I get an error:
[Cypress Tests/cypress-run] โ
Success - Setup Elixir
[Cypress Tests/cypress-run] โญ Run mix deps.get --only qa
[Cypress Tests/cypress-run] ๐ณ docker exec cmd=[bash --noprofile --norc -e -o pipefail /Users/pepsi/work/cdna_ui/workflow/2] user=
| warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
| * Getting scrivener_html (https://github.com/jaimeiniesta/scrivener_html.git - origin/relax_phoenix_dep)
| ** (File.Error) could not make directory (with -p) "/Users/pepsi/work/cdna_ui/deps/scrivener_html": no such file or directory
| (elixir 1.12.0) lib/file.ex:316: File.mkdir_p!/1
| (mix 1.12.0) lib/mix/scm/git.ex:98: Mix.SCM.Git.checkout/1
| (mix 1.12.0) lib/mix/dep/fetcher.ex:64: Mix.Dep.Fetcher.do_fetch/3
| (mix 1.12.0) lib/mix/dep/converger.ex:190: Mix.Dep.Converger.all/9
| (mix 1.12.0) lib/mix/dep/converger.ex:201: Mix.Dep.Converger.all/9
| (mix 1.12.0) lib/mix/dep/converger.ex:123: Mix.Dep.Converger.all/7
| (mix 1.12.0) lib/mix/dep/converger.ex:72: Mix.Dep.Converger.all/4
| (mix 1.12.0) lib/mix/dep/converger.ex:51: Mix.Dep.Converger.converge/4
[Cypress Tests/cypress-run] โ Failure - mix deps.get --only qa
Error: exit with `FAILURE`: 1
this error does not happen when I use the ubuntu:act-20.04
image (however that image is missing some other deps I need elsewhere)
It would be nice if the image contained also small utils like less
for easier interaction with the image.
I understand it's not the full image, but I cannot imagineless
would be such a big burden to include in a "medium" image.
Despite #47, images are still using node14, which among other things, is causing nektos/act#1681.
$ docker run --entrypoint /usr/local/bin/node ghcr.io/catthehacker/ubuntu:full-latest --version
> Unable to find image 'ghcr.io/catthehacker/ubuntu:full-latest' locally
> full-latest: Pulling from catthehacker/ubuntu
> Digest: sha256:598b616a8c7ce86d98ee63871cec532f4ff645125b563a8798f2ae1c98928ec7
> Status: Downloaded newer image for ghcr.io/catthehacker/ubuntu:full-latest
> v14.17.6
I also tried docker run --rm --entrypoint node catthehacker/ubuntu:full-latest -v
with the same outcome.
Off topic: any idea why docker run --rm catthehacker/ubuntu:full-latest node -v
doesn't work? I had the impression that the next argument after the docker image is taken as the entrypoint, and everything else as cmd arguments?
Thank you for act and the awesome set of default images to go with it. I'm still new to GitHub actions, so being able to play around locally gives me a bit of extra confidence.
I ran into a error (logs below) with act and the Medium image. I think there are some libraries missing that are needed by dotnet. The repository I was using act with is https://github.com/Tyrrrz/CliFx
I was able to work around the error by setting the environment variable DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 (ref dotnet/core#2186) to the github action. I might take a look later regarding what needs to happen to the docker image to fix, but thought I'd give you a heads up.
Thanks for the great work!
[CI/build-1] โญ Run Install .NET
[CI/build-1] โ git clone 'https://github.com/actions/setup-dotnet' # ref=v1.7.2
[CI/build-1] ๐ณ docker cp src=act/[email protected] dst=/actions/
| [command]/actions/[email protected]/externals/install-dotnet.sh --version 5.0.103
| dotnet_install: Warning: Unable to locate zlib. Probable prerequisite missing; install zlib.
| dotnet_install: Warning: Unable to locate libicu. Probable prerequisite missing; install libicu.
| dotnet_install: Warning: Unable to locate liblttng. Probable prerequisite missing; install libcurl.
| dotnet-install: Downloading link: https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.103/dotnet-sdk-5.0.103-linux-x64.tar.gz
| dotnet-install: Extracting zip from https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.103/dotnet-sdk-5.0.103-linux-x64.tar.gz
| dotnet-install: Adding to current process PATH: `/github/home/.dotnet`. Note: This change will be visible only when sourcing script.
| dotnet-install: Installation finished successfully.
[CI/build-1] โ ::add-path:: /github/home/.dotnet
| /github/home/.dotnet:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[CI/build-1] โ ##[add-matcher]/actions/[email protected]/.github/csc.json
[CI/build-1] โ
Success - Install .NET
[CI/build-1] โญ Run Build & test
| Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
| at System.Environment.FailFast(System.String)
| at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
| at System.Globalization.GlobalizationMode..cctor()
| at System.Globalization.CultureData.CreateCultureWithInvariantData()
| at System.Globalization.CultureData.get_Invariant()
| at System.Globalization.CultureInfo..cctor()
| at System.IO.TextWriter..cctor()
| at System.IO.StreamWriter..ctor(System.IO.Stream, System.Text.Encoding, Int32, Boolean)
| at System.Console.CreateOutputWriter(System.IO.Stream)
| at System.Console.<get_Out>g__EnsureInitialized|25_0()
| at System.Console.get_Out()
| at Microsoft.DotNet.Cli.Utils.Reporter.Reset()
| at Microsoft.DotNet.Cli.Utils.Reporter..cctor()
| at Microsoft.DotNet.Cli.Utils.Reporter.get_Output()
| at Microsoft.DotNet.Cli.Program.ConfigureDotNetForFirstTimeUse(Microsoft.DotNet.Configurer.IFirstTimeUseNoticeSentinel, Microsoft.DotNet.Configurer.IAspNetCertificateSentinel, Microsoft.DotNet.Configurer.IFileSentinel, Boolean, Microsoft.DotNet.Configurer.DotnetFirstRunConfiguration, Microsoft.DotNet.Cli.Utils.IEnvironmentProvider)
| at Microsoft.DotNet.Cli.Program.ProcessArgs(System.String[], Microsoft.DotNet.Cli.Telemetry.ITelemetry)
| at Microsoft.DotNet.Cli.Program.Main(System.String[])
| /github/workflow/2: line 1: 223 Aborted dotnet test --configuration Release --logger GitHubActions
[CI/build-1] โ Failure - Build & test
Error: exit with `FAILURE`: 134
I have a workflow that calls an action that uses node12
. When I attempt to run this workflow with act using either catthehacker/ubuntu:js-latest or catthehacker/ubuntu:act-latest I get
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "node": executable file not found in $PATH: unknown.
This is the same error I get when I run docker run -it --rm ghcr.io/catthehacker/ubuntu:js-letest node
. Node is not in the path, but I think it needs to be for this to work.
I am sure I am missing something, what is it?
I am executing this image with act
.
When I use the version catthehacker/ubuntu:full-20.04
it is failing at the start because it is running as the use runner
and not as a root
.
Note: Interesting the original GitHub action is executing as a runner
that means this copy is very similar to the original (https://github.com/airvzxf/bose-connect-app-linux/runs/2596465956).
$ act -s GITHUB_TOKEN="${GITHUB_TOKEN}" -P ubuntu-latest=catthehacker/ubuntu:full-20.04
[CMake/build] ๐ Start image=catthehacker/ubuntu:full-20.04
[CMake/build] ๐ณ docker run image=catthehacker/ubuntu:full-20.04 platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[]
[CMake/build] โญ Run whoami
| runner
[CMake/build] โ
Success - whoami
[CMake/build] โญ Run actions/checkout@v2
[CMake/build] โ git clone 'https://github.com/actions/checkout' # ref=v2
[CMake/build] ๐ณ docker cp src=/home/wolf/.cache/act/actions-checkout@v2/ dst=/home/wolf/workspace/projects/bose-connect-app-linux/_actions/actions-checkout@v2/
| mkdir: cannot create directory '/home/wolf/workspace/projects/bose-connect-app-linux/_actions': Permission denied
[CMake/build] โ Failure - actions/checkout@v2
Error: exit with `FAILURE`: 1
$ act -s GITHUB_TOKEN="${GITHUB_TOKEN}" -P ubuntu-latest=catthehacker/ubuntu:act-latest
[CMake/build] ๐ Start image=catthehacker/ubuntu:act-latest
[CMake/build] ๐ณ docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[]
[CMake/build] โญ Run whoami
| root
[CMake/build] โ
Success - whoami
[CMake/build] โญ Run actions/checkout@v2
[CMake/build] โ git clone 'https://github.com/actions/checkout' # ref=v2
[CMake/build] ๐ณ docker cp src=/home/wolf/.cache/act/actions-checkout@v2/ dst=/home/wolf/workspace/projects/bose-connect-app-linux/_
actions/actions-checkout@v2/
[CMake/build] โ ::save-state name=isPost,::true
[CMake/build] ๐ฌ ::debug::GITHUB_WORKSPACE = '/home/wolf/workspace/projects/bose-connect-app-linux'
[CMake/build] ๐ฌ ::debug::qualified repository = 'airvzxf/bose-connect-app-linux'
[CMake/build] ๐ฌ ::debug::ref = 'refs/heads/main'
[CMake/build] ๐ฌ ::debug::commit = 'e6b3b1aa5657834e41c022710a33ecc60c5d44b9'
[CMake/build] ๐ฌ ::debug::clean = true
[CMake/build] ๐ฌ ::debug::fetch depth = 1
[CMake/build] ๐ฌ ::debug::lfs = false
[CMake/build] ๐ฌ ::debug::submodules = false
[CMake/build] ๐ฌ ::debug::recursive submodules = false
[CMake/build] โ ::add-matcher::/home/wolf/workspace/projects/bose-connect-app-linux/_actions/actions-checkout@v2/dist/problem-match
name: CMake
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: whoami
- uses: actions/checkout@v2
# More steps added but not showed in this representation.
$ ls -lha
total 68K
drwxr-xr-x 5 wolf users 4.0K May 16 18:57 .
drwxr-xr-x 27 wolf users 4.0K May 14 19:37 ..
-rw-r--r-- 1 wolf users 2.4K May 15 23:40 DETAILS.md
drwxr-xr-x 8 wolf users 4.0K May 16 19:06 .git
drwxr-xr-x 3 wolf users 4.0K May 16 16:49 .github
-rw-r--r-- 1 wolf users 35K May 14 16:14 LICENSE
-rw-r--r-- 1 wolf users 3.2K May 16 16:48 README.md
drwxr-xr-x 10 wolf users 4.0K May 16 18:40 src
-rw-r--r-- 1 wolf users 1.3K May 16 15:53 TODO.md
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.