Skip to content

fix: use strech and modern env set#10

Closed
iBotPeaches wants to merge 1 commit intofastlane:masterfrom
iBotPeaches:docker-fixes
Closed

fix: use strech and modern env set#10
iBotPeaches wants to merge 1 commit intofastlane:masterfrom
iBotPeaches:docker-fixes

Conversation

@iBotPeaches
Copy link
Copy Markdown
Member

@iBotPeaches iBotPeaches commented Oct 15, 2025

The Problem

🔑 Building the image that some CI pipelines do - crash due to the aging infrastructure of a Python 2.7 image on an aging debian distro. I'm on a journey to wake up fastlane - first docs, then actions, wip fastlane and now docker.

5.865   The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
5.943 Reading package lists...
6.559 W: GPG error: http://archive.debian.org/debian jessie-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
6.560 E: The repository 'http://archive.debian.org/debian jessie-backports InRelease' is not signed.

Less important, a bunch of warnings for modern docker.

 8 warnings found (use docker --debug to expand):
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 43)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 47)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 3)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 39)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 40)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 44)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 35)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 38)

The Fix

We use the Debian Stretch, which isn't even the best option, but we have to work against the constraint of Ruby 2.7 base image. The true fix is dropping Ruby 2.x behind, but this will do to get us green in meantime.

closes: #9

➜  docker git:(master) ✗ docker build .
[+] Building 0.4s (15/15) FINISHED                                                                                                                                                                      docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                                                                                                    0.0s
 => => transferring dockerfile: 2.07kB                                                                                                                                                                                  0.0s
 => [internal] load metadata for docker.io/circleci/ruby:2.7-node                                                                                                                                                       0.2s
 => [internal] load .dockerignore                                                                                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                                                                                         0.0s
 => [ 1/10] FROM docker.io/circleci/ruby:2.7-node@sha256:23d760208eed58ff57f8721d20dcd8c9bc5f9ee8a5293fa14102913e7277b8c7                                                                                               0.0s
 => [ 6/10] ADD https://github.com/fastlane/xar/archive/2.0.0.tar.gz .                                                                                                                                                  0.1s
 => CACHED [ 2/10] RUN echo 'deb http://archive.debian.org/debian stretch-backports main' > /etc/apt/sources.list.d/stretch-backports.list   && sed -i '/deb http:\/\/deb.debian.org\/debian stretch-updates main/d' /  0.0s
 => CACHED [ 3/10] RUN apt-get install --yes libssl-dev                                                                                                                                                                 0.0s
 => CACHED [ 4/10] WORKDIR /tmp                                                                                                                                                                                         0.0s
 => CACHED [ 5/10] RUN ls                                                                                                                                                                                               0.0s
 => CACHED [ 6/10] ADD https://github.com/fastlane/xar/archive/2.0.0.tar.gz .                                                                                                                                           0.0s
 => CACHED [ 7/10] RUN tar -xzf 2.0.0.tar.gz   && mv xar-2.0.0/xar xar   && cd xar   && ./autogen.sh --noconfigure   && ./configure   && make                                                                           0.0s
 => CACHED [ 8/10] WORKDIR /tmp/build                                                                                                                                                                                   0.0s
 => CACHED [ 9/10] RUN apt-get update -o Acquire::Check-Valid-Until=false -qq && apt-get -o Acquire::Check-Valid-Until=false upgrade -y > /dev/null 2>&1 && apt-get install wget gcc make zlib1g-dev -y -qq > /dev/nul  0.0s
 => CACHED [10/10] RUN cd /tmp/xar   && sudo make install && sudo rm -rf /tmp/*                                                                                                                                         0.0s
 => exporting to image                                                                                                                                                                                                  0.0s
 => => exporting layers                                                                                                                                                                                                 0.0s
 => => writing image sha256:22d575c24944d9ebe22af1ae2266c1dc1f29be7ee6820e247d430647391a7945      

Works fine now.

Copy link
Copy Markdown
Member

@janpio janpio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, but we'll probably need @joshdholtz to publish the updated version.

@janpio janpio requested a review from Copilot October 15, 2025 18:10
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes Docker build issues by updating the base Debian distribution from jessie to stretch and modernizing ENV syntax. The changes address GPG signature verification errors that were preventing successful builds and eliminate Docker legacy format warnings.

  • Updates Debian repository from jessie-backports to stretch-backports
  • Converts legacy ENV syntax from "ENV key value" to modern "ENV key=value" format

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@iBotPeaches
Copy link
Copy Markdown
Member Author

Yeah I guess GitHub Action registry would be cool, but downside is you need auth even for a public image for that registry so native pipelines on GitHub Actions would be easy, but 3rd party systems that use that old Docker image would have some troubles switching. Benefit of DockerHub is of course no auth, but seems like no automation is wired up to push there.

I'll work to remove Docker from GitHub Actions for a pure Node Action, but fixed their pipeline in meantime - fastlane/github-actions#117

More heavily I then removed docker CI dependency on fastlane itself for pure GitHub Actions here - fastlane/fastlane#29724

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.

3 participants