Problem
The LTS and develop branches can both publish their Intel container to the same mutable tag:
ghcr.io/deepmodeling/abacus-intel:latest
The two branches have different Dockerfile.intel contents. In particular, the LTS image does not install/export PEXSI, while the develop Build Test workflow enables ENABLE_PEXSI=ON and now requires PEXSIConfig.cmake through config-mode package discovery.
As a result, an unrelated push to LTS can overwrite the image used by develop and PR CI, causing deterministic CMake configuration failures.
Observed timeline
- The Intel extra-components job in run 30995571234 succeeded at 09:59 UTC on 2026-08-05.
- Pulled
abacus-intel:latest digest: sha256:c38db3f67dfc412e9b929d9323d2660f4acc3976071b60cb005cb8ca1d02aaf4
- Compiler: IntelLLVM 2025.2.1
- Image exported the PEXSI-related environment.
- LTS Container run 30994242030, triggered by unrelated commit
4fd5f19, pushed a new Intel image to the same latest tag at 10:15 UTC.
- Published digest:
sha256:815bcab0722b3345a356edc83e67d33ced0d1ea56bc0304d866577d642a7d327
- Image metadata revision:
4fd5f19ac50d66c9d8ec3f526ead53d646281ede
- The next Intel extra-components job in run 30998345926 pulled that new digest and failed.
- Compiler changed to IntelLLVM 2026.1.1.
- CMake could not find
PEXSIConfig.cmake or pexsi-config.cmake.
- The same failure occurred in run 31001027794, while all other Build Test matrix jobs passed.
The failing source commits did not modify the container, toolchain, or PEXSI configuration.
Root cause
PR #6210 added LTS to the Container workflow trigger, but both branches continued publishing the raw latest tag. PR #7615 later changed develop to require PEXSI's config package, making the LTS image incompatible with the develop Intel extra-components job.
This is a container tag collision and reproducibility problem, not a hardware failure.
Suggested fix
- Ensure only
develop publishes latest.
- Publish LTS images under a separate tag such as
lts-latest.
- Apply the workflow correction to the LTS branch itself, because Actions uses the workflow file from the pushed branch.
- Rebuild the develop Intel image after preventing the LTS overwrite, restoring a PEXSI-capable
latest image.
- Consider using an immutable digest or a develop-specific immutable tag in
build_test_cmake.yml so CI cannot change underneath an unrelated run.
For example:
tags: |
type=semver,pattern={{version}},enable=${{ github.ref_type == 'tag' }}
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/develop' }}
type=raw,value=lts-latest,enable=${{ github.ref == 'refs/heads/LTS' }}
Acceptance criteria
- An LTS push does not change
ghcr.io/deepmodeling/abacus-intel:latest.
- LTS publishes to a distinct tag.
- The develop Intel extra-components job can find
PEXSIConfig.cmake and configure successfully.
- The image reference used by Build Test is reproducible or branch-isolated.
Problem
The
LTSanddevelopbranches can both publish their Intel container to the same mutable tag:The two branches have different
Dockerfile.intelcontents. In particular, the LTS image does not install/export PEXSI, while the developBuild Testworkflow enablesENABLE_PEXSI=ONand now requiresPEXSIConfig.cmakethrough config-mode package discovery.As a result, an unrelated push to LTS can overwrite the image used by develop and PR CI, causing deterministic CMake configuration failures.
Observed timeline
abacus-intel:latestdigest:sha256:c38db3f67dfc412e9b929d9323d2660f4acc3976071b60cb005cb8ca1d02aaf44fd5f19, pushed a new Intel image to the samelatesttag at 10:15 UTC.sha256:815bcab0722b3345a356edc83e67d33ced0d1ea56bc0304d866577d642a7d3274fd5f19ac50d66c9d8ec3f526ead53d646281edePEXSIConfig.cmakeorpexsi-config.cmake.The failing source commits did not modify the container, toolchain, or PEXSI configuration.
Root cause
PR #6210 added
LTSto the Container workflow trigger, but both branches continued publishing the rawlatesttag. PR #7615 later changed develop to require PEXSI's config package, making the LTS image incompatible with the develop Intel extra-components job.This is a container tag collision and reproducibility problem, not a hardware failure.
Suggested fix
developpublisheslatest.lts-latest.latestimage.build_test_cmake.ymlso CI cannot change underneath an unrelated run.For example:
Acceptance criteria
ghcr.io/deepmodeling/abacus-intel:latest.PEXSIConfig.cmakeand configure successfully.