-
-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
uses: docker://...
fails with "No such container"
#200
Comments
I'm using 0.9.0 binaries on Debian bookworm aarch64. |
I'm aware of beeing unable to use docker actions like (docker://) when running on Host See table https://github.com/christopherhx/github-act-runner#dependencies I considered this a niche usecase in 2021, due to most platform that are 100% unsupported by GitHub itself lack docker support Some unmentioned problems for docker actions
This can be considered to be implemented. I wonder what are your reasons to land here for the linux runner, since your example uses officially supported architectures? |
ARM64 Alpine is not supported by GitHub (and so there is no node binary it can copy into the container). |
Yes this ist true. For short term |
Yes, but I also use armv7 and i386 containers, which don't have a valid node. |
I am not sure I understand your problem. The error you are seeing with on: push
jobs:
test:
runs-on: github-act-runner
container: node:20-alpine # temporary unblocks docker://, needs `node` in path (this is unlike actions/runner)
steps:
- uses: docker://i386/debian:stable-backports # any image you want no node
with:
args: ""
entrypoint: "" If you want a custom i386 image for the job container, install To use docker:// outside of any job container, can take a while for beeing implemented by me in github-act-runner. I could include this in release 1.0.0. _Unrelated to github-act-runner, my fork of actions/runner aka https://github.com/ChristopherHX/runner.server, supports i386 images with node actions and running on alpine. While arm64 alpine docker images are still blocked, which I could consider to allow. |
This is not possible. Node does not support i386 or armv7 anymore. There is no node20 binary anywhere. And lots of actions have started failing if you don't have a recent node anymore. |
Ah ok, but latest armv7 (and v6) node20 is available in docker hub https://hub.docker.com/layers/library/node/20-alpine/images/sha256-6903d06620aa69644a02d9c84038cdf909deaa1cebb8724829dc05d66151f8e6. A statically linked node20 (as node) for x86_64 in an otherwise i386 image would be a workaround at least I would think as almost all my x86 devices understand the 64bit execution set.
I have a different outcome, it might be not be the latest node20 binary however it is node20 Here is a i386 node binary (yes the c# code hides the link), my actions/runner fork should be able to run node20 actions on i386 images that are not alpine. You need to download a nightly of my runner fork from runner ci, I didn't have that entry in my last release
Do they fail with older node20 versions as well? |
Update for node 22 you seem to be correct the x86 unofficial binaries are no longer available for that major version, while actions would skip this lts and wait for node 24 to be available for ca. 1 year or more to switch |
Pipeline: https://github.com/haskell/ghcup-hs/actions/runs/12536865845/job/34960342646#step:9:2
Workflow: https://github.com/haskell/ghcup-hs/blob/54e171ff35fc7b467709ed6982bc5cfcae7d8c91/.github/workflows/release.yaml#L134
This works fine with github runners.
It is not the same as using the
container:. ..
feature. With the container feature, everything is run inside the container, including actions (like checkout). With the above syntax, only the step itself is run in the container. This is useful if the container does not support node20 (e.g. debian i386).From what I see the issue might be how it sets up the network here:
In workflows with the
container
syntax, it appears to setnetwork=host
(see here). So why it's doing this here?The text was updated successfully, but these errors were encountered: