From 3ddc66e9b1d8a5642b1ab39e16dc3e80dc84757b Mon Sep 17 00:00:00 2001 From: Evan Date: Mon, 8 Jun 2026 21:29:01 -0700 Subject: [PATCH] ci: pull CI service images from GHCR mirror (fork-safe) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repoint the postgres/redis/mysql/presto service containers across the E2E, Python-Integration, and Presto/Hive workflows at the GHCR mirror (ghcr.io/apache/superset/ci/*). Public GHCR images pull without Docker Hub's anonymous rate limit and without any credentials, so this removes the service-pull flakes on master/same-repo PRs while keeping fork PRs working — unlike credentials: on the service blocks (#40875, reverted in #40879), where empty fork secrets resolve to '' and fail the workflow at parse time. Depends on the GHCR mirror being populated and public — see the mirror workflow in #40880. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/superset-e2e.yml | 8 ++++---- .github/workflows/superset-python-integrationtest.yml | 10 +++++----- .github/workflows/superset-python-presto-hive.yml | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/superset-e2e.yml b/.github/workflows/superset-e2e.yml index c46ad9eb5a0..6f4d5ec7adb 100644 --- a/.github/workflows/superset-e2e.yml +++ b/.github/workflows/superset-e2e.yml @@ -82,14 +82,14 @@ jobs: USE_DASHBOARD: ${{ github.event.inputs.use_dashboard == 'true' || 'false' }} services: postgres: - image: postgres:17-alpine + image: ghcr.io/apache/superset/ci/postgres:17-alpine env: POSTGRES_USER: superset POSTGRES_PASSWORD: superset ports: - 15432:5432 redis: - image: redis:7-alpine + image: ghcr.io/apache/superset/ci/redis:7-alpine ports: - 16379:6379 steps: @@ -192,14 +192,14 @@ jobs: GITHUB_TOKEN: ${{ github.token }} services: postgres: - image: postgres:17-alpine + image: ghcr.io/apache/superset/ci/postgres:17-alpine env: POSTGRES_USER: superset POSTGRES_PASSWORD: superset ports: - 15432:5432 redis: - image: redis:7-alpine + image: ghcr.io/apache/superset/ci/redis:7-alpine ports: - 16379:6379 steps: diff --git a/.github/workflows/superset-python-integrationtest.yml b/.github/workflows/superset-python-integrationtest.yml index 4043b9bcb43..5b884b90c4b 100644 --- a/.github/workflows/superset-python-integrationtest.yml +++ b/.github/workflows/superset-python-integrationtest.yml @@ -48,7 +48,7 @@ jobs: mysql+mysqldb://superset:superset@127.0.0.1:13306/superset?charset=utf8mb4&binary_prefix=true services: mysql: - image: mysql:8.0 + image: ghcr.io/apache/superset/ci/mysql:8.0 # Authenticated pulls use our higher Docker Hub rate limit. Empty on # fork PRs (secrets unavailable) -> runner falls back to anonymous. env: @@ -61,7 +61,7 @@ jobs: --health-timeout=5s --health-retries=5 redis: - image: redis:7-alpine + image: ghcr.io/apache/superset/ci/redis:7-alpine options: --entrypoint redis-server ports: - 16379:6379 @@ -138,7 +138,7 @@ jobs: SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset services: postgres: - image: postgres:17-alpine + image: ghcr.io/apache/superset/ci/postgres:17-alpine env: POSTGRES_USER: superset POSTGRES_PASSWORD: superset @@ -147,7 +147,7 @@ jobs: # GitHub action runner's default installations - 15432:5432 redis: - image: redis:7-alpine + image: ghcr.io/apache/superset/ci/redis:7-alpine ports: - 16379:6379 steps: @@ -197,7 +197,7 @@ jobs: sqlite:///${{ github.workspace }}/.temp/examples.db?check_same_thread=true services: redis: - image: redis:7-alpine + image: ghcr.io/apache/superset/ci/redis:7-alpine ports: - 16379:6379 steps: diff --git a/.github/workflows/superset-python-presto-hive.yml b/.github/workflows/superset-python-presto-hive.yml index d94675c9913..3f35d7d47de 100644 --- a/.github/workflows/superset-python-presto-hive.yml +++ b/.github/workflows/superset-python-presto-hive.yml @@ -49,7 +49,7 @@ jobs: SUPERSET__SQLALCHEMY_EXAMPLES_URI: presto://localhost:15433/memory/default services: postgres: - image: postgres:17-alpine + image: ghcr.io/apache/superset/ci/postgres:17-alpine env: POSTGRES_USER: superset POSTGRES_PASSWORD: superset @@ -58,7 +58,7 @@ jobs: # GitHub action runner's default installations - 15432:5432 presto: - image: starburstdata/presto:350-e.6 + image: ghcr.io/apache/superset/ci/presto:350-e.6 env: POSTGRES_USER: superset POSTGRES_PASSWORD: superset @@ -67,7 +67,7 @@ jobs: # GitHub action runner's default installations - 15433:8080 redis: - image: redis:7-alpine + image: ghcr.io/apache/superset/ci/redis:7-alpine ports: - 16379:6379 steps: @@ -113,7 +113,7 @@ jobs: UPLOAD_FOLDER: /tmp/.superset/uploads/ services: postgres: - image: postgres:17-alpine + image: ghcr.io/apache/superset/ci/postgres:17-alpine env: POSTGRES_USER: superset POSTGRES_PASSWORD: superset @@ -122,7 +122,7 @@ jobs: # GitHub action runner's default installations - 15432:5432 redis: - image: redis:7-alpine + image: ghcr.io/apache/superset/ci/redis:7-alpine ports: - 16379:6379 steps: