Skip to content

Fix CI: Debian Docker repo detection, remove yay dependency, skip Docker in containers#73

Draft
Copilot wants to merge 3 commits into
masterfrom
copilot/fix-docker-repository-issues
Draft

Fix CI: Debian Docker repo detection, remove yay dependency, skip Docker in containers#73
Copilot wants to merge 3 commits into
masterfrom
copilot/fix-docker-repository-issues

Conversation

Copilot AI commented Jan 29, 2026

Copy link
Copy Markdown
Contributor

CI fails on Debian (wrong Docker repo URL) and Arch (missing yay). Docker-in-Docker adds unnecessary complexity.

Changes

  • Docker install (41-docker.sh): Detect distro from /etc/os-release and use correct repo URL

    # Before: hardcoded ubuntu
    https://download.docker.com/linux/ubuntu/gpg
    
    # After: dynamic distro detection
    . /etc/os-release
    https://download.docker.com/linux/${ID}/gpg
  • mise install (30-mise.sh): Use pacman instead of yay on Arch (mise is in extra repo)

    # Before
    yay -S --noconfirm mise
    
    # After
    sudo pacman -S --noconfirm mise
  • Container detection (install + 41-docker.sh): Export DOTS_CONTAINER env var, skip Docker install in containers

    if [[ -f "/.dockerenv" ]] || grep -Eq 'docker|containerd' /proc/1/cgroup 2>/dev/null; then
        DOTS_CONTAINER="docker"
    fi
Original prompt

Summary

CI is failing on both Debian and Arch Linux Docker builds due to two separate issues.


Issue 1: Debian — Incorrect Docker Repository URL

File: script/install.d/41-docker.sh

The Docker APT repository is hardcoded to use the Ubuntu repository URL, but the Dockerfile uses Debian Bookworm as the base image. The error is:

E: The repository 'https://download.docker.com/linux/ubuntu bookworm Release' does not have a Release file.

bookworm is a Debian codename, not Ubuntu. Docker's repository structure differs between distributions.

Fix: Detect the distribution from /etc/os-release and use the correct repository URL (debian vs ubuntu).


Issue 2: Arch Linux — Missing yay AUR Helper

File: script/install.d/30-mise.sh

The Arch Linux branch attempts to use yay to install mise from the AUR:

pacman)
    yay -S --noconfirm mise
    ;;

The Docker image does not have yay installed, causing yay: command not found.

Fix: Use sudo pacman -S --noconfirm mise instead of yay. The mise package is available in the official Arch extra repository, so no AUR helper is required.


Issue 3: Skip Docker installation inside containers

File: script/install and script/install.d/41-docker.sh

Docker-in-Docker adds unnecessary complexity for CI testing. The install script should detect when running inside a container and skip Docker installation.

Fix:

  1. In script/install, add container detection alongside existing environment detection (after the Codespaces check around line 65):
# Detect container environment
export DOTS_CONTAINER=""
if [[ -f "/.dockerenv" ]] || grep -Eq 'docker|containerd' /proc/1/cgroup 2>/dev/null; then
    DOTS_CONTAINER="docker"
fi
  1. In script/install.d/41-docker.sh, add a skip check using the new variable (after the Codespaces check):
# skip if in a container (Docker-in-Docker adds complexity)
[[ -n "$DOTS_CONTAINER" ]] && { log_warn "Skipping: Running inside container"; return 0; }

Acceptance Criteria

  • Debian CI build passes (Docker install script correctly detects Debian vs Ubuntu)
  • Arch Linux CI build passes (mise installs via pacman without yay)
  • Docker installation is skipped when running inside a container
  • All changes are idempotent and safe to re-run
  • Changes follow project conventions (use [[ ]] for conditionals, export for environment variables)

This pull request was created from Copilot chat.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits January 29, 2026 18:40
…ker in containers

Co-authored-by: andrejusk <7396847+andrejusk@users.noreply.github.com>
Co-authored-by: andrejusk <7396847+andrejusk@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix CI failures for Debian and Arch Linux Docker builds Fix CI: Debian Docker repo detection, remove yay dependency, skip Docker in containers Jan 29, 2026
Copilot AI requested a review from andrejusk January 29, 2026 18:45
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.

2 participants