|
1 |
| -name: "Link Check" |
| 1 | +name: check-links |
2 | 2 | on:
|
3 | 3 | push:
|
4 | 4 | branches: [main]
|
5 | 5 | pull_request:
|
6 | 6 |
|
7 | 7 | concurrency:
|
8 |
| - group: ${{ github.workflow }}-${{ github.head_ref }} |
| 8 | + group: ${{ github.workflow }}-${{ github.ref_name }} |
| 9 | + cancel-in-progress: true |
| 10 | + |
| 11 | +permissions: read-all |
| 12 | + |
9 | 13 | jobs:
|
10 | 14 | changedfiles:
|
11 | 15 | name: changed files
|
12 | 16 | runs-on: ubuntu-latest
|
13 | 17 | env:
|
14 | 18 | PR_HEAD: ${{ github.event.pull_request.head.sha }}
|
15 | 19 | outputs:
|
16 |
| - md: ${{ steps.changes.outputs.md }} |
| 20 | + files: ${{ steps.changes.outputs.files }} |
17 | 21 | steps:
|
18 | 22 | - name: Checkout Repo
|
19 |
| - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 |
| 23 | + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |
20 | 24 | with:
|
21 | 25 | fetch-depth: 0
|
22 | 26 | - name: Get changed files
|
23 | 27 | id: changes
|
24 | 28 | run: |
|
25 |
| - echo "md=$(git diff --name-only --diff-filter=ACMRTUXB $(git merge-base origin/main $PR_HEAD) $PR_HEAD | grep .md$ | xargs)" >> $GITHUB_OUTPUT |
| 29 | + files=$(git diff --name-only --diff-filter=ACMRTUXB $(git merge-base origin/main $PR_HEAD) $PR_HEAD | grep .md$ | xargs) |
| 30 | +
|
| 31 | + if [ -z "$files" ] && git diff --name-only $(git merge-base origin/main $PR_HEAD) $PR_HEAD | grep -q "package.json"; then |
| 32 | + files="**/*.md" |
| 33 | + fi |
26 | 34 |
|
| 35 | + echo "files=$files" >> $GITHUB_OUTPUT |
27 | 36 | check-links:
|
28 | 37 | runs-on: ubuntu-latest
|
29 | 38 | needs: changedfiles
|
30 |
| - if: ${{needs.changedfiles.outputs.md}} |
| 39 | + if: ${{needs.changedfiles.outputs.files}} |
31 | 40 | steps:
|
32 | 41 | - name: Checkout Repo
|
33 |
| - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 |
| 42 | + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |
34 | 43 | with:
|
35 | 44 | fetch-depth: 0
|
36 | 45 |
|
37 |
| - - name: Run markdown-link-check |
38 |
| - run: | |
39 |
| - npx --no -- markdown-link-check \ |
40 |
| - --verbose \ |
41 |
| - --config .github/workflows/check_links_config.json \ |
42 |
| - ${{needs.changedfiles.outputs.md}} \ |
43 |
| - || { echo "Check that anchor links are lowercase"; exit 1; } |
| 46 | + - name: Link Checker |
| 47 | + id: lychee |
| 48 | + uses: lycheeverse/lychee-action@f613c4a64e50d792e0b31ec34bbcbba12263c6a6 |
| 49 | + with: |
| 50 | + args: "--verbose --no-progress ${{needs.changedfiles.outputs.files}} --config .github/lychee.toml" |
| 51 | + failIfEmpty: false |
0 commit comments