This is an automated email from the ASF dual-hosted git repository.

imbajin pushed a commit to branch feat/oink-core-platform
in repository https://gitbox.apache.org/repos/asf/hugegraph-doc.git

commit fe7edbf6d32e2da0e7b50a73d81757e8bcbfe212
Author: dark <[email protected]>
AuthorDate: Fri Sep 4 21:12:05 2026 +0800

    fix(ci): provision avatar validators
    
    - install cwebp and dwebp before source validation
    - verify both tools are available in the prepare job
    - keep the Hugo and WebP setup order under a static contract
---
 .github/workflows/hugo.yml           |  6 ++++++
 tests/e2e/workflow-contract.test.cjs | 10 ++++++++++
 2 files changed, 16 insertions(+)

diff --git a/.github/workflows/hugo.yml b/.github/workflows/hugo.yml
index b34fffec9..670404fdc 100644
--- a/.github/workflows/hugo.yml
+++ b/.github/workflows/hugo.yml
@@ -70,6 +70,12 @@ jobs:
         with:
           hugo-version: ${{ env.HUGO_VERSION }}
           extended: true
+      - name: Install WebP validators
+        run: |
+          sudo apt-get update
+          sudo apt-get install --yes --no-install-recommends webp
+          command -v cwebp
+          command -v dwebp
 
       - name: Resolve trusted event plan
         id: plan
diff --git a/tests/e2e/workflow-contract.test.cjs 
b/tests/e2e/workflow-contract.test.cjs
index ef43141f1..dcccf8731 100644
--- a/tests/e2e/workflow-contract.test.cjs
+++ b/tests/e2e/workflow-contract.test.cjs
@@ -31,3 +31,13 @@ test("event plan fixes origins, branches, confirmations, and 
five-version order"
   assert.match(workflow, /production:asf-site\|staging:asf-staging-oink/);
   assert.doesNotMatch(workflow, /permissions:\s*write-all/);
 });
+
+test("prepare pins Hugo and WebP tools before source validators", () => {
+  const setupHugo = workflow.indexOf("name: Setup Hugo Extended");
+  const setupWebp = workflow.indexOf("name: Install WebP validators");
+  const validators = workflow.indexOf("name: Validate source and version 
tooling");
+  assert.ok(setupHugo >= 0 && setupHugo < validators);
+  assert.ok(setupWebp >= 0 && setupWebp < validators);
+  assert.match(workflow, /apt-get install --yes --no-install-recommends webp/);
+  assert.match(workflow, /command -v cwebp[\s\S]*command -v dwebp/);
+});

Reply via email to