diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml new file mode 100644 index 0000000..2b9100e --- /dev/null +++ b/.github/workflows/link-check.yml @@ -0,0 +1,43 @@ +# This workflow checks for dead links in the Awesome List on a daily basis. + +name: Awesome List Dead Links (daily check) + +on: + # Schedule the workflow to run every 24 hours. + schedule: + - cron: '0 */24 * * *' + # Allows manual triggering of the workflow through the GitHub Actions UI. + workflow_dispatch: + +jobs: + linkChecker: + # The job will run on the latest Ubuntu virtual environment. + runs-on: ubuntu-latest + steps: + - name: Checkout repository + # Uses the official GitHub checkout action to clone the repository. + uses: actions/checkout@v4 + + - name: Run lychee link checker + # Utilizes the lychee-action to check for dead links in the specified file. + uses: lycheeverse/lychee-action@v1.10.0 + with: + # Arguments for the lychee link checker: + # --verbose: Enables verbose logging. + # --no-progress: Disables progress bar output. + # --exclude-mail: Excludes email addresses from the link checking. + # --timeout 20: Sets the request timeout to 20 seconds. + # --format markdown: Outputs the report in markdown format. + # README.md: The file to be checked. + args: --verbose --no-progress --exclude-mail --timeout 20 --format markdown --exclude-list .lycheeignore README.md + # Designates the output file for the report. + output: lychee/report.md + + - name: Upload link checker report + # Uploads the generated report as an artifact. + uses: actions/upload-artifact@v4 + with: + # Name of the artifact. + name: lychee-report + # File path to the report. + path: lychee/report.md diff --git a/.lycheeignore b/.lycheeignore new file mode 100644 index 0000000..456ec6a --- /dev/null +++ b/.lycheeignore @@ -0,0 +1,3 @@ +https://www.reddit.com/r/startups/ +https://substack.com/ +https://sideprojectstack.com/