local-action-verification
Set up a repository for local GitHub Actions verification using act, so Jules can validate CI before pushing
Savant verdict: Review advised
Security analysis or source-hub review identified patterns requiring attention.
Live evaluation
Not evaluated yet. Workspaces can request a live evaluation.
Security assessment
Scan pending.
Structure
- 2 referenced files aren't in the packagescripts/act/install-act.sh, scripts/act/run-act.sh. They may be binary, too large to catalog, or missing upstream.
- Ships 2 executable scriptsscripts/install-act.sh, scripts/run-act.sh. Review what they do before enabling the skill for agents with tool access.
- No license declaredConfirm you may reuse this skill before importing it into your repository.
- The source hub's security checks flagged this skillGen Agent Trust Hub: fail (This skill sets up a development environment for running GitHub Actions locally. It downloads and executes an installation script from a third-party GitHub repository using administrative privileges (sudo) and performs remote code execution via curl piped to bash.); Socket: warn (1 alert: gptSecurity); Runlayer: warn (5/5 files flagged)
SKILL.md
--- name: local-action-verification description: Set up a repository for local GitHub Actions verification using act, so Jules can validate CI before pushing allowed-tools: - "Bash" - "Read" - "Write" --- # 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](https://github.com/nektos/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: 1. **install-act.sh** — Installs `act` if missing (platform-aware, sudo fallback) 2. **run-act.sh** — Runs `act` in the background with log polling to avoid agent timeouts 3. **AGENTS.md section** — Instructions Jules reads to know how to use these scripts ## 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: ```bash 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: ```markdown ## Local CI Verification Before pushing code or opening a PR, verify changes pass CI locally using `act`. ### Prerequisites - Docker must be running - If `act` is not installed, run: `bash scripts/act/install-act.sh` ### How to Verify 1. Read `.github/workflows/` to find the CI workflow and identify the job ID 2. Run the verification script: ```bash bash scripts/act/run-act.sh "push -j <JOB_ID>" ``` 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: ```bash rm -f act_output.log git checkout <any unintended file changes> ``` ### 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-bookworm` in 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 ## Troubleshooting - **Docker not running**: `act` requires Docker. Ensure the Docker daemon is started. - **Image pull slow**: First run downloads ~2GB+. Use `-P ubuntu-latest=node:20-bookworm` for faster pulls. - **ARM64 issues**: On Apple Silicon, add `--container-architecture linux/amd64` to act arguments. - **Secrets required**: Create a `.secrets` file and pass `--secret-file .secrets` in the act arguments. - **Timeout**: Increase with `ACT_TIMEOUT=1200 bash scripts/act/run-act.sh "..."`. ## Resource References - [Troubleshooting Guide](resources/troubleshooting.md) — Detailed solutions for common issues