From 7ef86125b14b22f00f59a1f4ebe68b508b5ccb5e Mon Sep 17 00:00:00 2001 From: Marlon Saglia Date: Thu, 8 Aug 2024 15:31:43 +0200 Subject: [PATCH] feat(link-checker): Simplify link-checker workflow configuration Simplify the link-checker workflow to utilize a reusable workflow. This reduces the amount of configuration needed in the repository and makes the workflow more maintainable. --- .github/workflows/link-checker.yml | 82 ++++++++---------------------- 1 file changed, 22 insertions(+), 60 deletions(-) diff --git a/.github/workflows/link-checker.yml b/.github/workflows/link-checker.yml index 18616ebf1f..4ca8f9eae8 100644 --- a/.github/workflows/link-checker.yml +++ b/.github/workflows/link-checker.yml @@ -1,66 +1,28 @@ -name: Link Checker +name: Link checker on: workflow_dispatch: - schedule: - - cron: "2 0 * * *" - - # START Temporary for testing. - pull_request: - branches: [main] push: - branches: ["link-checker-workflow-configuration"] - # END Temporary for testing. - -defaults: - run: - # Specify to ensure "pipefail and errexit" are set. - # Ref: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#defaultsrunshell - shell: bash + branches: + - master + pull_request: + branches: + - master + schedule: + - cron: "00 3 * * 1-5" jobs: - link-checker-documentation: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: 3.1 - bundler-cache: true - - - name: check links - env: - LANG: "C.UTF-8" - run: | - bundle exec jekyll build - # - # Remove the redirect-files before link-check - find _site/en _site/documentation -name \*.html | \ - xargs grep -l "Click here if you are not redirected." | xargs rm - # - # htmlproofer does not check links inside -elements - find _site -name \*.html | xargs sed -i.orig 's/]*>//g; s/<\/code>//g; s/]*>//g; s/<\/pre>//g;' - find _site -name \*.orig | xargs rm - # - bundle exec htmlproofer \ - --assume-extension .html \ - --no-enforce-https \ - --no-check-external-hash \ - --allow-missing-href \ - --ignore-files '/playground/index.html/' \ - --ignore-urls '\ - /localhost:8080/,\ - /docs.vespa.ai/playground/,\ - /javadoc.io.*#/,\ - /readthedocs.io.*#/,\ - /linux.die.net/,\ - /arxiv.org/,\ - /hub.docker.com/r/,\ - /platform.openai.com/' \ - --typhoeus '{"connecttimeout": 10, "timeout": 30, "accept_encoding": "zstd,br,gzip,deflate"}' \ - --hydra '{"max_concurrency": 1}' \ - --swap-urls '(https\://github.com.*/master/.*)#.*:\1,(https\://github.com.*/main/.*)#.*:\1' \ - _site + test: + uses: vespa-engine/gh-actions-workflows/.github/workflows/jekyll-link-checker.yml@link-checker + with: + ignore-files: |- + /playground/index.html/ + ignore-urls: |- + /localhost:8080/ + /docs.vespa.ai/playground/ + /javadoc.io.*#/ + /readthedocs.io.*#/ + /linux.die.net/ + /arxiv.org/ + /hub.docker.com/r/ + /platform.openai.com/