# 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 args: --verbose --no-progress ${{ env.MD_FILES }} --github-token ${{secrets.GITHUB_TOKEN}} --exclude https://s3.* https://files.* https://demo.* ^\w*#.* http(s)?://example.com.* (https://clear.ml)(/)?(blog|pricing|docs)(/)?(latest/docs/index.html)? (https://app)(.community.clear.ml|.app.clear.ml)?(/)?(dashboard|profile|projects.*)? http://localhost.* `http.+` https://.{10,}\.git https://api.* http://[0-9].* https://allegroai.jfrog.io/clearml/api/pypi/public/simple mailto:clearml@allegro.ai https://allegroai.github.io/clearml-helm-charts https://gist.github.com https://twitter.com/clearmlapp #- name: Read Results # if: ${{ steps.lychee.outputs.exit_code != 0 }} # run: echo "FAILED_URLS=$(jq -r '.fail_map[] | .[] | .url' ./lychee/out.md)" >> $GITHUB_ENV #- 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": "$FAILED_URLS"}} # ]