Automate more of the Python upgrade
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- github-actions, python
- Bereich
- ci-cd, devops, documentation
Rechercherichtung
Lies .github/workflows/new_python.yml, um die aktuelle Python-Upgrade-Checkliste zu verstehen, und überprüfe anschließend renovate.json und decision 0022-spec-0.html. Entscheide, welche Support- und Deprecation-Schritte automatisiert werden sollten, halte diese Entscheidung im verknüpften Dokument fest und implementiere die vereinbarte Automatisierung oder teile schwierigere Arbeiten in ein neues Issue auf.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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)
- Vorherrschende Sprache
- Jinja
- Sterne
- 25
- Forks
- 9
- Ø Merge
- 4 Std. 36 Min.
- Gemergte PRs (30 T.)
- 4
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus DiamondLightSource/python-copier-template
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
-
documentation good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Alle Issues in DiamondLightSource/python-copier-template
Ähnliche Issues
-
Status: Untriaged
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
components-web-app/docs#195 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
zerocracy/judges-action#2733 ·
Maintainer antworten meist innerhalb von 8 Tagen
-
windows-latest CI red on master: #2605 bundle-patch test breaks under CRLF checkout (dsh.bundle.patch.yml missing from .gitattributes eol=lf)Evtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
ranxianglei/billion-context#2623 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
dependencies feature github_actions good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
wemake-services/wemake-django-template#3149 ·
Maintainer antworten meist innerhalb von 1 Tag