We have used this many times during GitHub outages. It's great and does what it says. But just one word of warning: when you run `act` with no arguments, what does it do? Displays usage? Nope -- it runs all workflows defined in the repo, all at once in parallel! This seems like a crazy default to me. I've never wanted to do anything remotely like that, so it just seems both dangerous and inconvenient all at once. Nic…
Act: Run your GitHub Actions locally
121–130 of 161 posts
Re: Act: Run your GitHub Actions locally
#122We have used this many times during GitHub outages. It's great and does what it says. But just one word of warning: when you run `act` with no arguments, what does it do? Displays usage? Nope -- it runs all workflows defined in the repo, all at once in parallel! This seems like a crazy default to me. I've never wanted to do anything remotely like that, so it just seems both dangerous and inconvenient all at once. Nic…
It was indeed very unexpected. The first time you would try out a cli tool you’d expect just calling its name to return help info and maybe an error.
Use --help for help info.
Re: Act: Run your GitHub Actions locally
#123This does make me wonder if you could create a sort of "local first CI" where CI is just an extension of local checks. Therefore the CI is just a check that tests that pass locally also pass on a clean machine. Obviously we don't want to run CI locally if it'd take an hour, but on the flip side, if CI takes an hour on a (typically) beefy local dev machine, it'll probably take 2 hours on a remote machine.
Re: Act: Run your GitHub Actions locally
#124Any chance for rebasing it to upsteam?
Re: Act: Run your GitHub Actions locally
#125I’ve been playing with Act but I find it’s slower to run locally on my M1 MacBook than it is to just push things up to github to run. Edit: also, why does it run things as root instead of with a use set up the same way as actions?
Seems like the documentation is a little bit hard to find.
Re: Act: Run your GitHub Actions locally
#126Re: Act: Run your GitHub Actions locally
#127I really really want to use this but it doesn't work with podman which is unfortunately a bit of a blocker. IMO every CI system should be runnable locally, with minimum effort. Otherwise you end up testing via git push and that's just an ugly development cycle. This does make me wonder if you could create a sort of "local first CI" where CI is just an extension of local checks. Therefore the CI is just a check that t…
It’s designed to work “locally” pre-commit, giving you super fast tests, but then when you push you can also use it in your CI/CD pipeline.
We achieve the speed with massive concurrency and pre-built environments, it was built as a drop in replacement for your local test runner.
Re: Act: Run your GitHub Actions locally
#128This piece of software would have to handle all the intricacies of the GitHub actions but also be updated to the latest changes... We are moving back to a makefile based approach that is called by the GitHub workflows. We can handle different levels of parallelism: the make kind or the indexed by worker number when running in actions. That way we can test things locally, we can still have 32 workers on GitHub to run…
Is this public?
Re: Act: Run your GitHub Actions locally
#129With Gitlab CI you can run pipeline locally if you install gitlab-runner. Sadly, you can run only one job at a time, not the whole pipeline
Re: Act: Run your GitHub Actions locally
#130I really really want to use this but it doesn't work with podman which is unfortunately a bit of a blocker. IMO every CI system should be runnable locally, with minimum effort. Otherwise you end up testing via git push and that's just an ugly development cycle. This does make me wonder if you could create a sort of "local first CI" where CI is just an extension of local checks. Therefore the CI is just a check that t…
Super interesting you mention “local first CI”. Have a look at Brisk https://brisktest.com/ (I’m the author). It’s designed to work “locally” pre-commit, giving you super fast tests, but then when you push you can also use it in your CI/CD pipeline. We achieve the speed with massive concurrency and pre-built environments, it was built as a drop in replacement for your local test runner.