# 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 "::set-output name=files::$(find . -name '*.md' -type f | sed 's|^./||' | tr '\n' ' ')" - name: Link Checker id: lychee uses: lycheeverse/lychee-action@v1.2.0 with: args: --verbose --no-progress ${{steps.find_files.outputs.files}} env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - name: Read Markdown if: ${{ steps.lychee.outputs.exit_code != 0 }} run: echo "REPORT=$(jq -Rs '.' ./lychee/out.md)" >> $GITHUB_ENV - name: Slack Notification if: ${{ steps.lychee.outputs.exit_code != 0 }} uses: tiloio/slack-webhook-action@v1.0.1 with: slack_web_hook_url: ${{ secrets.SLACK_WEBHOOK }} slack_json: | { "text": "Link Checker failure in github.com/allegroai/clearl-docs", "blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": $REPORT } } ] }