Loading .gitlab-ci.yml +29 −1 Changes for .gitlab-ci.yml: 29 added lines, 1 removed line. Original line number Diff line number Diff line workflow: rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_COMMIT_TAG =~ /^v2\.0\.[0-9]+(rc[1-9][0-9]*)?$/ - if: $CI_COMMIT_TAG =~ /^v2[.]0[.][0-9]+(rc[1-9][0-9]*)?$/ - if: $CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "develop") - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS when: never Loading @@ -21,6 +21,7 @@ default: timeout: 15 minutes before_script: - mkdir -p "$TMPDIR" "$PIP_CACHE_DIR" - apt-get update -qq && apt-get install -y --no-install-recommends git ca-certificates - python --version - python -m pip install --require-hashes -r ci/requirements.lock cache: Loading Loading @@ -155,3 +156,30 @@ python-compatibility: paths: - .cache/ci/environment.json expire_in: 90 days publish-package: stage: publish interruptible: false resource_group: sdk-package-publication needs: - job: build-package artifacts: true - job: wheel-tests - job: sdist-check - job: chart-check - job: public-contract-types - job: dependency-audit - job: python-compatibility rules: - if: '$CI_COMMIT_TAG =~ /^v2[.]0[.][0-9]+(rc[1-9][0-9]*)?$/ && $CI_COMMIT_REF_PROTECTED == "true"' when: manual allow_failure: false - when: never script: - python ci/release.py publish artifacts: when: always paths: - .cache/ci/release-check.json - .cache/ci/manifest.json expire_in: never ci/README.md +6 −0 Changes for ci/README.md: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -26,3 +26,9 @@ Source, sdist and wheel are checked before publication. Branch pushes cannot publish packages. Release promotion must reuse the built and tested bytes; never rebuild a package under an existing version. Final release qualification must identify the exact SDK wheel, SRM revision and OEG-driven acceptance run. The candidate version is 2.0.0rc1. A maintainer creates a protected matching release tag only when the intended candidate is ready. Publication remains a blocking manual job, uses CI_JOB_TOKEN, checks tag/version/source and artifact checksums, and retains a permanent release receipt. No branch pipeline uploads. Final 2.0.0 additionally needs exact-wheel SRM and live E2E qualification. ci/verify.py +7 −1 Changes for ci/verify.py: 7 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -66,7 +66,13 @@ def artifact_manifest(): "artifacts": [{"name": p.name, "sha256": sha256(p)} for p in paths], } write_json(OUT / "manifest.json", result) (OUT / "build.env").write_text(f"SDK_BUILD_JOB_ID={os.getenv('CI_JOB_ID', '')}\n") wheel = next(DIST.glob("*.whl")) (OUT / "build.env").write_text( f"SDK_BUILD_JOB_ID={os.getenv('CI_JOB_ID', '')}\n" f"SDK_SOURCE_SHA={result['source_sha']}\n" f"SDK_WHEEL_NAME={wheel.name}\n" f"SDK_WHEEL_SHA256={sha256(wheel)}\n" ) return result Loading pyproject.toml +1 −1 Changes for pyproject.toml: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "openop-tfsdk" version = "1.1.1" version = "2.0.0rc1" description = "Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge Cloud platforms, 5G network cores and Open RAN solutions." keywords = [ "Federation", Loading Loading
.gitlab-ci.yml +29 −1 Changes for .gitlab-ci.yml: 29 added lines, 1 removed line. Original line number Diff line number Diff line workflow: rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_COMMIT_TAG =~ /^v2\.0\.[0-9]+(rc[1-9][0-9]*)?$/ - if: $CI_COMMIT_TAG =~ /^v2[.]0[.][0-9]+(rc[1-9][0-9]*)?$/ - if: $CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "develop") - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS when: never Loading @@ -21,6 +21,7 @@ default: timeout: 15 minutes before_script: - mkdir -p "$TMPDIR" "$PIP_CACHE_DIR" - apt-get update -qq && apt-get install -y --no-install-recommends git ca-certificates - python --version - python -m pip install --require-hashes -r ci/requirements.lock cache: Loading Loading @@ -155,3 +156,30 @@ python-compatibility: paths: - .cache/ci/environment.json expire_in: 90 days publish-package: stage: publish interruptible: false resource_group: sdk-package-publication needs: - job: build-package artifacts: true - job: wheel-tests - job: sdist-check - job: chart-check - job: public-contract-types - job: dependency-audit - job: python-compatibility rules: - if: '$CI_COMMIT_TAG =~ /^v2[.]0[.][0-9]+(rc[1-9][0-9]*)?$/ && $CI_COMMIT_REF_PROTECTED == "true"' when: manual allow_failure: false - when: never script: - python ci/release.py publish artifacts: when: always paths: - .cache/ci/release-check.json - .cache/ci/manifest.json expire_in: never
ci/README.md +6 −0 Changes for ci/README.md: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -26,3 +26,9 @@ Source, sdist and wheel are checked before publication. Branch pushes cannot publish packages. Release promotion must reuse the built and tested bytes; never rebuild a package under an existing version. Final release qualification must identify the exact SDK wheel, SRM revision and OEG-driven acceptance run. The candidate version is 2.0.0rc1. A maintainer creates a protected matching release tag only when the intended candidate is ready. Publication remains a blocking manual job, uses CI_JOB_TOKEN, checks tag/version/source and artifact checksums, and retains a permanent release receipt. No branch pipeline uploads. Final 2.0.0 additionally needs exact-wheel SRM and live E2E qualification.
ci/verify.py +7 −1 Changes for ci/verify.py: 7 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -66,7 +66,13 @@ def artifact_manifest(): "artifacts": [{"name": p.name, "sha256": sha256(p)} for p in paths], } write_json(OUT / "manifest.json", result) (OUT / "build.env").write_text(f"SDK_BUILD_JOB_ID={os.getenv('CI_JOB_ID', '')}\n") wheel = next(DIST.glob("*.whl")) (OUT / "build.env").write_text( f"SDK_BUILD_JOB_ID={os.getenv('CI_JOB_ID', '')}\n" f"SDK_SOURCE_SHA={result['source_sha']}\n" f"SDK_WHEEL_NAME={wheel.name}\n" f"SDK_WHEEL_SHA256={sha256(wheel)}\n" ) return result Loading
pyproject.toml +1 −1 Changes for pyproject.toml: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "openop-tfsdk" version = "1.1.1" version = "2.0.0rc1" description = "Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge Cloud platforms, 5G network cores and Open RAN solutions." keywords = [ "Federation", Loading