clearml-docs/.github/workflows/links.yml
2021-12-28 16:42:04 +02:00

58 lines
1.8 KiB
YAML

# This is a basic workflow to help you get started with Actions
name: Links
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
#push:
# branches: [ main ]
#pull_request:
# branches: [ main ]
#schedule:
# - cron: "00 18 * * *"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
linkChecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Find all markdown files
id: find_files
run: echo "MD_FILES=$(find . -name '*.md' -type f | sed 's|^./||' | tr '\n' ' ')" >> $GITHUB_ENV
- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@v1.2.0
with:
format: json
output: /tmp/links.json
args: --verbose --no-progress $MD_FILES
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Read Results
if: ${{ steps.lychee.outputs.exit_code != 0 }}
run: echo "REPORT=$(jq -Rs '```.```' /tmp/links.json)" >> $GITHUB_ENV
- name: Echo Results
if: ${{ steps.lychee.outputs.exit_code != 0 }}
run: echo $REPORT
- name: Slack Notification
if: ${{ steps.lychee.outputs.exit_code != 0 }}
uses: tokorom/action-slack-incoming-webhook@main
env:
INCOMING_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
with:
blocks: |
[
{"type": "section", "text": {"type": "mrkdwn", "text": ":warning: Link Checker failure in github.com/allegroai/clearl-docs "}},
{"type": "section", "text": {"type": "mrkdwn", "text": $REPORT}}
]