feat(release): runs-on configurável, overrides por ambiente e QA fora da main [INFRA-71152] #160
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/INFRA-71152-release-runs-on-overrides"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
INFRA-71152: release.yml com runs-on configurável, overrides por ambiente e QA fora da main
Tira os três bloqueios que impedem o DANI de adotar o
release.ymlreusável (DAIS-67971).O que muda
runs_on(padrãodocker) para os jobstagedeploy;deploy_runs_ondo ci-config, que vale só para odeploy;docker; toda expressão termina em|| 'docker'.environments.<env>:script,rollback_script,code_dir,env_dir,containerepublic_url;deploy_*global;ci_config.pyaceita as chaves novas, continua recusando chave desconhecida, e o schema e o exemplo foram atualizados.environments.<qa|dev>.base_branch(ex.:develop) vira oBASEdorelease-tag.sh decidire vai ao host comoBASE_BRANCH, só quando difere demain;main:environments.prod.base_branchcom outro valor reprova na validação;deploy_public_urlde produção, e a verificação pública usa apublic_urldo ambiente (sem ela, é pulada com aviso).⚠️ Antes do próximo release develop→main
runs-onnão provada no act_runner: o comentário antigo dorelease.ymlavisava disso. Os produtos chamam o reusável em@main, então este merge na develop não afeta a frota. Antes do release para a main, é preciso provar a expressão:TMF/ci-sandbox, que não existe ainda);deployusa output deneedsnoruns-on, que é o caso menos garantido.public_urldeixa de conferir a URL de produção. É a correção do bloqueio 3.Testes
tests/release: 458 OK, incluindo o novotest_runs_on_e_qa.py.tests/ci-config: 189 rodados. O novotest_environments_overrides.pypassou. As 2 falhas emtest_heavy_fora_do_prtambém falham na develop (pytest ausente na máquina local).py_compileebash -nOK.🤖 Generated with Claude Code
https://claude.ai/code/session_01ES1xwVdpQV69zEsuLLKzx2
security-reviewer: CLEAN
143a823e1dRevisão diff-first feita pelo agente security-reviewer, só leitura. Não houve achado CRITICAL, HIGH ou MEDIUM.
env:e não são interpolados emrun:;BASE_BRANCHé revalidado no host pordeploy-remoto.sh;deploy_*globais.deploy_base_branch=mainem prod.environments.prod.base_branchdiferente de main.BASE_BRANCHnão vai ao host.deploy_runs_ondeixa o produto escolher o runner do job que recebe os segredos. O label tem pattern restrito; a sugestão é uma allowlist de labels mantida pelo ORG.redo Python, o$aceita um\nfinal. É pré-existente e vale para todas as chaves; a sugestão é trocar por\Z.environments.<env>.expected_hostsó recusa o literaltmfprod. A sugestão é cruzar com odeploy_expected_hostglobal.