local-action-verification

작성자: google-labs-code

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의 다른 스킬

typed-service-contracts
google-labs-code
Spec and Handler" 패턴을 사용하여 견고하고 타입 안전한 TypeScript 서비스를 구축하기 위한 아키텍처 표준입니다. CLI, 라이브러리 또는 복잡한…
stitch::code-to-design
google-labs-code
프론트엔드 코드(Vite, React 등)를 정적 HTML 추출, 디자인 시스템 추출, 파일 업로드를 연쇄적으로 수행하여 Stitch Design으로 변환합니다. **항상** 이 방법을 사용하세요…
react-vite-dashboard
google-labs-code
Stitch 디자인을 TanStack Query, DESIGN.md의 접근 가능한 토큰, Web3 준비 패턴(ethers/viem)과 함께 프로덕션 React + Vite 대시보드로 변환합니다.
stitch::extract-design-md
google-labs-code
프론트엔드 소스 코드(React, Vue, Svelte, Angular, 일반 HTML/CSS 또는 모든 웹 프레임워크)로부터 포괄적인 디자인 시스템(DESIGN.md)을 직접 추출합니다.
remotion
google-labs-code
Stitch 앱 디자인에서 Remotion을 사용하여 부드러운 전환과 텍스트 오버레이가 포함된 전문 워크스루 비디오를 제작합니다. Stitch 프로젝트에서 화면을 가져와 확대 효과, 페이드 전환, 상황별 텍스트 오버레이와 함께 Remotion 비디오 구성으로 오케스트레이션합니다. ScreenSlide 및 WalkthroughComposition 컴포넌트를 포함한 모듈식 컴포넌트 아키텍처와 대화형 핫스팟 및 음성 해설 통합과 같은 고급 기능을 지원합니다. 화면 매니페스트를 생성하고 다운로드합니다...
ink
google-labs-code
Ink 터미널 렌더러로, JSON 사양을 대화형 터미널 UI로 변환합니다. @json-render/ink로 작업하거나 터미널 UI를 구축할 때 사용하세요.
tdd-red-green-refactor
google-labs-code
이 스킬은 AI 지원 프로그래밍을 위한 구조적 프레임워크를 구현하여 모든 코드 라인이 검증 가능하고, 타입이 지정되며, 목적에 부합하도록 보장합니다.
automate-github-issues
google-labs-code
병렬 Jules 코딩 에이전트를 사용하여 자동화된 GitHub 이슈 분류 및 해결 설정