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

Move the changelog to Towncrier fragments and build CHANGELOG.md at each deploy

Aberta
#978 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@anth-volk já está trabalhando nisso.

Desde 28/10/2026.

  • #979 de @anth-volk — aberto

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
github-actions, python
Domínio
ci-cd, release

Direção de pesquisa

Start by reading the existing deploy workflow, especially pr.yml and the workflow that deploys on merges to main, plus changelog_entry.yaml and policyengine-api's Towncrier configuration and release setup. Trace how version bumps, deployment triggers, and the GitHub App token are handled. Done means PRs require a valid fragment, each merge to main produces one release commit and one deploy, and all existing changelog entries appear in CHANGELOG.md.

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

Descrição

Every pull request edits one shared changelog_entry.yaml that nothing reads: no workflow, Make target or script uses it, there is no CHANGELOG.md, nothing parses it in CI (two of its entries are YAML mappings because of an unquoted : ), and it conflicts on every stack rebase. No check requires a changelog entry either.

Move the changelog to Towncrier fragments, as policyengine-api does, and fix what policyengine-api's version gets wrong:

  • Fragments: one or more files per pull request, changelog.d/<name>.<type>.md, with policyengine-api's five types (breaking, added, changed, fixed, removed), configured in a root towncrier.toml.
  • A check on every pull request: a check-changelog job in pr.yml, in CI complete's needs, that fails unless the pull request itself adds a non-empty fragment directly in changelog.d/ with a configured type. policyengine-api's check counts any file anywhere under changelog.d/, so it passed #4084's changelog.d/added/4083.md, which its release then could not read; it also passes a pull request with no fragment while main has pending ones. The check and the release's version bump must share one definition of a fragment.
  • A release at each deploy: on a merge to main, a versioning job raises a repository version from the fragment types, builds CHANGELOG.md with Towncrier, removes the fragments, and pushes one release commit with the GitHub App token. Only that commit deploys; it must not start another release, and each merge must deploy once. Manual dispatch keeps working.
  • History: changelog_entry.yaml's entries move into CHANGELOG.md, with none lost, and the file is removed.
Linguagem predominante
Python
Estrelas
1
Forks
1
Merge médio
1d 19h
PRs com merge (30d)
77

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-sim-api

Todas as issues de PolicyEngine/policyengine-sim-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.