diff --git a/.github/workflows/docs-linkcheck.yml b/.github/workflows/docs-linkcheck.yml index b5974fa8..7be59ce8 100644 --- a/.github/workflows/docs-linkcheck.yml +++ b/.github/workflows/docs-linkcheck.yml @@ -1,6 +1,7 @@ name: "Docs linkcheck" on: + pull_request: workflow_dispatch: schedule: - cron: '0 7 * * 1' # At 07:00 on Monday @@ -23,4 +24,6 @@ jobs: persist-credentials: false - uses: nixbuild/nix-quick-install-action@2c9db80fb984ceb1bcaa77cdda3fdf8cfba92035 # v34 - name: "Check docs links" - run: nix run --print-build-logs '.#ci-scripts/docs-linkcheck' + run: nix run --print-build-logs '.#checks.x86_64-linux.docs-linkcheck.online' + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/flake.lock b/flake.lock index 857f500f..4523954b 100644 --- a/flake.lock +++ b/flake.lock @@ -113,11 +113,11 @@ ] }, "locked": { - "lastModified": 1769116518, - "narHash": "sha256-M+etHAj3oI9zr+Cpj5u2kMAddvxcJCmnWRtH/SklYlY=", + "lastModified": 1772865871, + "narHash": "sha256-/ZTSg97aouL0SlPHaokA4r3iuH9QzHVuWPACD2CUCFY=", "owner": "nix-community", "repo": "pyproject.nix", - "rev": "ab521eddafb936498f18c86d83e1774a53b1cb8a", + "rev": "e537db02e72d553cea470976b9733581bcf5b3ed", "type": "github" }, "original": { @@ -166,11 +166,11 @@ "pyproject-nix": "pyproject-nix" }, "locked": { - "lastModified": 1770313396, - "narHash": "sha256-48W3/JyieRk21WV3bNTm1AV2P2rD4i9rTQKMbYON4dY=", + "lastModified": 1773046302, + "narHash": "sha256-IM0TKBKwpQ8wZ2bYZIuJ6Iu7NeQhhgs5VniOsvSDhYY=", "owner": "minijackson", "repo": "sphinxcontrib-nixdomain", - "rev": "61ccacb2b18a5865a1a80c85982bcd1b309c7954", + "rev": "2357099a36b59cb960ce7daab592e06cb60fe47d", "type": "github" }, "original": { diff --git a/pkgs/ci-scripts/by-name/docs-linkcheck/package.nix b/pkgs/ci-scripts/by-name/docs-linkcheck/package.nix deleted file mode 100644 index 140b464d..00000000 --- a/pkgs/ci-scripts/by-name/docs-linkcheck/package.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - lib, - writeShellApplication, - nix, - epnixLib, -}: -let - do-linkcheck = writeShellApplication { - name = "docs-do-linkcheck"; - - runtimeInputs = [ nix ]; - - text = '' - eval "$(nix print-dev-env .#docs)" - - export dontUnpack=true - export dontInstall=true - cd docs - - export buildPhase="make linkcheck" - genericBuild - ''; - }; -in -writeShellApplication { - name = "docs-linkcheck"; - - text = '' - env -i TERM="$TERM" "${lib.getExe do-linkcheck}" - ''; - - meta = { - description = "Script that checks the links in the documentation"; - maintainers = with epnixLib.maintainers; [ minijackson ]; - license = lib.licenses.asl20; - }; -} diff --git a/pkgs/tests/default.nix b/pkgs/tests/default.nix index 4e14d67b..42380692 100644 --- a/pkgs/tests/default.nix +++ b/pkgs/tests/default.nix @@ -1,4 +1,28 @@ # Non-NixOS tests -{ pkgs, ... }: +{ pkgs, self, ... }: { + docs-linkcheck = pkgs.testers.lycheeLinkCheck { + site = "${pkgs.epnix.docs}/share/doc/epnix/html"; + remap = let + current-version = pkgs.epnixLib.versions.current; + current-branch = if current-version == "dev" then "master" else current-version; + in { + "^https://epics-extensions.github.io/EPNix/${current-version}/" = + "file://${pkgs.epnix.docs}/share/doc/epnix/html/"; + + "^https://github.com/epics-extensions/(epn|EPN)ix/blob/${current-branch}/([^?]+)(\\?.+)?$" = "file://${self}/\\$2"; + "^https://github.com/epics-extensions/(epn|EPN)ix/tree/${current-branch}/([^?]+)(\\?.+)?$" = "file://${self}/\\$2"; + "^https://github.com/epics-extensions/(epn|EPN)ix/edit/${current-branch}/([^?]+)(\\?.+)?$" = "file://${self}/\\$2"; + }; + extraConfig = { + max_concurrency = 5; + max_retries = 5; + retry_wait_time = 3; + + exclude_all_private = true; + extensions = [ "html" ]; + require_https = true; + hosts."matrix.to".include_fragments = false; + }; + }; }