From 7a6b1982ce142113d91a51a8ee8cb51d5217d5c2 Mon Sep 17 00:00:00 2001 From: VibeSWE <338779468+VibeSWE@users.noreply.github.com> Date: Wed, 11 Nov 2026 14:59:43 -0600 Subject: [PATCH 1/3] ci: default local compose runs to the pinned Quest build --- docker-compose-distributed-test-with-kafka.yaml | 7 +++++-- docker-compose-distributed-test.yaml | 7 +++++-- docker-compose-gcs-distributed-test.yaml | 7 +++++-- docker-compose-test-with-kafka.yaml | 7 +++++-- docker-compose-test.yaml | 7 +++++-- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/docker-compose-distributed-test-with-kafka.yaml b/docker-compose-distributed-test-with-kafka.yaml index 1e22cf39c..cbaf28ac3 100644 --- a/docker-compose-distributed-test-with-kafka.yaml +++ b/docker-compose-distributed-test-with-kafka.yaml @@ -194,8 +194,11 @@ services: quest: platform: linux/amd64 - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} - pull_policy: ${QUEST_PULL_POLICY:-always} + # Pin Quest until stream DELETE returns 202; remove with issue #151. + image: ${QUEST_IMAGE:-quest-pinned:f4a026e} + build: + context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} + pull_policy: ${QUEST_PULL_POLICY:-build} command: [ "load", diff --git a/docker-compose-distributed-test.yaml b/docker-compose-distributed-test.yaml index c3bcdfc4a..df1c74ea4 100644 --- a/docker-compose-distributed-test.yaml +++ b/docker-compose-distributed-test.yaml @@ -109,8 +109,11 @@ services: quest: platform: linux/amd64 - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} - pull_policy: ${QUEST_PULL_POLICY:-always} + # Pin Quest until stream DELETE returns 202; remove with issue #151. + image: ${QUEST_IMAGE:-quest-pinned:f4a026e} + build: + context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} + pull_policy: ${QUEST_PULL_POLICY:-build} environment: - QUEST_EDITION=oss command: diff --git a/docker-compose-gcs-distributed-test.yaml b/docker-compose-gcs-distributed-test.yaml index 66bf18f69..3e14db80b 100644 --- a/docker-compose-gcs-distributed-test.yaml +++ b/docker-compose-gcs-distributed-test.yaml @@ -79,8 +79,11 @@ services: quest: platform: linux/amd64 - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} - pull_policy: ${QUEST_PULL_POLICY:-always} + # Pin Quest until stream DELETE returns 202; remove with issue #151. + image: ${QUEST_IMAGE:-quest-pinned:f4a026e} + build: + context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} + pull_policy: ${QUEST_PULL_POLICY:-build} command: [ "load", diff --git a/docker-compose-test-with-kafka.yaml b/docker-compose-test-with-kafka.yaml index 79d337e59..b0ca1cd51 100644 --- a/docker-compose-test-with-kafka.yaml +++ b/docker-compose-test-with-kafka.yaml @@ -68,9 +68,12 @@ services: max_attempts: 3 quest: - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} + # Pin Quest until stream DELETE returns 202; remove with issue #151. + image: ${QUEST_IMAGE:-quest-pinned:f4a026e} + build: + context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} platform: linux/amd64 - pull_policy: ${QUEST_PULL_POLICY:-always} + pull_policy: ${QUEST_PULL_POLICY:-build} command: [ "load", "http://parseable:8000", diff --git a/docker-compose-test.yaml b/docker-compose-test.yaml index 5fc46d7aa..6ba6e2f08 100644 --- a/docker-compose-test.yaml +++ b/docker-compose-test.yaml @@ -64,9 +64,12 @@ services: max_attempts: 3 quest: - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} + # Pin Quest until stream DELETE returns 202; remove with issue #151. + image: ${QUEST_IMAGE:-quest-pinned:f4a026e} + build: + context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} platform: linux/amd64 - pull_policy: ${QUEST_PULL_POLICY:-always} + pull_policy: ${QUEST_PULL_POLICY:-build} environment: - QUEST_EDITION=oss command: [ From e784cd3c8f3f7bdc8ad4866d26f4cc65d6e54870 Mon Sep 17 00:00:00 2001 From: VibeSWE <338779468+VibeSWE@users.noreply.github.com> Date: Wed, 11 Nov 2026 15:28:29 -0600 Subject: [PATCH 2/3] ci: separate Quest source builds from image overrides Share the pinned source definition and select an image-only service when QUEST_IMAGE is supplied. Preserve CI no-build/no-pull behavior and avoid ref-derived tags. Co-Authored-By: Claude Opus 5.5 --- docker-compose-distributed-test-with-kafka.yaml | 8 +++----- docker-compose-distributed-test.yaml | 8 +++----- docker-compose-gcs-distributed-test.yaml | 8 +++----- docker-compose-quest.yaml | 17 +++++++++++++++++ docker-compose-test-with-kafka.yaml | 8 +++----- docker-compose-test.yaml | 8 +++----- 6 files changed, 32 insertions(+), 25 deletions(-) create mode 100644 docker-compose-quest.yaml diff --git a/docker-compose-distributed-test-with-kafka.yaml b/docker-compose-distributed-test-with-kafka.yaml index cbaf28ac3..721ac825b 100644 --- a/docker-compose-distributed-test-with-kafka.yaml +++ b/docker-compose-distributed-test-with-kafka.yaml @@ -194,11 +194,9 @@ services: quest: platform: linux/amd64 - # Pin Quest until stream DELETE returns 202; remove with issue #151. - image: ${QUEST_IMAGE:-quest-pinned:f4a026e} - build: - context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} - pull_policy: ${QUEST_PULL_POLICY:-build} + extends: + file: docker-compose-quest.yaml + service: quest-source${QUEST_IMAGE:+-image} command: [ "load", diff --git a/docker-compose-distributed-test.yaml b/docker-compose-distributed-test.yaml index df1c74ea4..4864fde17 100644 --- a/docker-compose-distributed-test.yaml +++ b/docker-compose-distributed-test.yaml @@ -109,11 +109,9 @@ services: quest: platform: linux/amd64 - # Pin Quest until stream DELETE returns 202; remove with issue #151. - image: ${QUEST_IMAGE:-quest-pinned:f4a026e} - build: - context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} - pull_policy: ${QUEST_PULL_POLICY:-build} + extends: + file: docker-compose-quest.yaml + service: quest-source${QUEST_IMAGE:+-image} environment: - QUEST_EDITION=oss command: diff --git a/docker-compose-gcs-distributed-test.yaml b/docker-compose-gcs-distributed-test.yaml index 3e14db80b..44cf989d2 100644 --- a/docker-compose-gcs-distributed-test.yaml +++ b/docker-compose-gcs-distributed-test.yaml @@ -79,11 +79,9 @@ services: quest: platform: linux/amd64 - # Pin Quest until stream DELETE returns 202; remove with issue #151. - image: ${QUEST_IMAGE:-quest-pinned:f4a026e} - build: - context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} - pull_policy: ${QUEST_PULL_POLICY:-build} + extends: + file: docker-compose-quest.yaml + service: quest-source${QUEST_IMAGE:+-image} command: [ "load", diff --git a/docker-compose-quest.yaml b/docker-compose-quest.yaml new file mode 100644 index 000000000..7541d3e32 --- /dev/null +++ b/docker-compose-quest.yaml @@ -0,0 +1,17 @@ +# Pin Quest until stream DELETE returns 202 (issue #151). +# To remove the pin, find all references: grep -rn 'issue #151\|f4a026e' +services: + quest-source: + build: + context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} + # Rebuild by default so changing QUEST_SOURCE_REF cannot reuse stale source. + # Compose tags this as -quest; refs (which may contain /) are not tags. + # BuildKit caches layers, but the git context still needs network access. + # For offline/repeat runs: docker compose build quest once, then up --no-build. + pull_policy: ${QUEST_PULL_POLICY:-build} + + # Selected by the calling file whenever QUEST_IMAGE is nonempty. No build + # context: an explicit image can never be overwritten by a source build. + quest-source-image: + image: ${QUEST_IMAGE:-} + pull_policy: ${QUEST_PULL_POLICY:-missing} diff --git a/docker-compose-test-with-kafka.yaml b/docker-compose-test-with-kafka.yaml index b0ca1cd51..352f24ae5 100644 --- a/docker-compose-test-with-kafka.yaml +++ b/docker-compose-test-with-kafka.yaml @@ -68,12 +68,10 @@ services: max_attempts: 3 quest: - # Pin Quest until stream DELETE returns 202; remove with issue #151. - image: ${QUEST_IMAGE:-quest-pinned:f4a026e} - build: - context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} + extends: + file: docker-compose-quest.yaml + service: quest-source${QUEST_IMAGE:+-image} platform: linux/amd64 - pull_policy: ${QUEST_PULL_POLICY:-build} command: [ "load", "http://parseable:8000", diff --git a/docker-compose-test.yaml b/docker-compose-test.yaml index 6ba6e2f08..acb37057c 100644 --- a/docker-compose-test.yaml +++ b/docker-compose-test.yaml @@ -64,12 +64,10 @@ services: max_attempts: 3 quest: - # Pin Quest until stream DELETE returns 202; remove with issue #151. - image: ${QUEST_IMAGE:-quest-pinned:f4a026e} - build: - context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} + extends: + file: docker-compose-quest.yaml + service: quest-source${QUEST_IMAGE:+-image} platform: linux/amd64 - pull_policy: ${QUEST_PULL_POLICY:-build} environment: - QUEST_EDITION=oss command: [ From 61f9a93bb73e515ab76d5e93c34eeb3c95d8344c Mon Sep 17 00:00:00 2001 From: VibeSWE <338779468+VibeSWE@users.noreply.github.com> Date: Wed, 11 Nov 2026 15:33:06 -0600 Subject: [PATCH 3/3] ci: clarify Quest pin removal and source rebuild guidance Co-Authored-By: Claude Opus 5.5 --- docker-compose-quest.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docker-compose-quest.yaml b/docker-compose-quest.yaml index 7541d3e32..af3f6e2d8 100644 --- a/docker-compose-quest.yaml +++ b/docker-compose-quest.yaml @@ -1,17 +1,21 @@ # Pin Quest until stream DELETE returns 202 (issue #151). -# To remove the pin, find all references: grep -rn 'issue #151\|f4a026e' +# Find pin references: grep -rnE 'issue #151|f4a026e' . +# Remove the pin in quest-source here and QUEST_SOURCE_REF in +# .github/workflows/integration-test.yaml; the five extends callers can stay. services: quest-source: build: context: https://github.com/parseablehq/quest.git#${QUEST_SOURCE_REF:-f4a026eecde1badde8776ff366a743f9bbca2e67} # Rebuild by default so changing QUEST_SOURCE_REF cannot reuse stale source. - # Compose tags this as -quest; refs (which may contain /) are not tags. + # The -quest tag does not encode the ref: after changing + # QUEST_SOURCE_REF, rebuild before using up --no-build. # BuildKit caches layers, but the git context still needs network access. # For offline/repeat runs: docker compose build quest once, then up --no-build. pull_policy: ${QUEST_PULL_POLICY:-build} # Selected by the calling file whenever QUEST_IMAGE is nonempty. No build # context: an explicit image can never be overwritten by a source build. + # QUEST_IMAGE must be valid when set; whitespace selects image mode and fails. quest-source-image: image: ${QUEST_IMAGE:-} pull_policy: ${QUEST_PULL_POLICY:-missing}