Add last verified script #290
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Checks links in a PR to ensure they are valid. If link is valid but failing, it can be added to the .lycheeignore file | |
#Use the skip-link-check label on a PR to skip checking links on a PR | |
name: link check on PR | |
on: | |
pull_request: | |
branches: [main] | |
jobs: | |
linkChecker: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Get Changed Files | |
id: changed-files | |
uses: tj-actions/changed-files@v41 | |
- name: Check for Skip Label | |
id: skip-label | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
const labels = await github.rest.issues.listLabelsOnIssue({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: context.issue.number | |
}); | |
return labels.data.some(label => label.name === 'skip-link-check'); | |
- name: Check Links | |
if: steps.skip-label.outputs.result == 'false' | |
uses: lycheeverse/lychee-action@v1 | |
with: | |
args: --accept=200,403,429 --base . --verbose --no-progress ${{ steps.changed-files.outputs.all_changed_files }} | |
token: ${{ secrets.CUSTOM_TOKEN }} | |
fail: true | |
- name: Skip Message | |
if: steps.skip-label.outputs.result == 'true' | |
run: echo "Link check was skipped due to the presence of the 'skip-link-check' label." | |
- name: Suggestions | |
if: failure() | |
run: | | |
echo -e "\nPlease review the links reported in the Check links step above." | |
echo -e "If a link is valid but fails due to a CAPTCHA challenge, IP blocking, login requirements, etc., consider adding such links to .lycheeignore file to bypass future checks.\n" | |
exit 1 |