local-action-verification

使用 act 设置本地 GitHub Actions 验证仓库,以便 Jules 在推送前验证 CI

npx skills add https://github.com/google-labs-code/jules-skills --skill local-action-verification

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:

  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:

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:

## 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:

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

来自 google-labs-code 的更多技能

remotion
google-labs-code
使用Remotion从Stitch应用设计创建专业演示视频,包含流畅转场和文字叠加。从Stitch项目中获取屏幕画面,编排成Remotion视频合成,支持缩放效果、淡入淡出转场和上下文文字叠加。支持模块化组件架构,包含ScreenSlide和WalkthroughComposition组件,以及交互式热点和画外音集成等高级功能。生成屏幕清单,下载...
official
ink
google-labs-code
用于 json-render 的 Ink 终端渲染器,可将 JSON 规范转换为交互式终端用户界面。在使用 @json-render/ink 构建终端用户界面时使用。
official
stitch-sdk-pipeline
google-labs-code
运行完整的Stitch SDK生成流水线。当添加新工具或需要从头到尾重新生成SDK时使用。
official
stitch-sdk-readme
google-labs-code
为Stitch SDK生成或更新README。使用Bookstore Test结构,并从代码库中获取当前API。在README需要…时使用。
official
typed-service-contracts
google-labs-code
Architecture standard for building robust, type-safe TypeScript services using the "Spec and Handler" pattern. Use when building CLIs, libraries, or complex…
official
agent-dx-cli-scale
google-labs-code
一种评分量表,用于根据“为AI代理重写你的CLI”原则评估CLI为AI代理设计的优劣程度。
official
ink
google-labs-code
Ink terminal renderer for json-render that turns JSON specs into interactive terminal UIs. Use when working with @json-render/ink, building terminal UIs from…
official
stitch-sdk-bug-bash
google-labs-code
使用真实API密钥查找Stitch SDK中的错误。涵盖标准功能边界和棘手情况。
official