local-action-verification

Configurar um repositório para verificação local de GitHub Actions usando act, para que Jules possa validar a CI antes de enviar

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

Mais skills de google-labs-code

remotion
google-labs-code
Crie vídeos de walkthrough profissionais a partir de designs do aplicativo Stitch usando Remotion, com transições suaves e sobreposições de texto. Recupera telas de projetos Stitch e as organiza em composições de vídeo Remotion com efeitos de zoom, transições de fade e sobreposições de texto contextuais. Suporta arquitetura de componentes modulares com componentes ScreenSlide e WalkthroughComposition, além de recursos avançados como hotspots interativos e integração de narração. Gera manifestos de tela, baixa...
official
ink
google-labs-code
Renderizador de terminal Ink para json-render que transforma especificações JSON em UIs de terminal interativas. Use ao trabalhar com @json-render/ink, construindo UIs de terminal a partir de…
official
stitch-sdk-pipeline
google-labs-code
Execute o pipeline completo de geração do Stitch SDK. Use quando uma nova ferramenta for adicionada ou o SDK precisar ser regenerado do início ao fim.
official
stitch-sdk-readme
google-labs-code
Gerar ou atualizar o README do Stitch SDK. Use a estrutura do Bookstore Test e obtenha a API atual a partir do código-fonte. Use quando o README precisar…
official
typed-service-contracts
google-labs-code
Padrão de arquitetura para construir serviços TypeScript robustos e type-safe usando o padrão "Spec and Handler". Use ao construir CLIs, bibliotecas ou projetos complexos…
official
agent-dx-cli-scale
google-labs-code
Uma escala de pontuação para avaliar o quão bem uma CLI é projetada para agentes de IA, baseada nos princípios de "Reescreva sua CLI para Agentes de IA".
official
ink
google-labs-code
Renderizador de terminal para json-render que transforma especificações JSON em interfaces de terminal interativas. Use ao trabalhar com @json-render/ink, criando interfaces de terminal a partir de…
official
stitch-sdk-bug-bash
google-labs-code
Encontre bugs no SDK da Stitch usando uma chave de API real. Cobre bordas funcionais padrão e situações complicadas.
official