From a6ba8fbf73d2c4eacc574d7260e34df22dc7c82b Mon Sep 17 00:00:00 2001 From: ix5 Date: Mon, 29 Apr 2024 00:22:32 +0200 Subject: [PATCH 1/5] docker/testbed: Use static base image Debian Bookworm w/ Node22 This prevents unexpected jumps in Debian releases when the `:current` tag changes and makes screenshot rendering more predictable --- docker/Dockerfile-js-testbed | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-js-testbed b/docker/Dockerfile-js-testbed index 6cf666766..f8b05f59c 100644 --- a/docker/Dockerfile-js-testbed +++ b/docker/Dockerfile-js-testbed @@ -3,9 +3,9 @@ # Note: Do not use alpine images as they do not contain needed GObject, X11 # etc. packages and complicate things -# :current resolves to NodeJS 17 on Debian Buster as of 03/2022 +# :22-bookworm resolves to NodeJS 22 on Debian Bookworm as of 04/2024 # https://hub.docker.com/_/node -FROM docker.io/node:current AS isso-js-testbed +FROM docker.io/node:22-bookworm AS isso-js-testbed WORKDIR /src/ # Install everything necessary to run headless From dc30552c2c866ae037f2b378b21fb310857b98dc Mon Sep 17 00:00:00 2001 From: ix5 Date: Mon, 29 Apr 2024 00:24:25 +0200 Subject: [PATCH 2/5] tests: Update screenshots and hashes Font rendering seems to have changed once again with the jump from Debian Buster to Bookworm (the Dockerfile was updated to pin Bookworm with Node 22) --- .../tests/screenshots/reference/comment.png | Bin 9315 -> 10630 bytes .../screenshots/reference/comment.png.hash | 2 +- .../tests/screenshots/reference/postbox.png | Bin 16483 -> 22286 bytes .../screenshots/reference/postbox.png.hash | 2 +- .../js/tests/screenshots/reference/thread.png | Bin 27205 -> 34008 bytes .../screenshots/reference/thread.png.hash | 2 +- 6 files changed, 3 insertions(+), 3 deletions(-) diff --git a/isso/js/tests/screenshots/reference/comment.png b/isso/js/tests/screenshots/reference/comment.png index 62db8f61286caaef9c1426febbe101b0a034d75c..6d803c90fc4e07229b3f9d9953ee3aaa155ff32b 100644 GIT binary patch literal 10630 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 literal 9315 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 literal 16483 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 diff --git a/isso/js/tests/screenshots/reference/thread.png.hash b/isso/js/tests/screenshots/reference/thread.png.hash index 49fe505d8..d793091e5 100644 --- a/isso/js/tests/screenshots/reference/thread.png.hash +++ b/isso/js/tests/screenshots/reference/thread.png.hash @@ -1 +1 @@ -3185d06957e792d48d28b47c3e2c7e89353aa8d70757d4c92890d38850a66e54 +78ea677962d3f80607995d9b88d81df2b7787832023cb7f1d64811829d0fc10a From 9a37f0cfbec51fa8102fa99641ed8352cb877f6e Mon Sep 17 00:00:00 2001 From: ix5 Date: Mon, 29 Apr 2024 00:26:05 +0200 Subject: [PATCH 3/5] .github: Add period rebuild for docker-js-testbed --- .../docker-testbed-periodic-rebuild.yaml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/docker-testbed-periodic-rebuild.yaml diff --git a/.github/workflows/docker-testbed-periodic-rebuild.yaml b/.github/workflows/docker-testbed-periodic-rebuild.yaml new file mode 100644 index 000000000..fd39eeedc --- /dev/null +++ b/.github/workflows/docker-testbed-periodic-rebuild.yaml @@ -0,0 +1,48 @@ +name: Rebuild js testbed image + +on: + workflow_dispatch: + schedule: + # Run weekly, at 2:15pm on Monday (chosen at random) + # https://cron.help/#15_14_*_*_1 + - cron: '15 14 * * 1' + +env: + build_platforms: ${{ vars.BUILD_PLATFORMS || 'linux/amd64' }} + build_image: ${{ vars.BUILD_IMAGE || 'ghcr.io/isso-comments/isso-js-testbed' }} + +jobs: + build: + runs-on: ubuntu-latest + permissions: + packages: write + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + flavor: | + latest=false + images: ${{ env.build_image }} + tags: | + type=raw,value=latest,enable={{is_default_branch}} + + - name: Login to Github Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Build docker-js-testbed + run: make docker-testbed + + - name: Push docker-js-testbed image as ${{ env.build_image }} + run: make docker-testbed-push From cada56a6bc67a47263d6346e0eec9bcb24def8a5 Mon Sep 17 00:00:00 2001 From: ix5 Date: Mon, 29 Apr 2024 00:27:37 +0200 Subject: [PATCH 4/5] .github/e2e: Make health checks more robust --- .github/workflows/e2e-tests.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index bb3baf0dc..0a45ef7dd 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -41,14 +41,16 @@ jobs: run: docker compose build isso-server - name: Bring up containers + # Don't wait for healthcheck via --wait. This would fail with a + # negative exit code since the isso-client container is expected to + # exit run: docker compose up -d - name: Client unit tests run: make docker-js-unit - - name: Check if containers are up, sleep if not - shell: bash - run: '[ "$(docker inspect --format={{.State.Health.Status}} isso-server)" = "healthy" ] || sleep 5' + - name: Wait for isso-server container to be ready + run: 'for i in $(seq 1 30); do [ "`docker inspect -f {{.State.Health.Status}} isso-server`" == "healthy" ] && s=0 && break || s=$? && sleep 0.3; done; (exit $s)' - name: Client integration tests run: make docker-js-integration From 265d8e6aaa326ac1bdc024aec534eb2129328113 Mon Sep 17 00:00:00 2001 From: ix5 Date: Sun, 28 Apr 2024 18:13:01 +0200 Subject: [PATCH 5/5] docker-compose: Fix health check and tune params --- docker-compose.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5648a90ee..fc36eef29 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,17 +14,20 @@ services: #command: /isso/bin/isso -c /config/isso.cfg run environment: ISSO_SETTINGS: "/config/isso-dev.cfg" + ISSO_ENDPOINT: "http://isso-dev.local:8080" healthcheck: - test: wget --no-verbose --tries=1 --spider http://localhost:8080/info || exit 1 - interval: 5s # short timeout needed during start phase - retries: 3 - start_period: 5s - timeout: 3s + # Double $$ for parsing vars inside CMD: https://stackoverflow.com/a/54989793 + # Debug with 'docker inspect --format "{{json .State.Health }}" isso-server | jq' + test: wget --no-verbose --tries=1 --spider $$ISSO_ENDPOINT/info || exit 1 + interval: 1s # time before first check and between subsequent checks + retries: 10 + start_period: 10s + timeout: 10s # If needed, production docker image can also be exposed to host for # non-docker unit/integration testing ports: - 127.0.0.1:8080:8080 - # Expose port 80080 to other containerized services, not to host machine: + # Expose port 8080 to other containerized services, not to host machine: expose: - 8080 networks: @@ -49,6 +52,8 @@ services: dockerfile: docker/Dockerfile-js-testbed environment: ISSO_ENDPOINT: "http://isso-dev.local:8080" + healthcheck: + disable: true # Command may also run from outside docker compose, e.g.: # $ docker run isso-js-testbed [mount, networks, ...] npm run test-integration #command: npm run test-integration