Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
803a99b
chore(deps): update github actions digests
renovate[bot] Dec 20, 2025
68b46b9
Bump versions
jonathanrainer Jan 9, 2026
94683ee
chore(deps): update dependency apollographql/router to v2.10.0
renovate[bot] Jan 14, 2026
4cfb142
chore(deps): update almalinux:10-minimal docker digest to 4f02be9
renovate[bot] Jan 17, 2026
5f1d4af
chore(deps): update otel/opentelemetry-collector-contrib docker diges…
renovate[bot] Jan 17, 2026
8287695
chore(deps): update dependency apollographql/apollo-mcp-server to v1.6.0
renovate[bot] Jan 23, 2026
ba78d57
fix(docker): downgrade to almalinux:9-minimal to fix arm64 build
gocamille Jan 23, 2026
0b2f30c
fix(docker): use almalinux:10 with legacy tar for arm64 compat
gocamille Jan 23, 2026
7a11405
fix(docker): install tar in source stage
gocamille Jan 23, 2026
450fb9a
fix(docker): use bsdtar via libarchive for arm64 compat
gocamille Jan 23, 2026
ed53df1
fix(docker): dynamically locate bsdtar
gocamille Jan 23, 2026
f9716d0
fix(docker): install bsdtar package explicitely
gocamille Jan 23, 2026
c67d8a1
Merge remote-tracking branch 'origin/renovate/gha-digests' into chore…
gocamille Jan 23, 2026
c2b3279
Merge remote-tracking branch 'origin/renovate/otel-opentelemetry-coll…
gocamille Jan 23, 2026
cfc2b8e
Merge remote-tracking branch 'origin/renovate/almalinux-10-minimal' i…
gocamille Jan 23, 2026
92f98e2
Merge remote-tracking branch 'origin/renovate/apollographql-router-2.…
gocamille Jan 23, 2026
2bdc754
(build): replace bsdtar with setup-qemu-action for multi-arch builds
gocamille Jan 26, 2026
c893b7a
(build): update setup-qemu-action step with latest build for multi-ar…
gocamille Jan 26, 2026
25773ba
(build): replace setup-qemu-action using patched image
gocamille Jan 26, 2026
f28a560
(build): revert to bsdtar for stability
gocamille Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ concurrency:

on:
push:
branches: [ 'main' ]
branches: ['main']
pull_request:
env:
REGISTRY: ghcr.io
Expand All @@ -25,7 +25,7 @@ jobs:
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@c2d88d3ecc89a9ef08eebf45d9637801dcee7eb5
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
- name: Add Tool To Parse Dockerfiles
uses: taiki-e/install-action@parse-dockerfile
- name: Get Versions From Dockerfile
Expand Down Expand Up @@ -84,22 +84,24 @@ jobs:
org.opencontainers.image.description=${{ steps.remove-quotes.outputs.description }}
org.opencontainers.image.title=${{ steps.remove-quotes.outputs.title }}
- name: Log in to the Container Registry
uses: docker/login-action@28fdb31ff34708d19615a74d67103ddc2ea9725c
uses: docker/login-action@6862ffc5ab2cdb4405cf318a62a6f4c066e2298b
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker
uses: docker/setup-docker-action@f2e530b12f4bab4483f63f0eebbde26dab3fdc5d
uses: docker/setup-docker-action@e43656e248c0bd0647d3f5c195d116aacf6fcaf4
with:
daemon-config: |
{
"features": {
"containerd-snapshotter": true
}
}
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@1583c0f09d26c58c59d25b0eef29792b7ce99d9a
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f
- name: Build and Load Docker Image For Testing
id: build-for-testing
uses: docker/build-push-action@9e436ba9f2d7bcd1d038c8e55d039d37896ddc5d
Expand Down Expand Up @@ -139,16 +141,16 @@ jobs:
--timeout "0h9m0s" \
--sensitive-data
- name: Log in to the GitHub Container Registry
uses: docker/login-action@28fdb31ff34708d19615a74d67103ddc2ea9725c
uses: docker/login-action@6862ffc5ab2cdb4405cf318a62a6f4c066e2298b
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Authenticate With GCP
id: auth
uses: 'google-github-actions/auth@fc2174804b84f912b1f6d334e9463f484f1c552d'
uses: "google-github-actions/auth@fc2174804b84f912b1f6d334e9463f484f1c552d"
with:
token_format: 'access_token'
token_format: "access_token"
project_id: "platform-mgmt-service-e0izz"
service_account: "runtime-container-ci@platform-mgmt-service-e0izz.iam.gserviceaccount.com"
workload_identity_provider: "projects/865738624352/locations/global/workloadIdentityPools/github-d8bck/providers/github-d8bck"
Expand All @@ -159,10 +161,10 @@ jobs:
secrets: |-
token:platform-prod-service-q8dyj/docker_hub_push_token
- name: Docker Auth
uses: docker/login-action@28fdb31ff34708d19615a74d67103ddc2ea9725c
uses: docker/login-action@6862ffc5ab2cdb4405cf318a62a6f4c066e2298b
with:
username: 'apollograph'
password: '${{ steps.gsm.outputs.token }}'
username: "apollograph"
password: "${{ steps.gsm.outputs.token }}"
- name: Build and Push Docker image
id: push
uses: docker/build-push-action@9e436ba9f2d7bcd1d038c8e55d039d37896ddc5d
Expand All @@ -187,4 +189,3 @@ jobs:
tag_name: ${{ steps.check-image.outputs.tag }}
release_name: Apollo Runtime Container - v${{ steps.calculate-version.outputs.correct_version }} (Router - v${{ fromJSON(steps.get-versions.outputs.versions).APOLLO_ROUTER_VERSION }}, MCP Server - v${{ fromJSON(steps.get-versions.outputs.versions).APOLLO_MCP_SERVER_VERSION }})
body: Find the latest release at ${{ env.NAMESPACED_REGISTRY }}:${{ steps.check-image.outputs.tag }} or ${{ env.NAMESPACED_DOCKERHUB_REGISTRY }}:${{ steps.check-image.outputs.tag }}.

