diff --git a/docker-compose-distributed-test-with-kafka.yaml b/docker-compose-distributed-test-with-kafka.yaml index 1e22cf39c..721ac825b 100644 --- a/docker-compose-distributed-test-with-kafka.yaml +++ b/docker-compose-distributed-test-with-kafka.yaml @@ -194,8 +194,9 @@ services: quest: platform: linux/amd64 - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} - pull_policy: ${QUEST_PULL_POLICY:-always} + 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 c3bcdfc4a..4864fde17 100644 --- a/docker-compose-distributed-test.yaml +++ b/docker-compose-distributed-test.yaml @@ -109,8 +109,9 @@ services: quest: platform: linux/amd64 - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} - pull_policy: ${QUEST_PULL_POLICY:-always} + 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 66bf18f69..44cf989d2 100644 --- a/docker-compose-gcs-distributed-test.yaml +++ b/docker-compose-gcs-distributed-test.yaml @@ -79,8 +79,9 @@ services: quest: platform: linux/amd64 - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} - pull_policy: ${QUEST_PULL_POLICY:-always} + 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..af3f6e2d8 --- /dev/null +++ b/docker-compose-quest.yaml @@ -0,0 +1,21 @@ +# Pin Quest until stream DELETE returns 202 (issue #151). +# 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. + # 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} diff --git a/docker-compose-test-with-kafka.yaml b/docker-compose-test-with-kafka.yaml index 79d337e59..352f24ae5 100644 --- a/docker-compose-test-with-kafka.yaml +++ b/docker-compose-test-with-kafka.yaml @@ -68,9 +68,10 @@ services: max_attempts: 3 quest: - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} + extends: + file: docker-compose-quest.yaml + service: quest-source${QUEST_IMAGE:+-image} platform: linux/amd64 - pull_policy: ${QUEST_PULL_POLICY:-always} command: [ "load", "http://parseable:8000", diff --git a/docker-compose-test.yaml b/docker-compose-test.yaml index 5fc46d7aa..acb37057c 100644 --- a/docker-compose-test.yaml +++ b/docker-compose-test.yaml @@ -64,9 +64,10 @@ services: max_attempts: 3 quest: - image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} + extends: + file: docker-compose-quest.yaml + service: quest-source${QUEST_IMAGE:+-image} platform: linux/amd64 - pull_policy: ${QUEST_PULL_POLICY:-always} environment: - QUEST_EDITION=oss command: [