Skip to content
This repository was archived by the owner on Apr 7, 2026. It is now read-only.

Releases: abitofhelp/dev_container_ada

v2.2.3

14 Mar 10:59
e092aa6

Choose a tag to compare

Added

  • Neovim text editor.

See CHANGELOG.md

v2.2.2

11 Mar 03:42
81d8028

Choose a tag to compare

Fixed

  • Added empty libiconv.a stub in Dockerfile to satisfy -liconv at link
    time. On glibc systems (Ubuntu), iconv is built into libc and there is no
    separate libiconv package, but GNATCOLL iconv links -liconv explicitly.
  • Added binutils package to Dockerfile for ar command used to create the stub.

v2.2.1

10 Mar 05:43

Choose a tag to compare

Added

  • "Embedded Board Support" section in README with board table and two
    readiness tables (Alire image vs System image) showing Ada compiler and
    C cross-compiler availability per target.
  • alr/gprbuild configuration examples in USER_GUIDE §0.4 for all four
    target/image combinations (desktop Alire, desktop System, Cortex-M7
    bare-metal, Cortex-A7 Linux).

Fixed

  • README badges placed on a single line for correct inline rendering.

v2.2.0

10 Mar 03:20

Choose a tag to compare

What's New

Added embedded development toolchain to both images, supporting bare-metal ARM Cortex-M and Linux ARM Cortex-A development.

Added

  • ARM Cortex-M bare-metal cross-compiler (gcc-arm-none-eabi, libnewlib-arm-none-eabi) for STM32F769I and similar boards.
  • ARM Cortex-A Linux cross-compiler (gcc-arm-linux-gnueabihf, libc6-dev-armhf-cross) for STM32MP135F and similar boards.
  • Hardware tools: openocd, stlink-tools, gdb-multiarch.
  • Embedded board support table in README and USER_GUIDE §0.4.

Embedded Board Support

Board SoC Core Runtime Cross-compiler
STM32F769I Discovery STM32F769NI Cortex-M7 Bare metal arm-none-eabi-gcc
STM32MP135F Discovery STM32MP135F Cortex-A7 Linux arm-linux-gnueabihf-gcc

v2.1.2

08 Mar 11:28

Choose a tag to compare

Added

  • Makefile convenience aliases: docker-pull, docker-pull-system,
    podman-pull, podman-pull-system.
make docker-pull-system   # pull from GHCR with docker
make docker-run-system    # run it

v2.1.1

08 Mar 11:23

Choose a tag to compare

Added

  • Makefile pull and pull-system targets that pull from GHCR and tag for
    local use, so make run / make run-system work without building locally.
make pull-system    # pulls from GHCR, tags locally
make run-system     # just works

v2.1.0

08 Mar 10:57

Choose a tag to compare

Multi-Architecture Support

The system toolchain image (Dockerfile.system) now builds for both
linux/amd64 and linux/arm64 (Apple Silicon). Docker pulls the native
variant automatically.

Architecture Compatibility

Image Base alr (amd64) alr (arm64) GNAT (amd64) GNAT (arm64)
Dockerfile Ubuntu 22.04 Works Fails (glibc 2.38) Alire-managed Not available
Dockerfile.system Ubuntu 24.04 Works Works gnat-13 gnat-13

Verified Test Matrix

Image Ubuntu VM (amd64) macOS Intel (amd64) MacBook Pro (arm64)
dev-container-ada Passed Passed N/A (amd64 only)
dev-container-ada-system Passed Passed Passed

Other Changes

  • Makefile: full system image target parity (run-root-system, save-system, tag-system, etc.)
  • Makefile: help text reorganized by image variant with architecture info
  • CI: QEMU + buildx with per-matrix platform selection
  • Docs: architecture tables in README, USER_GUIDE references README

See CHANGELOG.md for the complete list.

v2.0.1

08 Mar 04:07

Choose a tag to compare

Summary

Code review fixes and polish for v2.0.0.

Fixed

  • Moved # syntax=docker/dockerfile:1.7 to line 1 in both Dockerfiles so BuildKit uses the specified frontend.
  • Added entrypoint.sh to build context file lists in Dockerfile headers.
  • Removed orphan examples/hello_ada/hello_ada.adb; added copyright header to src/ copy.
  • Reject HOST_USER=root and HOST_UID=0 in entrypoint to prevent root account modification.
  • Added logging to fixup_symlinks() for toolchain relink visibility.
  • Fixed alire.toml author, maintainer, login, website, and "tdb" typo.
  • Fixed USER_GUIDE version mismatch (2.1 → 2.0.0).

Added

  • Makefile targets test-system, test-docker-system, test-podman-system for system-image testing.
  • make -f usage note in README explaining CURDIR bind-mount behavior.

Changed

  • Unified CI build steps into a single matrix-driven step.
  • CI smoke test now matches Makefile test scripts.

Full Changelog: v2.0.0...v2.0.1

v2.0.0

08 Mar 03:27

Choose a tag to compare

What's New

Two-Dockerfile split: ship both an Alire-managed toolchain image and a system-packaged toolchain image.

Added

  • Dockerfile.system for Ubuntu 24.04 with system-packaged GNAT and GPRBuild.
  • Makefile targets: build-system, build-system-no-cache, run-system.
  • CI matrix build for both Dockerfile variants in docker-build.yml.
  • Two-job publish workflow (publish-alire + publish-system) in docker-publish.yml.
  • USER_GUIDE §0 "Choosing a Dockerfile" with rationale and guidance.
  • Alire configured with gnat_external in system image so alr build uses the system compiler without downloading toolchains.

Changed

  • BREAKING: Default Dockerfile base image from Ubuntu 24.04 to Ubuntu 22.04, matching the platform Alire's GNAT toolchains are built on.
  • GitHub Actions pinned by SHA digest for supply-chain security.
  • Documentation updated throughout for dual-Dockerfile structure.

Container Images

Image Base Toolchain
ghcr.io/abitofhelp/dev-container-ada:latest Ubuntu 22.04 Alire-managed GNAT 15.2.1 + GPRBuild 25.0.1
ghcr.io/abitofhelp/dev-container-ada-system:latest Ubuntu 24.04 System gnat-13 + gprbuild

Full Changelog: v1.0.2...v2.0.0

v1.0.2

07 Mar 05:11

Choose a tag to compare

v1.0.2 — macOS UID Compatibility

Fixed

  • Suppressed useradd warning for macOS UIDs below 1000 (e.g., UID 501). Added -K UID_MIN=100 -K UID_MAX=65534 to useradd and -K GID_MIN=100 -K GID_MAX=65534 to groupadd in the entrypoint.

Container Images

ghcr.io/abitofhelp/dev-container-ada:latest
ghcr.io/abitofhelp/dev-container-ada:gnat-15.2.1
ghcr.io/abitofhelp/dev-container-ada:gnat-15.2.1-gprbuild-25.0.1
ghcr.io/abitofhelp/dev-container-ada:v1.0.2