From 7544a706d3a1ec2c8110c1dca65e56163dbb950b Mon Sep 17 00:00:00 2001 From: VibeSWE <338779468+VibeSWE@users.noreply.github.com> Date: Wed, 11 Nov 2026 13:34:21 -0600 Subject: [PATCH] ci: build Quest from a pinned source commit The floating quay.io/parseablehq/quest:main image now expects 202 from stream deletion. This server still deletes synchronously and returns 200, so TestSmokeRbacBasic and TestSmokeRoles fail on main and on every pull request. The previous image digest is no longer available from the registry, so build Quest from the last source commit before that change. The compose files take the image and pull policy from QUEST_IMAGE and QUEST_PULL_POLICY and keep their previous defaults. Refs #151 Co-Authored-By: Claude Fable 5.2 --- .github/workflows/integration-test.yaml | 15 +++++++++++++++ docker-compose-distributed-test-with-kafka.yaml | 4 ++-- docker-compose-distributed-test.yaml | 4 ++-- docker-compose-gcs-distributed-test.yaml | 4 ++-- docker-compose-test-with-kafka.yaml | 4 ++-- docker-compose-test.yaml | 4 ++-- 6 files changed, 25 insertions(+), 10 deletions(-) diff --git a/.github/workflows/integration-test.yaml b/.github/workflows/integration-test.yaml index 123496873..9c4997522 100644 --- a/.github/workflows/integration-test.yaml +++ b/.github/workflows/integration-test.yaml @@ -67,6 +67,13 @@ jobs: PARSEABLE_TEST_IMAGE: parseable-ci:${{ github.sha }} COMPOSE_FILE: ${{ matrix.compose }} QUEST_MODE: ${{ inputs.full && 'load' || 'smoke' }} + # Quest is built from a fixed source commit instead of pulling the + # floating quay.io/parseablehq/quest:main image. Later Quest commits + # expect 202 from stream deletion, which this server does not return yet. + # Remove the pin when issue #151 is done. + QUEST_SOURCE_REF: f4a026eecde1badde8776ff366a743f9bbca2e67 + QUEST_IMAGE: quest-ci:pinned + QUEST_PULL_POLICY: never steps: - uses: actions/checkout@v4 - uses: actions/download-artifact@v4 @@ -84,6 +91,14 @@ jobs: run: | docker compose up --no-build --wait --wait-timeout 180 "$SERVER" docker compose exec -T "$SERVER" sh -ec 'curl --fail --silent --show-error --location http://localhost:8000/next/ | grep -q "Parseable ยท Observability"' + - name: Build Quest from the pinned source commit + run: | + src="$RUNNER_TEMP/quest-src" + git init --quiet "$src" + git -C "$src" fetch --quiet --depth 1 https://github.com/parseablehq/quest.git "$QUEST_SOURCE_REF" + git -C "$src" checkout --quiet FETCH_HEAD + test "$(git -C "$src" rev-parse HEAD)" = "$QUEST_SOURCE_REF" + docker build --tag "$QUEST_IMAGE" "$src" - name: Run Quest run: docker compose up --no-build --exit-code-from quest - name: Capture service logs diff --git a/docker-compose-distributed-test-with-kafka.yaml b/docker-compose-distributed-test-with-kafka.yaml index f173e22b0..1e22cf39c 100644 --- a/docker-compose-distributed-test-with-kafka.yaml +++ b/docker-compose-distributed-test-with-kafka.yaml @@ -194,8 +194,8 @@ services: quest: platform: linux/amd64 - image: quay.io/parseablehq/quest:main - pull_policy: always + image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} + pull_policy: ${QUEST_PULL_POLICY:-always} command: [ "load", diff --git a/docker-compose-distributed-test.yaml b/docker-compose-distributed-test.yaml index b46810649..c3bcdfc4a 100644 --- a/docker-compose-distributed-test.yaml +++ b/docker-compose-distributed-test.yaml @@ -109,8 +109,8 @@ services: quest: platform: linux/amd64 - image: quay.io/parseablehq/quest:main - pull_policy: always + image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} + pull_policy: ${QUEST_PULL_POLICY:-always} environment: - QUEST_EDITION=oss command: diff --git a/docker-compose-gcs-distributed-test.yaml b/docker-compose-gcs-distributed-test.yaml index a90e53e2f..66bf18f69 100644 --- a/docker-compose-gcs-distributed-test.yaml +++ b/docker-compose-gcs-distributed-test.yaml @@ -79,8 +79,8 @@ services: quest: platform: linux/amd64 - image: quay.io/parseablehq/quest:main - pull_policy: always + image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} + pull_policy: ${QUEST_PULL_POLICY:-always} command: [ "load", diff --git a/docker-compose-test-with-kafka.yaml b/docker-compose-test-with-kafka.yaml index ff8f09f2e..79d337e59 100644 --- a/docker-compose-test-with-kafka.yaml +++ b/docker-compose-test-with-kafka.yaml @@ -68,9 +68,9 @@ services: max_attempts: 3 quest: - image: quay.io/parseablehq/quest:main + image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} platform: linux/amd64 - pull_policy: always + pull_policy: ${QUEST_PULL_POLICY:-always} command: [ "load", "http://parseable:8000", diff --git a/docker-compose-test.yaml b/docker-compose-test.yaml index ddef891fb..5fc46d7aa 100644 --- a/docker-compose-test.yaml +++ b/docker-compose-test.yaml @@ -64,9 +64,9 @@ services: max_attempts: 3 quest: - image: quay.io/parseablehq/quest:main + image: ${QUEST_IMAGE:-quay.io/parseablehq/quest:main} platform: linux/amd64 - pull_policy: always + pull_policy: ${QUEST_PULL_POLICY:-always} environment: - QUEST_EDITION=oss command: [