[CI]: Let a patch or minor release edit only `__about__.py`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 64/100
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 58
- Forks
- 32
- Ø Merge
- 1 T. 6 Std.
- Gemergte PRs (30 T.)
- 80
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine 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 aws/aws-durable-execution-sdk-python
-
enhancement needs-triage
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 72/100
aws/aws-durable-execution-sdk-python#927 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
aws/aws-durable-execution-sdk-python#875 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
aws/aws-durable-execution-sdk-python#794 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 58/100
aws/aws-durable-execution-sdk-python#921 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: JS examples CI still invokes Jest after Vitest migrationEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenbug needs-triage
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
aws/aws-durable-execution-sdk-python#918 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in aws/aws-durable-execution-sdk-python
Ähnliche Issues
-
physical
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
antonyrag/ragleap-core#1339 ·
-
enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
AllenCell/SubCellSeg#5 ·
-
[🐛 Bug]: oidc_authverifier.py strips trailing slash causing "Invalid token: Invalid issuer" errorOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
keephq/keep#6934 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug game: 01008BA02525A000 ios
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
needs-triage
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 87/100
gke-labs/kube-agents#5501 ·
Maintainer antworten meist innerhalb von 1 Tag