Skip to content

chore(main): release 0.3.0 #26

chore(main): release 0.3.0

chore(main): release 0.3.0 #26

Workflow file for this run

---
name: Links
on:
pull_request:
paths:
- "**.md"
- "src/data/grip.json"
- "lychee.toml"
- ".github/workflows/links.yml"
schedule:
# Weekly, Mondays at 06:00 UTC — catches link rot over time.
- cron: "0 6 * * 1"
workflow_dispatch:
permissions:
contents: read
jobs:
links:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Check links
id: lychee
uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2.8.0
with:
# Config (accept codes, excludes, retries) lives in lychee.toml.
# Inputs: Markdown docs + the mapping data URLs (docsUrl/sourceUrl).
args: >-
--config lychee.toml
--no-progress
'./**/*.md'
'src/data/grip.json'
# Fail the job on broken links for PRs and manual runs. On the
# scheduled run we don't fail; instead we open/append an issue below.
fail: ${{ github.event_name != 'schedule' }}
jobSummary: true
- name: Open issue on scheduled link rot
if: ${{ github.event_name == 'schedule' && steps.lychee.outputs.exit_code != 0 }}
uses: peter-evans/create-issue-from-file@fca9117c27cdc29c6c4db3b86c48e4115a786710 # v6.0.0
with:
title: "Broken links detected by the scheduled link checker"
content-filepath: ./lychee/out.md
labels: |-
broken-links
automated