Skip to content

ci: add markdown links validation action#6092

Merged
mergify[bot] merged 2 commits into
ceph:develfrom
iPraveenParihar:actions/markdown-link-checker
Feb 20, 2026
Merged

ci: add markdown links validation action#6092
mergify[bot] merged 2 commits into
ceph:develfrom
iPraveenParihar:actions/markdown-link-checker

Conversation

@iPraveenParihar

@iPraveenParihar iPraveenParihar commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

Describe what this PR does

ci: add markdown link validation action

This PR adds a new GitHub Actions workflow to automatically validate links in markdown files across the repository.

The workflow:

  • Runs on all pull requests using the lychee link checker
  • Excludes vendor directories from all modules (main, e2e, api, actions/retest)
  • Fails the build if broken links are detected

This helps maintain documentation quality by catching broken links before they are merged.

Related issues

Depends-on: #6082
Fixes: #6089

Future concerns

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Reviewed the developer guide on Submitting a Pull Request
  • Pending release notes updated with breaking and/or notable changes for the next major release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.

Show available bot commands

These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:

  • /retest ci/centos/<job-name>: retest the <job-name> after unrelated
    failure (please report the failure too!)

@mergify mergify Bot added the component/testing Additional test cases or CI work label Feb 19, 2026
@iPraveenParihar iPraveenParihar added ci/skip/e2e skip running e2e CI jobs ci/skip/multi-arch-build skip building on multiple architectures labels Feb 19, 2026
@iPraveenParihar iPraveenParihar marked this pull request as ready for review February 19, 2026 08:58
Comment thread .github/workflows/link-check.yaml Outdated

- name: link-check
# yamllint disable-line rule:line-length
uses: lycheeverse/lychee-action@a8c4c7cb88f0c7386610c35eb25108e448569cb0 # v2.7.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can only use approved actions from the Ceph GitHub organization. This isn't one of them, so it needs reviewing by the Ceph (build?) team.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, got rid of Github action and moved to using actual lychee tool.
https://github.com/ceph/ceph-csi/actions/runs/22177811417/job/64130954818?pr=6092

@iPraveenParihar iPraveenParihar force-pushed the actions/markdown-link-checker branch from 3b59106 to adebfe2 Compare February 19, 2026 10:21
Comment thread scripts/Dockerfile.test Outdated
&& npm init -y \
&& npm install @commitlint/cli@"${COMMITLINT_VERSION}" \
&& popd \
&& curl -sSfL "https://github.com/lycheeverse/lychee/releases/download/lychee-${LYCHEE_VERSION}/lychee-x86_64-unknown-linux-gnu.tar.gz" | tar -xz -C /usr/local/bin \

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use, or convert GOARCH to x86_64 or any other architecture.

@nixpanic

Copy link
Copy Markdown
Member

Nice alternative approach. This also makes it much easier to run locally on development systems.

It looks like there are quite a few broken links. Do you want to fix them in this PR too?

@iPraveenParihar iPraveenParihar force-pushed the actions/markdown-link-checker branch from adebfe2 to 347e129 Compare February 19, 2026 11:12
@iPraveenParihar

Copy link
Copy Markdown
Contributor Author

I have fixed the broken links and left docs/rbd/deploy.rbd since it is covered in #6082.

@iPraveenParihar iPraveenParihar force-pushed the actions/markdown-link-checker branch from 347e129 to 8465cb6 Compare February 19, 2026 11:14
nixpanic
nixpanic previously approved these changes Feb 19, 2026
@nixpanic nixpanic requested a review from a team February 19, 2026 12:14
Signed-off-by: Praveen M <m.praveen@ibm.com>
@iPraveenParihar iPraveenParihar force-pushed the actions/markdown-link-checker branch from 8465cb6 to 9d1941e Compare February 19, 2026 16:31
@mergify mergify Bot dismissed nixpanic’s stale review February 19, 2026 16:32

Pull request has been modified.

Signed-off-by: Praveen M <m.praveen@ibm.com>
@iPraveenParihar iPraveenParihar force-pushed the actions/markdown-link-checker branch from 9d1941e to 8317409 Compare February 19, 2026 16:43
@Madhu-1 Madhu-1 requested a review from nixpanic February 20, 2026 04:58
@mergify mergify Bot added the queued label Feb 20, 2026
mergify Bot added a commit that referenced this pull request Feb 20, 2026
@mergify

