build

Build salt-dev Docker container images (base and devtools) via buildx with the salt-8cpu builder. Creates the builder if missing.

SKILL.md

GitHub

Current State

  • Branch: !git branch --show-current

Build the project Docker images:

  1. Run ./lint.sh -- abort if any check fails
  2. Ensure the salt-8cpu builder exists:
    • Check: docker buildx inspect salt-8cpu 2>/dev/null
    • If missing, create and constrain to 8 CPUs:
      docker buildx create --name salt-8cpu --driver docker-container --driver-opt default-load=true
      docker buildx inspect --bootstrap salt-8cpu
      docker update --cpus 8 "$(docker ps -qf 'name=buildx_buildkit_salt-8cpu')"
      
    • Check memory: docker info --format '{{.MemTotal}}' -- warn user if < 22 GB
  3. Build base image: docker buildx build --builder salt-8cpu --pull -t salt-dev --load .
  4. If $ARGUMENTS contains "devtools" or "all":
    • Build devtools: docker buildx build --builder salt-8cpu -f Dockerfile.devtools -t salt-dev-tools --load .
  5. Report build success/failure and image sizes via docker images | grep salt-dev
  6. If $ARGUMENTS contains "intel" or "ifx":
    • docker run -it --name salt-ifx salt-dev-tools install-intel-ifx.sh --trust-intel-repo
    • Reset CMD (docker commit inherits the running command): docker commit --change='CMD ["/bin/bash"]' salt-ifx salt-dev-tools:intel-<version>
    • docker rm salt-ifx