Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Releases do not check that each environment calls its own simulation service

Aberta
#4,002 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 3 dias

@anth-volk já está trabalhando nisso.

Desde 21/10/2026.

  • #4003 de @anth-volk — aberto

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
46/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
github-actions, python

Direção de pesquisa

Start by reading the staging and production model-version alignment jobs and the release workflow jobs that depend on them. Check how each job requests /health and reads response headers, then identify how the expected environment is represented in Cloud Run revision names. Done means each job fails for a missing or opposite-environment revision, and staging live simulation tests use the staging endpoint after the secret is updated.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

What

The Public API's staging environment calls the production Simulation Entrypoint. Its staging environment secret SIMULATION_ENTRYPOINT_URL resolves to https://simulation.api.policyengine.org, the same URL as production. As a result, the release workflow's live simulation tests against the staging candidate send their economy, budget-window and job requests to production simulation infrastructure, and staging simulation infrastructure receives none of them.

Nothing in the release workflow notices this. The staging and production model-version alignment jobs only ask the configured URL which bundle it supports; they never check which environment's service answers.

Wanted result

  • Each release checks that it calls its own environment's Simulation Entrypoint. The staging and production model-version alignment jobs read the x-policyengine-simulation-revision header from the selected URL's /health response, and fail if the Cloud Run revision belongs to the other environment's service, or if no revision is named.
  • Because every staging and production deploy job needs these alignment jobs, a release whose environments are crossed stops before it deploys.
  • Once the staging secret points at the staging Simulation Entrypoint, the staging live simulation tests run against staging simulation infrastructure and the staging Modal environment.

Order

The staging secret must first be changed to the staging Simulation Entrypoint's stable URL (after confirming that URL's /health names a policyengine-simulation-entry-staging-… revision). If the check merges before that change, every release fails at its staging alignment job.

Linguagem predominante
Python
Estrelas
18
Forks
33
Merge médio
2d 18h
PRs com merge (30d)
36

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de PolicyEngine/policyengine-api

Todas as issues de PolicyEngine/policyengine-api

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.