Skip to content

feat(packaging): introduce RPM builds and unified changelog management#388

Closed
shiptux wants to merge 1 commit into
flagos-ai:mainfrom
shiptux:ascend
Closed

feat(packaging): introduce RPM builds and unified changelog management#388
shiptux wants to merge 1 commit into
flagos-ai:mainfrom
shiptux:ascend

Conversation

@shiptux
Copy link
Copy Markdown
Contributor

@shiptux shiptux commented Feb 12, 2026

PR Category

CICD

PR Types

Optimizations

PR Description

Implement comprehensive RPM package building support:

  • Add new .github/workflows/build-rpm.yml for CI/CD.
  • Introduce packaging/rpm/build-flagcx-rpm.sh script for local and CI builds.
  • Include backend-specific Dockerfiles (Dockerfile.nvidia, Dockerfile.ascend) and an RPM spec file (flagcx.spec).

Integrate Ascend backend support across packaging:

  • Extend Debian packaging (.github/workflows/build-deb.yml, packaging/debian/control, packaging/debian/rules) to include Ascend.
  • Enable Ascend backend for RPM builds.

Establish a unified changelog management system:

  • docs/CHANGELOG.md becomes the single source of truth for release history.
  • Add packaging/sync-changelog.py to automatically convert docs/CHANGELOG.md to Debian and RPM changelog formats.
  • Integrate the sync script into both Debian and RPM build workflows and local build scripts.
  • Document the new process in packaging/CHANGELOG-MANAGEMENT.md.

Other related changes:

  • Update .gitignore to include rpm-packages.
  • Enhance packaging/README.md with details on RPM building, supported architectures, and changelog management.

Implement comprehensive RPM package building support:
- Add new `.github/workflows/build-rpm.yml` for CI/CD.
- Introduce `packaging/rpm/build-flagcx-rpm.sh` script for local and CI builds.
- Include backend-specific Dockerfiles (`Dockerfile.nvidia`, `Dockerfile.ascend`) and an RPM spec file (`flagcx.spec`).

Integrate Ascend backend support across packaging:
- Extend Debian packaging (`.github/workflows/build-deb.yml`, `packaging/debian/control`, `packaging/debian/rules`) to include Ascend.
- Enable Ascend backend for RPM builds.

Establish a unified changelog management system:
- `docs/CHANGELOG.md` becomes the single source of truth for release history.
- Add `packaging/sync-changelog.py` to automatically convert `docs/CHANGELOG.md` to Debian and RPM changelog formats.
- Integrate the sync script into both Debian and RPM build workflows and local build scripts.
- Document the new process in `packaging/CHANGELOG-MANAGEMENT.md`.

Other related changes:
- Update `.gitignore` to include `rpm-packages`.
- Enhance `packaging/README.md` with details on RPM building, supported architectures, and changelog management.
Comment thread packaging/debian/rules
$(MAKE) clean || true

override_dh_auto_build:
ifeq ($(FLAGCX_BUILD_BACKEND),nvidia)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we try a switch instead of if else here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we can create a new pr to do this

Copy link
Copy Markdown
Contributor

@SamYuan1990 SamYuan1990 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shiptux , I will ask you spilt this PR into 3 different things, currently which is too feat.

  1. ascend support
  2. rpm
  3. some components enhancement for deb build (for example you have change log collection for deb, how about RPM?)

# Sync changelog from CHANGELOG.md
log_step "Synchronizing changelog..."
if [ -f "${PROJECT_DIR}/packaging/sync-changelog.py" ]; then
python3 "${PROJECT_DIR}/packaging/sync-changelog.py" || log_warn "Failed to sync changelog"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed in new pr

@shiptux
Copy link
Copy Markdown
Contributor Author

shiptux commented Feb 26, 2026

@shiptux , I will ask you spilt this PR into 3 different things, currently which is too feat.

  1. ascend support
  2. rpm
  3. some components enhancement for deb build (for example you have change log collection for deb, how about RPM?)

@SamYuan1990

  1. [CICD] add Ascend NPU backend support for Debian packages #393
  2. [CICD] add RPM packaging support for RHEL/Rocky/OpenEuler #394
  3. Pr/changelog #395

@shiptux shiptux closed this Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants