local-action-verification

Thiết lập một kho lưu trữ để xác minh GitHub Actions cục bộ bằng act, giúp Jules có thể kiểm tra CI trước khi đẩy lên

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

Thêm skills từ google-labs-code

typed-service-contracts
google-labs-code
Tiêu chuẩn kiến trúc để xây dựng các dịch vụ TypeScript mạnh mẽ, an toàn kiểu dữ liệu bằng mẫu "Spec and Handler". Dùng khi xây dựng CLI, thư viện hoặc các hệ thống phức tạp…
stitch::code-to-design
google-labs-code
Chuyển đổi mã frontend (Vite, React, v.v.) thành một Stitch Design bằng cách kết nối trích xuất HTML tĩnh, trích xuất hệ thống thiết kế và tải tệp lên. **LUÔN** sử dụng điều này…
react-vite-dashboard
google-labs-code
Chuyển đổi thiết kế Stitch thành dashboard React + Vite cho production với TanStack Query, token truy cập từ DESIGN.md, và các pattern sẵn sàng cho Web3 (ethers/viem).
stitch::extract-design-md
google-labs-code
Trích xuất hệ thống thiết kế toàn diện (DESIGN.md) trực tiếp từ mã nguồn frontend — React, Vue, Svelte, Angular, HTML/CSS thuần, hoặc bất kỳ framework web nào.…
remotion
google-labs-code
Tạo video hướng dẫn chuyên nghiệp từ thiết kế ứng dụng Stitch bằng Remotion với hiệu ứng chuyển cảnh mượt mà và lớp phủ văn bản. Lấy màn hình từ các dự án Stitch và sắp xếp chúng thành các tổng hợp video Remotion với hiệu ứng thu phóng, chuyển tiếp mờ dần và lớp phủ văn bản theo ngữ cảnh. Hỗ trợ kiến trúc thành phần mô-đun với các thành phần ScreenSlide và WalkthroughComposition, cùng các tính năng nâng cao như điểm tương tác nóng và tích hợp lồng tiếng. Tạo bản kê khai màn hình, tải xuống...
ink
google-labs-code
Trình kết xuất terminal Ink cho json-render, chuyển đổi các đặc tả JSON thành giao diện terminal tương tác. Sử dụng khi làm việc với @json-render/ink, xây dựng giao diện terminal từ…
tdd-red-green-refactor
google-labs-code
Kỹ năng này triển khai một khung cấu trúc cho lập trình có hỗ trợ AI nhằm đảm bảo mọi dòng mã đều có thể kiểm chứng, được định kiểu và có mục đích.
automate-github-issues
google-labs-code
Thiết lập phân loại và giải quyết vấn đề GitHub tự động bằng cách sử dụng các tác nhân mã hóa Jules song song