mirror of
https://github.com/nektos/act.git
synced 2026-04-26 01:15:51 +03:00
[GH-ISSUE #706] Enhancement: Use act as a self-hosted runner for github actions #447
Labels
No labels
area/action
area/cli
area/docs
area/image
area/runner
area/workflow
backlog
confirmed/not-planned
kind/bug
kind/discussion
kind/external
kind/feature-request
kind/question
meta/duplicate
meta/invalid
meta/need-more-info
meta/resolved
meta/wontfix
meta/workaround
needs-work
pull-request
review/not-planned
size/M
size/XL
size/XXL
stale
stale-exempt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/act#447
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ChristopherHX on GitHub (May 25, 2021).
Original GitHub issue: https://github.com/nektos/act/issues/706
Originally assigned to: @cplee, @catthehacker, @ChristopherHX on GitHub.
Some people want to have more platform support for self-hosted runners than dotnet provides. What about reusing the runner of act to create a self-hosted runner written in go?
I have written a proof of concept prototype which (partially) implements github's / microsoft's proprietary azure pipelines protocol and executes the job via act.
Does this fit into the goals of act?
I guess this breaks
from the ReadMe.
I thinks this improves compatibility for workflows tested against act, because less lines of the workflow are interpreted by github.
My problems using act as library are:
What works
Sample Test Run of my prototype:

My prototype currently doesn't have a cli parser and needs small code changes to be registered against github or my own actions server, Implemented now@igagis commented on GitHub (Jul 15, 2021):
I'm trying @ChristopherHX 's runner at the moment, it looks very promising for my needs.
@catthehacker commented on GitHub (Jul 26, 2021):
I don't see it happening in a near future. I assigned us to this but it's not something that is planned to be implemented in
act.It would be nice to see if there is any demand for it but
actis mostly useful to eliminate the need to trigger GitHub Actions.I've also explained here why it's not recommended for now to do such things.
The ultimate priority for now is to match full compliance with GitHub Actions workflow behaviour, since we still have a lot of issues with that (e.g.:
env:not properly parsed).@igagis commented on GitHub (Jul 26, 2021):
I'm currently using @ChristopherHX 's runner based on
actdue to some bug in official github runner, and it doesn't seem like they will fix it anytime soon, see https://github.com/actions/runner/issues/1168.@catthehacker commented on GitHub (Jul 26, 2021):
By demand, I meant volume of it, and quite a big one if we want to consider implementing such big change at all.
@ChristopherHX commented on GitHub (Jul 26, 2021):
Well I have implemented it already, so it will keep a different Project for now.
There is no need to change the existing code of act, other than make it to match github actions more closely. For example the timeout-minutes is an interger, but it is an expression on github actions.
The protocol could live in an external github repo, then only some step translations needs to be intergrated into act.
@catthehacker commented on GitHub (Jul 26, 2021):
@StevenACoffman commented on GitHub (Feb 21, 2022):
@ChristopherHX I was wondering how much more remains to be upstreamed from your fork to make
nektos/actmatch github actions more closely? I use both your fork andnektos/actand would love to have the diff be as small as possible@catthehacker would you be supportive of this incorporating the step translations into
nektos/act(with a flag or something to disable it by default)?@catthehacker commented on GitHub (Feb 21, 2022):
if it will be useful for
act, then I don't see why it would be under a flag.@ChristopherHX commented on GitHub (Feb 21, 2022):
More or less this is still pending
nektos/acthas only a docker implementation. I added a hostexecutor which implements the current container interface.Depends on runtime actpath, since without container runtime we get path collision if running > 1 jobs parallel
nektos/actcannot callcmdon windows without any errorcannot bind to http://github.localhost ( only https://github.localhost works ) The offical runner supports this
http://gitea.localhost/api/v1. The offical runner supports this--rmto the jobexecutor, to make shure we don't skip cleanupThis is more or less optional, I meant only quality / usablilty improvements.
Technically if only the docker executor is required, We could skip over to
nektos/actnektos/actconfigure,removeandruncommands for selfhosted runner supportI'm not shure if this would confuse some people, after
nektos/acthas these subcommands.@ChristopherHX commented on GitHub (Feb 4, 2025):
Abandoning
@Flash303 commented on GitHub (May 22, 2025):
So sad, it's a great feature
@ChristopherHX commented on GitHub (May 22, 2025):
I might left you in the dark, by my statement
Project github-act-runner continues independent of nektos/act, just merging no longer planned.
Read more here https://github.com/ChristopherHX/github-act-runner.
@Flash303 commented on GitHub (May 22, 2025):
Thanks