|
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