Skip to content

Container: LTS build overwrites abacus-intel:latest without PEXSI, breaking develop's PEXSI build test #7851

Description

@cheerly-pku

Summary

develop's "Build extra components with Intel toolchain" job enables PEXSI (-DENABLE_PEXSI=ON) and fails with Could not find PEXSIConfig.cmake, because the shared ghcr.io/deepmodeling/abacus-intel:latest image currently does not contain PEXSI. That image was last pushed by an LTS build, whose Dockerfile.intel does not install PEXSI.

Direct evidence (image inspected)

The config of ghcr.io/deepmodeling/abacus-intel:latest (fetched from ghcr) has:

  • label org.opencontainers.image.revision = 62cac09ae7d09ad55bd5c607267f70df74638662
  • label org.opencontainers.image.created = 2026-08-23T12:27:04Z

and its build history contains:

RUN ... git clone https://github.com/deepmodeling/abacus-develop.git -b LTS --depth 1 \
    && cd abacus-develop \
    && cmake -B build -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_RAPIDJSON=ON ...

i.e. the image is built from the LTS branch and has no PEXSI install step (-DENABLE_PEXSI absent; no GKlib/METIS/ParMETIS/SuperLU_DIST/PEXSI build commands).

Corroborating evidence

  1. develop's Dockerfile.intel installs PEXSI. It has a ###### PEXSI PART section (lines 39-141) and builds with -DENABLE_PEXSI=ON (Dockerfile.intel:158). LTS's Dockerfile.intel does not (its build line is -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_RAPIDJSON=ON, origin/LTS:Dockerfile.intel:61).

  2. Both branches push the same tag abacus-intel:latest. develop's devcontainer.yml:59 and LTS's devcontainer.yml:33 both use type=raw,value=latest; LTS's workflow triggers on branches: [develop, LTS].

  3. Timing matches exactly:

    • LTS "build_container_and_push (intel)" job completed (pushed) at 2026-08-23T12:58:05Z.
    • develop's PEXSI job passed right before (32639410989, 12:26, 19m47s) and failed right after (32641514949, 13:09, 2m44s).

Root cause

abacus-intel:latest is shared by the develop and LTS container builds, but only develop's Dockerfile.intel installs PEXSI. An LTS push overwrote the tag with a PEXSI-less image (the develop rebuild failed with no space left on device, so it could not restore PEXSI), breaking develop's PEXSI-enabled CI job.

Suggested fixes

  • Give LTS its own image tag (e.g. abacus-intel-lts:latest) instead of overwriting abacus-intel:latest.
  • Or install PEXSI in LTS's Dockerfile.intel as well.
  • Separately, fix the runner disk exhaustion (no space left on device) in the develop intel build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions