How Can We Save Money & Increase Efficiency?
To achieve this, we must find answers to specific questions. One challenge I faced was improving our test and lint workflows even further: "Although I have already enhanced the speed of our test and lint workflows, can I accelerate them more or reduce the costs associated with running them?" The answer came from a project I discovered during my R&D phase—nektos/act. This tool aims to perfectly mimic GitHub Actions, allowing you to make frequent updates and commits without needing to push each change to check if your tests or lints pass.
Installing act
I regularly use Ubuntu 22.04 on WSL2, and your setup might be different. Thus, this guide might not perfectly fit everyone's needs. For more detailed support, please visit the act homepage.
- First, install nektos/act using this command:
- Add it to your PATH:
- At the end of the file, add the following line:
- Apply the changes by running:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
nano ~/.bashrc
export PATH="$HOME/bin:$PATH"
source ~/.bashrc
Act is Installed, Now What?
With act installed, you can now run commands from any directory on your machine. Verify its installation by checking its version with this command:
act --version
Useful act Commands to Remember
Here’s how to list all your workflows:
act -l
This command displays various details about your workflows, like the stage, job ID, job name, and associated files. Here’s an example of what you might see:
Stage | Job ID | Job name | Workflow name | Workflow file | Events 0 | lint | Lint | Lint and Test | lint.yml | push 0 | test | Test PHP | Test Suite | test.yml | push
To run a specific job, use the job ID with the following command:
act -j <Job ID>
By selecting a workflow job ID, you can execute individual tasks efficiently without running the entire workflow. This is a great way to save time and resources during development.
Comments
Post a Comment