Bladeren bron

[ci] Remove old and flaky documentation lint check from existing CI workflows and add a new Docs Lint workflow for improved link checking

Harsh Gupta 5 maanden geleden
bovenliggende
commit
40d7cbfc1f
3 gewijzigde bestanden met toevoegingen van 40 en 30 verwijderingen
  1. 0 15
      .github/workflows/arm64-python-ci.yml
  2. 0 15
      .github/workflows/commitflow-py3.yml
  3. 40 0
      .github/workflows/docs_lint.yml

+ 0 - 15
.github/workflows/arm64-python-ci.yml

@@ -67,21 +67,6 @@ jobs:
         export ROOT=$PWD
         make apps docs test_prep
 
-    - name: Run documentation lint check
-      run: |
-        curl -O https://dl.google.com/go/go1.23.4.linux-arm64.tar.gz
-        tar -xvf go1.23.4.linux-arm64.tar.gz
-        go/bin/go install github.com/raviqqe/muffet/v2@latest
-
-        curl --output hugo_0.69.0_Linux.tar.gz -L https://github.com/gohugoio/hugo/releases/download/v0.69.0/hugo_0.69.0_Linux-ARM64.tar.gz
-        tar -xvf hugo_0.69.0_Linux.tar.gz
-
-        export PATH=$PWD:$HOME/go/bin:$PATH
-
-        # Trigger linting if documentation changes
-        ./tools/ci/check_for_website_dead_links.sh docs/docs-site
-        # ./tools/ci/check_for_website_dead_links.sh docs/gethue
-
     - name: Run python lint check
       run: |
         PYTHONWARNINGS=always ./build/env/bin/hue runruff check

+ 0 - 15
.github/workflows/commitflow-py3.yml

@@ -73,21 +73,6 @@ jobs:
           PYTHONWARNINGS=always ./build/venvs/python${{ matrix.python-version }}/bin/hue runruff check
         fi
 
-    - name: Run documentation lint check
-      run: |
-        curl -O https://dl.google.com/go/go1.23.4.linux-amd64.tar.gz
-        tar -xvf go1.23.4.linux-amd64.tar.gz
-        go/bin/go install github.com/raviqqe/muffet/v2@latest
-
-        curl --output hugo_0.69.0_Linux.tar.gz -L https://github.com/gohugoio/hugo/releases/download/v0.69.0/hugo_0.69.0_Linux-64bit.tar.gz
-        tar -xvf hugo_0.69.0_Linux.tar.gz
-
-        export PATH=$PWD:$HOME/go/bin:$PATH
-
-        # Trigger linting if documentation changes
-        ./tools/ci/check_for_website_dead_links.sh docs/docs-site
-        # ./tools/ci/check_for_website_dead_links.sh docs/gethue
-
     - name: Upload reports
       if: matrix.python-version == '3.11'
       uses: actions/upload-artifact@v4

+ 40 - 0
.github/workflows/docs_lint.yml

@@ -0,0 +1,40 @@
+name: Docs Lint
+
+on:
+  pull_request:
+    paths:
+      - 'docs/docs-site/**'
+
+jobs:
+  link-check:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Install Hugo
+        run: |
+          curl -sL https://github.com/gohugoio/hugo/releases/download/v0.69.0/hugo_0.69.0_Linux-64bit.tar.gz -o hugo.tar.gz
+          tar -xzf hugo.tar.gz
+          sudo mv hugo /usr/local/bin/
+
+      - name: Build & serve Hugo site
+        working-directory: docs/docs-site
+        run: |
+          hugo server --port 1313 --bind 127.0.0.1 --watch=false &> /tmp/hugo.log &
+          echo "Hugo PID: $!"
+          sleep 5
+
+      - name: Run Lychee link check
+        id: lychee
+        uses: lycheeverse/lychee-action@v2
+        with:
+          # point at your local server URL
+          args: http://localhost:1313/ --exclude "https://issues.cloudera.org*|http://localhost:8005|http://localhost:5555*|https://issues.apache.org/jira*|https://github.com*|http://demo.gethue.com*|https://twitter.com/gethue|https://cdn.gethue.com/downloads/*|https://pypi.org*"
+          fail: true  # fail the job if any broken links are found
+          format: markdown
+
+      - name: Tear down Hugo
+        if: always()
+        run: pkill hugo || true