[CI]: Let a patch or minor release edit only `__about__.py`
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 64/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 58
- Fork
- 32
- Merge medio
- 1g 6h
- PR unite (30g)
- 80
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di aws/aws-durable-execution-sdk-python
-
enhancement needs-triage
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
aws/aws-durable-execution-sdk-python#927 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
aws/aws-durable-execution-sdk-python#875 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
aws/aws-durable-execution-sdk-python#794 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
aws/aws-durable-execution-sdk-python#921 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: JS examples CI still invokes Jest after Vitest migrationForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug needs-triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
aws/aws-durable-execution-sdk-python#918 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di aws/aws-durable-execution-sdk-python
Issue simili
-
physical
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
antonyrag/ragleap-core#1339 ·
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
AllenCell/SubCellSeg#5 ·
-
[🐛 Bug]: oidc_authverifier.py strips trailing slash causing "Invalid token: Invalid issuer" errorAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
keephq/keep#6934 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
bug game: 01008BA02525A000 ios
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 87/100
gke-labs/kube-agents#5501 ·
I maintainer di solito rispondono entro 1 giorno