[CI]: Let a patch or minor release edit only `__about__.py`
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 64/100
Piste de recherche
Read RELEASING.md, the conformance package pyproject.toml files, .github/tests/otel_lifecycle_compatibility_test.py, .github/tests/otel_legacy_registration_rejection_test.py, and .github/scripts/install_otel_test_wheels.py. Trace how package versions are installed and checked, then run the acceptance commands after changing each package version independently. Done means those lanes pass without editing the version pins or assertions for patch and minor releases.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Found while reviewing PR #876: release SDK 3.0.1.
Problem
RELEASING.md says a release bumps __version__ in __about__.py. A core release must also edit five other files, or CI fails:
packages/aws-durable-execution-sdk-python-conformance-tests{,-otel,-telemetry}/pyproject.tomlpinaws-durable-execution-sdk-python==3.0.1..github/tests/otel_lifecycle_compatibility_test.pyand.github/tests/otel_legacy_registration_rejection_test.pyassert that the installed core version is3.0.1.
PR #738: release SDK 2.0.1 needed the same pin edits. The conformance packages also pin otel ==2.0.0 and telemetry-exporter ==1.0.0. The lifecycle test also asserts otel 2.0.0. So otel and telemetry-exporter releases have the same problem.
Why the exact versions add nothing
Conformance pins:
- The root hatch
default,testandtypesenvironments install everypackages/*member from the checkout. - So an exact pin resolves only when it equals the checkout's version.
- The conformance Lambda bundles do not read the pin. Core conformance copies the SDK source into
lambda-build/. OTel and telemetry conformance install the SDK from git at the commit under test. - The conformance packages are not published.
- So the pin never selects a version. It can only fail to resolve after a bump.
Test assertions:
- Both tests run after
.github/scripts/install_otel_test_wheels.py. - That script installs the wheel whose version matches
__about__.py. It then checks the installed files against that wheel. - So the installed version always equals
__about__.py. The assertions fail only when someone forgets to edit them.
Proposed change
- The conformance packages use ranges, as the otel and telemetry-exporter packages already do:
aws-durable-execution-sdk-python>=3.0.0,<4,aws-durable-execution-sdk-python-otel>=2.0.0,<3,aws-durable-execution-sdk-python-telemetry-exporter>=1.0.0,<2. - The two tests check the major version, for example
Version(version("aws-durable-execution-sdk-python")).major == 3. The lifecycle test checks otel major 2 the same way. - The legacy test keeps otel
== "1.0.0", because that environment installs that exact release from PyPI.
A major release still edits the ranges and the major checks.
Acceptance criteria
- With only the core
__about__.pyset to3.0.2,hatch run test:all,hatch run test-wheel-otel:testandhatch run test-wheel-otel-legacy:testpass. The wheel lanes needhatch buildin the core and otel package directories first. - The same commands pass with only the otel
__about__.pyset to2.0.1, and with only the telemetry-exporter__about__.pyset to1.0.1.
- Langage dominant
- Python
- Étoiles
- 58
- Forks
- 32
- Merge moyen
- 1 j 6 h
- PR mergées (30 j)
- 80
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de aws/aws-durable-execution-sdk-python
-
enhancement needs-triage
Difficulté 1/5 1-3 heures Accessibilité débutants 72/100
aws/aws-durable-execution-sdk-python#927 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
aws/aws-durable-execution-sdk-python#875 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
aws/aws-durable-execution-sdk-python#794 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
aws/aws-durable-execution-sdk-python#921 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: JS examples CI still invokes Jest after Vitest migrationPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertebug needs-triage
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
aws/aws-durable-execution-sdk-python#918 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de aws/aws-durable-execution-sdk-python
Issues similaires
-
physical
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
antonyrag/ragleap-core#1339 ·
-
enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
AllenCell/SubCellSeg#5 ·
-
[🐛 Bug]: oidc_authverifier.py strips trailing slash causing "Invalid token: Invalid issuer" errorOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
keephq/keep#6934 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
bug game: 01008BA02525A000 ios
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
needs-triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 87/100
gke-labs/kube-agents#5501 ·
Les mainteneurs répondent en général sous 1 jour