From 790c318044680aa25524d4dcc4a9b12264bf4019 Mon Sep 17 00:00:00 2001 From: otegami Date: Fri, 3 Oct 2025 08:17:28 +0900 Subject: [PATCH 1/3] ci test: use latest tag instead of version tag ## Issue The following error is raised when we want to test no-release images as follows. ``` tag="${LATEST_VERSION}-debian-17" docker_image="groonga/pgroonga:${tag}" docker run \ -d \ -e POSTGRES_DB=pgroonga \ -e POSTGRES_PASSWORD=${PGPASSWORD} \ -e POSTGRES_USER=pgroonga \ -p 127.0.0.1:5432:5432 \ ${docker_image} shell: /usr/bin/bash -e {0} env: LATEST_VERSION: 4.0.4 PGPASSWORD: pgroonga Unable to find image 'groonga/pgroonga:4.0.4-debian-17' locally docker: Error response from daemon: manifest for groonga/pgroonga:4.0.4-debian-17 not found: manifest unknown: manifest unknown Run 'docker run --help' for more information Error: Process completed with exit code 125. ``` ref: https://github.com/pgroonga/docker/actions/runs/18187593348/job/51775157123 ## Cause The version specific tag (e.g., 4.0.4-debian-16) doesn't exist until after release, but the latest tag is available when testing. ref: https://github.com/pgroonga/docker/blob/main/.github/workflows/build.yml#L63-L76 ## Fix We will use the latest tag instead of tag from this PR. And then, we can release the latest image even before releasing the new Docker image version. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5864016..96beff6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -62,7 +62,7 @@ jobs: env: PGPASSWORD: pgroonga run: | - tag="${LATEST_VERSION}-${{ matrix.id }}" + tag="latest-${{ matrix.id }}" docker_image="groonga/pgroonga:${tag}" docker run \ -d \ From d8142ec24b6614cbcc9b73da35cd2d4e47da2be8 Mon Sep 17 00:00:00 2001 From: otegami Date: Fri, 3 Oct 2025 09:50:56 +0900 Subject: [PATCH 2/3] ci test: use version tag on schedule, latest tag otherwise On scheduled runs (daily cron), use version-specific tag to verify the released version works correctly. On push/PR runs, use latest tag since the version-specific tag doesn't exist yet before release. --- .github/workflows/test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 96beff6..0720f48 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -62,7 +62,11 @@ jobs: env: PGPASSWORD: pgroonga run: | - tag="latest-${{ matrix.id }}" + if [ ${{ github.event_name }} = "schedule" ]; then + tag="${LATEST_VERSION}-${{ matrix.id }}" + else + tag="latest-${{ matrix.id }}" + fi docker_image="groonga/pgroonga:${tag}" docker run \ -d \ From 2bcf376c31bd6240fbcb07c43a24333897dfc11a Mon Sep 17 00:00:00 2001 From: otegami Date: Fri, 3 Oct 2025 17:30:44 +0900 Subject: [PATCH 3/3] use an environment variable It's because we should keep the evaluation phase short and write minimal code. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0720f48..cc0d1ec 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -62,7 +62,7 @@ jobs: env: PGPASSWORD: pgroonga run: | - if [ ${{ github.event_name }} = "schedule" ]; then + if [ ${GITHUB_EVENT_NAME} = "schedule" ]; then tag="${LATEST_VERSION}-${{ matrix.id }}" else tag="latest-${{ matrix.id }}"