Skip to content

Add apt-only ubuntu-dev image with multi-arch CI - #1

Merged
thweetkomputer merged 2 commits into
mainfrom
add-ubuntu-dev-image
Jun 30, 2026
Merged

Add apt-only ubuntu-dev image with multi-arch CI#1
thweetkomputer merged 2 commits into
mainfrom
add-ubuntu-dev-image

Conversation

@thweetkomputer

Copy link
Copy Markdown
Collaborator

What

Adds the first image to this repo: eloqdata/ubuntu-dev, an Ubuntu 24.04 development image, plus a GitHub Actions workflow to build and publish it.

ubuntu-dev/Dockerfile

  • Base ubuntu:24.04.
  • All dependencies installed via apt only — no wget/git clone + compile, no pip/npm/rustup, no baked SSH keys or passwords.
  • Includes the dev toolchain (build-essential, cmake, ninja, gdb, ccache), common C/C++ dev libs, Python 3, Node.js, Go, OpenJDK 11, and the Google Cloud CLI.
  • Runs as non-root user eloq with passwordless sudo.

.github/workflows/ubuntu-dev.yml

  • Native-runner matrix: ubuntu-24.04 (amd64) + ubuntu-24.04-arm (arm64).
  • Pull requests build both arches for validation — no login, no push (safe for fork PRs).
  • Pushes to main build and push each arch, then merge into a multi-arch manifest tagged latest, 24.04, sha-<commit>.

Required repo secrets

Before merging, add in Settings → Secrets and variables → Actions:

Secret Value
DOCKER_USERNAME DockerHub user with write access to eloqdata/ubuntu-dev
DOCKER_PASSWORD That account's DockerHub password (or access token)

Notes

  • Image name eloqdata/ubuntu-dev is hardcoded (org name is public) so fork PRs can build-validate without secrets.
  • Recommend enabling branch protection + required review on main so the credentials can't be exfiltrated via a malicious workflow edit.

🤖 Generated with Claude Code

thweetkomputer and others added 2 commits June 30, 2026 15:25
Add an Ubuntu 24.04 development image (eloqdata/ubuntu-dev) whose
dependencies are installed entirely via apt — no from-source builds,
no baked secrets, runs as non-root user eloq with passwordless sudo.

Add a GitHub Actions workflow that builds on native amd64 and arm64
runners: PRs validate both arches (no push), pushes to main build,
push per-arch, and merge into a multi-arch manifest on DockerHub.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The gcloud repo setup calls `gpg --dearmor`, but gpg is not present in
the base ubuntu:24.04 image, causing exit 127. Add gnupg (and
apt-transport-https) to the apt install list.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@thweetkomputer
thweetkomputer merged commit 52aa4a6 into main Jun 30, 2026
3 checks passed
@thweetkomputer
thweetkomputer deleted the add-ubuntu-dev-image branch June 30, 2026 15:51
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.

1 participant