Automate more of the Python upgrade
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- github-actions, python
- Domínio
- ci-cd, devops, documentation
Direção de pesquisa
Leia .github/workflows/new_python.yml para entender a checklist atual de atualização do Python e, em seguida, revise renovate.json e decision 0022-spec-0.html. Decida quais etapas de suporte e Deprecation devem ser automatizadas, registre essa decisão no documento vinculado e implemente a automação acordada ou divida o trabalho mais difícil em uma nova Issue.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When a new python version is released we currently have the checklist in https://github.com/DiamondLightSource/python-copier-template/blob/main/.github/workflows/new_python.yml. Many of these steps could be done automatically by renovate e.g. something like:
{
"regexManagers": [
{
"fileMatch": ["^\\.github/workflows/.*\\.ya?ml$"],
"matchStrings": [
"python-version:\\s*\
\[(?<currentVersions>[^\\]
]+)\\]
"
],
"datasourceTemplate": "python",
"depNameTemplate": "python",
"versioningTemplate": "pep440"
}
]
}
in the renovate.json should update the versions under test.
There are probably differing opinions of how much of this we do automatically, semi-automatically or manually based on risk. My preference would be to split the move into two steps:
- Adding the new version as supported - e.g. adding it to the versions under test and to the
classifiers. I would say if the tests pass then merge this w/o human input - Deprecating the old one. I think this does need human intervention as it's risky and there may be valid reasons it's hard. However, we can probably still get renovate to make the PR for it.
Acceptance Criteria
- We decide how much of the process should be automated
- The decision is written in https://diamondlightsource.github.io/python-copier-template/main/explanations/decisions/0022-spec-0.html
- We automate the agreed upon steps (or make a new issue if hard)
- Linguagem predominante
- Jinja
- Estrelas
- 25
- Forks
- 10
- Merge médio
- 4d 17h
- PRs com merge (30d)
- 7
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de DiamondLightSource/python-copier-template
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 68/100
-
documentation good first issue
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 70/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Todas as issues de DiamondLightSource/python-copier-template
Issues semelhantes
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
openclaw/openclaw#163172 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
backend/docker P3 tool/browser tool/vision type/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
NousResearch/hermes-agent#131082 ·
Mantenedores costumam responder em até 1 dia
-
documentation priority: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
snapotter-hq/SnapOtter#1863 ·
Mantenedores costumam responder em até 1 dia
-
area/ecosystem area/ybd kind/enhancement priority/medium status/awaiting-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
yugabyte/yugabyte-db#34543 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
valkey-io/valkey-helm#265 ·
Mantenedores costumam responder em até 2 dias