Files
PessoaandClaude Opus 5 9ecf89ab0b ci: e2e só quando o PR alcança, e vagas próprias para o trabalho nosso
Medido de 15 a 18/09/2026 (8.090 jobs): o e2e consome 56% dos minutos de
runner, e um push de PR pede ~19 tarefas contra um teto de 20 (40 com o Pro).

- e2e-alcance: responde em segundos se o PR alcança algo que o e2e mede
  (scripts/pr-alcanca-o-e2e.sh, lista de quem NÃO alcança, na dúvida roda).
  As três partes pulam só com e2e=nao em pull_request, e o agregador `e2e`
  só aceita esse pulo — matriz inteira executada em
  e2e-so-aceita-pulo-declarado.test.ts. 25 dos 200 PRs recentes pulariam.
- Executor próprio: os jobs pesados vão para `deskcomm-proprio` quando a
  variável EXECUTOR_PROPRIO vale `ligado` e o trabalho é nosso (push na main
  ou PR de branch deste repo). Inerte até a variável existir. Publicação na
  main nunca vai para a máquina. A guarda contra fork mora na máquina
  (hook de entrada do runner), porque fork reescreve o runs-on.
- infra/executor-proprio/: imagem da vaga (sysbox, um Docker por vaga, um
  contêiner descartável por job, runner JIT de uso único), serviço por vaga,
  instalador e atualização semanal.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4wfiPiZoHuH22wXn4spAj
2026-09-18 15:22:25 -03:00

21 lines
792 B
Bash
Executable File

#!/usr/bin/env bash
# Sobe o Docker de DENTRO da vaga (o sysbox isola um daemon por contêiner, sem
# --privileged) e entrega o controle ao runner do GitHub para exatamente UM job.
# A configuração JIT chega por variável e sai do ambiente antes do runner
# começar: o job herda o ambiente do processo do runner.
set -euo pipefail
cfg="${JIT_CONFIG:-}"
unset JIT_CONFIG
[ -n "$cfg" ] || { echo "entrypoint: JIT_CONFIG vazio — nada a fazer" >&2; exit 1; }
dockerd >/var/log/dockerd.log 2>&1 &
for _ in $(seq 1 60); do
docker info >/dev/null 2>&1 && break
sleep 1
done
docker info >/dev/null 2>&1 || { echo "entrypoint: dockerd não subiu em 60s" >&2; tail -50 /var/log/dockerd.log >&2; exit 1; }
cd /home/runner/actions-runner
exec runuser -u runner -- ./run.sh --jitconfig "$cfg"