This repository is the shared home for Liminal HQ CI infrastructure, container image pipelines, and reusable automation.
- Shared GitHub Actions workflows for CI image publication
- Shared, reusable GitHub Actions workflows consumer repos call directly (e.g. AppImage packaging)
- Shared Docker images in granular tiers: pure Rust, JS/TS, Tauri desktop, and Tauri mobile
- Runbooks for publish, rollback, and digest pinning
Pick the leanest tier that covers the repo's toolchain:
ghcr.io/liminal-hq/ci-rust— Rust toolchain + clippy/rustfmt/cargo-nextest (pure-Rust CI)ghcr.io/liminal-hq/ci-web— Node + pnpm + Bun (JS/TS-only CI)ghcr.io/liminal-hq/tauri-ci-desktop— Rust + JS runtimes + Tauri desktop system stackghcr.io/liminal-hq/tauri-ci-mobile— desktop stack + Java + Android SDK/NDKghcr.io/liminal-hq/dev-rust— Rust toolchain for devcontainers/toolbox useghcr.io/liminal-hq/dev-web— JS runtimes for devcontainers/toolbox useghcr.io/liminal-hq/tauri-dev-desktop— Tauri desktop devcontainersghcr.io/liminal-hq/tauri-dev-mobile— Tauri Android devcontainers
ci-rust,ci-web, andtauri-ci-desktoppublishlinux/amd64andlinux/arm64.tauri-ci-mobilecurrently publisheslinux/amd64only.- Dev images (
dev-rust,dev-web,tauri-dev-desktop,tauri-dev-mobile) currently publishlinux/amd64only.
The ARM variants exist today to support downstream Linux ARM runners such as ubuntu-24.04-arm release and binary-compile jobs.
- CI images are for GitHub Actions and other automated pipelines that want a lean, root-friendly toolchain baseline.
- Dev images are for devcontainers and interactive local work — including host-side toolbox use — with a non-root user-home layout for Cargo, Rustup, pnpm, Bun, and Android tooling.
- Every tier that carries JavaScript tooling ships both pnpm (via Node) and Bun, so pnpm-based and Bun-based repos use the same images.
- Both image families include the GitHub CLI (
gh) for release, issue, and workflow operations that run inside the shared containers.
- Installing
ghdoes not automatically authenticate it. - In GitHub Actions jobs,
ghcan useGH_TOKENorGITHUB_TOKENfrom the job environment without an interactive login step. - In devcontainers, authenticate explicitly with
gh auth loginor provide a token through the environment when needed.
package-arch-appimage.yml— packages an already-built.debinto a Linux AppImage viaquick-sharunon a pinned Arch container, replacing Tauri's unmerged experimental AppImage bundler. Called withuses:from a consumer repo's own release pipeline. Reference:docs/reference/package-arch-appimage.md.
- Docker targets:
ci-rustci-webci-desktopci-mobiledev-rustdev-webdev-desktopdev-mobile
- Shared image layout reference:
docs/reference/shared-image-layout.md - Shared image implementation spec:
docs/reference/shared-image-implementation-spec.md
liminal-hq/tauri-plugins-workspaceliminal-hq/thresholdliminal-hq/emoji-nookliminal-hq/spindleliminal-hq/foyerScottMorris/liminal-notes
- Image publish workflow:
.github/workflows/shared-tauri-ci-images.yml - AppImage packaging reusable workflow:
.github/workflows/package-arch-appimage.yml(reference) - Shared Dockerfile:
docker/ci/Dockerfile - Shared image layout reference:
docs/reference/shared-image-layout.md - Shared image implementation spec:
docs/reference/shared-image-implementation-spec.md - Publish and rollback runbook:
docs/runbooks/image-publish-and-rollback.md