mergify Bot commented Feb 20, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

Rule: default


This pull request spent 5 minutes 26 seconds in the queue, including 5 minutes 10 seconds running CI.

Required conditions to merge
  • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • any of:
    • all of:
      • base=devel
      • status-success=codespell
      • status-success=go-test
      • status-success=golangci-lint
      • status-success=lint-extras
      • status-success=mod-check
      • status-success=multi-arch-build
      • status-success=uncommitted-code-check
      • any of:
        • label=ci/skip/e2e
        • all of:
          • status-success=ci/centos/k8s-e2e-external-storage/1.33
          • status-success=ci/centos/k8s-e2e-external-storage/1.34
          • status-success=ci/centos/k8s-e2e-external-storage/1.35
          • status-success=ci/centos/mini-e2e-helm/k8s-1.33
          • status-success=ci/centos/mini-e2e-helm/k8s-1.34
          • status-success=ci/centos/mini-e2e-helm/k8s-1.35
          • status-success=ci/centos/mini-e2e/k8s-1.33
          • status-success=ci/centos/mini-e2e/k8s-1.34
          • status-success=ci/centos/mini-e2e/k8s-1.35
          • status-success=ci/centos/upgrade-tests-cephfs
          • status-success=ci/centos/upgrade-tests-rbd
    • all of:
      • base~=^(release-.+)$
      • status-success=codespell
      • status-success=go-test
      • status-success=golangci-lint
      • status-success=lint-extras
      • status-success=mod-check
      • status-success=multi-arch-build
      • status-success=uncommitted-code-check
      • any of:
        • label=ci/skip/e2e
        • all of:
          • status-success=ci/centos/k8s-e2e-external-storage/1.32
          • status-success=ci/centos/mini-e2e-helm/k8s-1.32
          • status-success=ci/centos/mini-e2e/k8s-1.32
          • status-success=ci/centos/k8s-e2e-external-storage/1.33
          • status-success=ci/centos/k8s-e2e-external-storage/1.34
          • status-success=ci/centos/mini-e2e-helm/k8s-1.33
          • status-success=ci/centos/mini-e2e-helm/k8s-1.34
          • status-success=ci/centos/mini-e2e/k8s-1.33
          • status-success=ci/centos/mini-e2e/k8s-1.34
          • status-success=ci/centos/upgrade-tests-cephfs
          • status-success=ci/centos/upgrade-tests-rbd
    • all of:
      • base=release-v3.15
      • status-success=codespell
      • status-success=go-test
      • status-success=golangci-lint
      • status-success=lint-extras
      • status-success=mod-check
      • status-success=multi-arch-build
      • status-success=uncommitted-code-check
      • any of:
        • label=ci/skip/e2e
        • all of:
          • status-success=ci/centos/k8s-e2e-external-storage/1.31
          • status-success=ci/centos/k8s-e2e-external-storage/1.32
          • status-success=ci/centos/mini-e2e-helm/k8s-1.31
          • status-success=ci/centos/mini-e2e-helm/k8s-1.32
          • status-success=ci/centos/mini-e2e/k8s-1.31
          • status-success=ci/centos/mini-e2e/k8s-1.32
          • status-success=ci/centos/k8s-e2e-external-storage/1.33
          • status-success=ci/centos/mini-e2e-helm/k8s-1.33
          • status-success=ci/centos/mini-e2e/k8s-1.33
          • status-success=ci/centos/upgrade-tests-cephfs
          • status-success=ci/centos/upgrade-tests-rbd
    • all of:
      • base=ci/centos
      • status-success=ci/centos/jjb-validate
      • status-success=ci/centos/job-validation

@mergify mergify Bot merged commit cc27bea into ceph:devel Feb 20, 2026
19 checks passed
@mergify mergify Bot removed the queued label Feb 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/skip/e2e skip running e2e CI jobs ci/skip/multi-arch-build skip building on multiple architectures component/testing Additional test cases or CI work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a github action to validate the links in the markdown file

3 participants