At the time of writing the most preferred method is nektos/act
Act is a great tool but it is not perfect, not yet.
Bear in mind, there is strong possibility you will plan to migrate from GitHub Actions
to something new in the next 24/36 months.
What you need is to avoid a vendor lock-in by using the vendor-specific tools/language they provide. The goal is to run the same configuration locally and in GitHub Actions with zero changes and been able to migrate on another tool of choice in the future without re-writing everything.
Create a k3d environment and deploy Drupal as an example application:
act -r
will deploy the cluster the first time.
The next time you run
act -r
your cluster will update.
You must have docker installed.
-
Install act: https://github.com/nektos/act#installation
-
Fork or git clone the repo:
git clone https://github.com/J0hn-B/k3d_act.git
-
cd k3d_act
-
act -r
deploy for first time -
From your editor go to
.github/workflows/k3d_runner.yml
and uncomment Install Helm charts action. -
act -r
update the cluster -
Push to your repo and check the actions tab.