[CICD] Add openEuler 24.03 RPM build support#29
Open
shiptux wants to merge 2 commits into
Open
Conversation
- flagsparse.spec: fall back to a pip-based build on distros without pyproject-rpm-macros (openEuler 24.03, EL8-family); the Fedora/EL9 pyproject-macros path is unchanged. - Dockerfile.rpm: install pyproject-rpm-macros opportunistically and reconstruct the empty %dist tag on openEuler images (.oe2403). - build-flagsparse-rpm.sh: BASE_IMAGE/BASE_IMAGE_VERSION/OUTPUT_DIR env overrides; default single-arg Fedora flow preserved. - build-rpm.yml: build matrix fedora43 + openeuler2403; the Fedora artifact name is unchanged for downstream collectors. Verified locally: fedora43 build unchanged (python3-flagsparse-1.0.0-1.fc43, python(abi)=3.14); openeuler2403 build installs and imports on an openEuler 24.03 container (python3-flagsparse-1.0.0-1.oe2403, python(abi)=3.11, /usr/lib/python3.11/site-packages).
…dnf layer A separate RUN re-downloads all repo metadata after dnf clean all; on slow openEuler mirrors from CI runners this costs tens of minutes (observed 43 min for a failing install in FlagAttention's CI).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the RPM packaging so the same spec builds on openEuler
24.03 LTS in addition to Fedora 43. openEuler ships Python 3.11
and does not ship
pyproject-rpm-macros, so the Fedora-built.fc43noarch RPM (python(abi) = 3.14) cannot install there —each RPM distro family needs a native rebuild.
What changed (packaging + CI only, no source changes)
packaging/rpm/specs/flagsparse.spec— parse-time capabilitycheck: when
%pyproject_wheelis defined (Fedora/EL9+) theexisting macro path is used unchanged; otherwise a pip-based
wheel/installfallback with an explicit%fileslist.packaging/rpm/dockerfiles/Dockerfile.rpm— installspyproject-rpm-macrosopportunistically; reconstructs the empty%disttag on openEuler images (.oe2403) so Release fieldsmatch official openEuler packages.
packaging/rpm/build-flagsparse-rpm.sh—BASE_IMAGE/BASE_IMAGE_VERSION/OUTPUT_DIRenv overrides. The originalsingle-arg Fedora flow (
./build-flagsparse-rpm.sh 43) ispreserved.
.github/workflows/build-rpm.yml— build matrixfedora43+openeuler2403(fail-fast: false). The Fedoraartifact keeps its exact name (
flagsparse-amd64-rpm-packages);openEuler uploads as
flagsparse-amd64-oe2403-rpm-packages.Tested
Both targets built locally via the modified script:
python3-flagsparse-1.0.0-1.fc43.noarch.rpmpython3-flagsparse-1.0.0-1.oe2403.noarch.rpmopeneuler/openeuler:24.03-lts(/usr/lib/python3.11/site-packages/flagsparse/)Limitations
flagos-packaging collector/publisher will start routing
.oe2403RPMs into the
rpm/openeuler2403/repo dir in a follow-up.not added to the matrix yet.