32 changes: 16 additions & 16 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
FROM otel/opentelemetry-collector-contrib@sha256:886722fe0f37af9d1fe24d29529253ec59fbf263b3b1df4facaf221373e19d23 AS otel
FROM almalinux:10-minimal@sha256:451d0aa4124932abd439c9dc62792ab4c388f1dc12ba219fbf761abb04afc338 AS final
FROM otel/opentelemetry-collector-contrib@sha256:f051aff195ad50ed5ad9d95bcdd51d7258200c937def3797cf830366ed62e034 AS otel
FROM almalinux:10-minimal@sha256:4f02be934419e0cc0b89f95be6463be8a7736eb75017f99ab66c9b0c59680cc6 AS final

# renovate: datasource=github-releases depName=just-containers/s6-overlay
ARG S6_OVERLAY_VERSION=3.2.1.0
# renovate: datasource=github-releases depName=apollographql/router
ARG APOLLO_ROUTER_VERSION=2.9.0
ARG APOLLO_ROUTER_VERSION=2.10.0
# renovate: datasource=github-releases depName=apollographql/apollo-mcp-server
ARG APOLLO_MCP_SERVER_VERSION=1.3.0
ARG APOLLO_MCP_SERVER_VERSION=1.6.0

LABEL org.opencontainers.image.version=0.0.30
LABEL org.opencontainers.image.version=0.0.31
LABEL org.opencontainers.image.vendor="Apollo GraphQL"
LABEL org.opencontainers.image.title="Apollo Runtime"
LABEL org.opencontainers.image.description="A GraphQL Runtime for serving Supergraphs and enabling AI"
Expand All @@ -20,7 +20,7 @@ USER root
WORKDIR /opt

# Install dependencies to aid build
RUN microdnf install -y tar xz wget which gzip
RUN microdnf install -y tar xz wget which gzip bsdtar && ln -sf /usr/bin/bsdtar /usr/bin/tar

# Add all the s6 init supervise stuff.
# Firstly download the no-arch bits
Expand All @@ -29,16 +29,16 @@ RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz

# Calculate which architecture dependent parts we require
RUN case $TARGETARCH in \
amd64) \
wget https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz -O /tmp/s6.tar.xz \
;; \
arm64) \
wget https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-aarch64.tar.xz -O /tmp/s6.tar.xz \
;; \
*) \
echo "TARGETARCH $TARGETARCH not recognised, exiting..." \
exit 1 \
;; \
amd64) \
wget https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz -O /tmp/s6.tar.xz \
;; \
arm64) \
wget https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-aarch64.tar.xz -O /tmp/s6.tar.xz \
;; \
*) \
echo "TARGETARCH $TARGETARCH not recognised, exiting..." \
exit 1 \
;; \
esac

# Extract the architecture dependent parts
Expand Down