
local-action-verification
โ 78by google-labs-code ยท part of google-labs-code/jules-skills
Set up a repository for local GitHub Actions verification using act, so Jules can validate CI before pushing
Set up a repository for local GitHub Actions verification using act, so Jules can validate CI before pushing
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates โ shown here so you can audit it before installing. You don't need to read it to use the skill.
by google-labs-code
Set up a repository for local GitHub Actions verification using act, so Jules can validate CI before pushing
npx skills add https://github.com/google-labs-code/jules-skills --skill local-action-verification
Download ZIPGitHub78
Local Action Verification with act
You are setting up a repository so that Jules (or any agent) can run GitHub Actions workflows locally using act to verify code changes pass CI before pushing.
What You're Setting Up
Two scripts and an agents.md section that enable local CI verification:
-
install-act.sh โ Installs
actif missing (platform-aware, sudo fallback) -
run-act.sh โ Runs
actin the background with log polling to avoid agent timeouts -
AGENTS.md section โ Instructions Jules reads to know how to use these scripts
Local CI Verification
Before pushing code or opening a PR, verify changes pass CI locally using act.
Prerequisites
- Docker must be running
- If
actis not installed, run:bash scripts/act/install-act.sh
How to Verify
- Read
.github/workflows/to find the CI workflow and identify the job ID - Run the verification script:
bash scripts/act/run-act.sh "push -j "
With matrix: bash scripts/act/run-act.sh "push -j <JOB_ID> --matrix <KEY>:<VALUE>"
3. If the run fails, read the log output, fix the code, and re-run
4. After verification, clean up:
rm -f act_output.log
git checkout
Configuration
-
Timeout:
ACT_TIMEOUT=900 bash scripts/act/run-act.sh "..."(default: 600s) -
Poll interval:
ACT_POLL=15 bash scripts/act/run-act.sh "..."(default: 10s) -
Custom image: pass
-P ubuntu-latest=node:20-bookwormin the arguments for faster pulls
### Step 3: Update .gitignore
Append these entries to `.gitignore` if they don't already exist:
act artifacts
act_output.log .secrets
### Step 4: Print next steps for the user
Tell the user:
1. Docker must be installed and running on any machine (or Jules VM) where verification runs
2. `act` will be auto-installed on first use via `scripts/act/install-act.sh`
3. If workflows require secrets, create a `.secrets` file (KEY=VALUE format) โ never commit it
4. Commit all generated files
## Resource References
- [Troubleshooting Guide](resources/troubleshooting.md) โ Detailed solutions for common issues
npx skills add https://github.com/google-labs-code/jules-skills --skill local-action-verificationRun this in your project โ your agent picks the skill up automatically.
Setup Steps
Step 1: Copy scripts to the repository
Copy the scripts/ directory from this skill into the target repository at scripts/act/:
Target structure:
scripts/act/
โโโ install-act.sh
โโโ run-act.sh
Make sure the scripts are executable:
chmod +x scripts/act/install-act.sh scripts/act/run-act.sh
Step 2: Add instructions to AGENTS.md
Append the following section to the repository's AGENTS.md file (create it if it doesn't exist). This is how Jules discovers the local verification capability:
Troubleshooting
- Docker not running:
actrequires Docker. Ensure the Docker daemon is started. - Image pull slow: First run downloads ~2GB+. Use
-P ubuntu-latest=node:20-bookwormfor faster pulls. - ARM64 issues: On Apple Silicon, add
--container-architecture linux/amd64to act arguments. - Secrets required: Create a
.secretsfile and pass--secret-file .secretsin the act arguments. - Timeout: Increase with
ACT_TIMEOUT=1200 bash scripts/act/run-act.sh "...".