diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c0b0b2..cd03dd9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,16 +12,26 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: "3.0" - bundler-cache: true # runs 'bundle install' and caches installed gems automatically - - name: Install gem - run: gem install awesome_bot - name: Check links - run: | - awesome_bot README.md --allow-dupe -w robotframework.org,linkedin.com,theseus.fi + # Using lychee (not awesome_bot) because it can authenticate GitHub + # link checks with GITHUB_TOKEN via the GitHub API, instead of + # scraping github.com HTML pages. The latter got its connections + # reset/rate-limited from GitHub Actions IPs regardless of request + # pacing, which awesome_bot has no way to authenticate around. + uses: lycheeverse/lychee-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + args: >- + --no-progress + --accept "200..=204,429,503" + --max-retries 3 + --retry-wait-time 5 + --exclude robotframework.org + --exclude linkedin.com + --exclude theseus.fi + README.md + fail: true - name: Check awesome-list conventions # Informational only: the list intentionally keeps some conventions # awesome-lint disagrees with (back-to-top links, repeated domain