DiamondLightSource / DiamondLightSource/python-copier-template

Automate more of the Python upgrade

Aberta
#319 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Jinja
Estrelas
25
Forks
10
Merge médio
4h 4min
PRs com merge (30d)
6

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*\

\[(?[^\\]

]+)\\]

"
],
"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)

Guia de contribuição

Abrir o guia de contribuição

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.

Avaliação

Stack de tecnologia
github-actions, python
Domínio
ci-cd, devops, documentation
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

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