mirror of
https://github.com/melgarafael/DeskcommCRM.git
synced 2026-10-02 01:28:34 +08:00
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
21 lines
792 B
Bash
Executable File
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"
|