From c6eb16865c631f83ac36654661c658a0bd35db36 Mon Sep 17 00:00:00 2001 From: Srihari Thyagarajan Date: Tue, 7 Apr 2026 13:56:29 +0530 Subject: [PATCH 1/7] fix: stale link in blog post --- content/blog/2024/dei-leadership-strategy/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/2024/dei-leadership-strategy/index.md b/content/blog/2024/dei-leadership-strategy/index.md index cf8af5e1f..552cd6e36 100644 --- a/content/blog/2024/dei-leadership-strategy/index.md +++ b/content/blog/2024/dei-leadership-strategy/index.md @@ -35,7 +35,7 @@ However, over the past few months, we have reflected on our organization's struc We need to do better. -2i2c is at a moment of maturation and growth as an organization, kicked off by [our organizational audit from 2023](../2023/organizational-report/index.md) as well as [our three-year retrospective](../report-czi/index.md). +2i2c is at a moment of maturation and growth as an organization, kicked off by [our organizational audit from 2023](../../2023/organizational-report/index.md) as well as [our three-year retrospective](../report-czi/index.md). We believe that improving the diversity of leadership throughout the organization is a necessary part of that maturation over the next three years. Below are a few ideas for how we aim to make improvements, and we invite feedback from others who are interested in helping us improve this aspect of our organization. From b3e9f6f4cbf61d9ed996617729e1c5d90ab85e92 Mon Sep 17 00:00:00 2001 From: Srihari Thyagarajan Date: Tue, 21 Apr 2026 18:28:04 +0530 Subject: [PATCH 2/7] config for lychee --- lychee.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 lychee.toml diff --git a/lychee.toml b/lychee.toml new file mode 100644 index 000000000..eb9603963 --- /dev/null +++ b/lychee.toml @@ -0,0 +1,9 @@ +exclude = [ + "https://fonts.gstatic.com", # expected connectivity failure + "twitter.com", + "https://data8.org", + "https://biorxiv.org", + "https://www.biorxiv.org", +] + +max_concurrency = 50 From 303a8e934e20c29d36fdff656e85065db7310292 Mon Sep 17 00:00:00 2001 From: Srihari Thyagarajan Date: Tue, 21 Apr 2026 18:29:08 +0530 Subject: [PATCH 3/7] Moved this into `lychee.toml` so the settings live in one place (single source of truth?) instead of being b/w nox and CI --- noxfile.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index 8efeb0a98..d5ac13135 100644 --- a/noxfile.py +++ b/noxfile.py @@ -54,8 +54,6 @@ def linkcheck(session): "--offline", "--accept", "200,301,302", - "--max-concurrency", - "50", "public", external=True, ) From fd6f0ab578b45aff48d9f884dd8aa3605fe10284 Mon Sep 17 00:00:00 2001 From: Srihari Thyagarajan Date: Tue, 21 Apr 2026 18:31:21 +0530 Subject: [PATCH 4/7] `refactor`: changes to link checking workflow --- .github/workflows/linkcheck.yml | 52 +++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index 705597c54..6dc617375 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -6,41 +6,57 @@ on: schedule: # https://crontab.guru/#00_18_*_*_1 - cron: "00 18 * * 1" + pull_request: permissions: issues: write jobs: - linkChecker: + linkcheck-pr: + if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: - # This should be the same version that we use in .netlify.toml hugo-version: '0.125.3' extended: true - name: Build run: hugo --minify - - name: Link Checker - uses: lycheeverse/lychee-action@v2.0.2 + # Intentionally skips (req for full deploy parity) to keep + # PR checks fast and network-light. + - name: Generate blog post redirects + run: python scripts/generate-blog-aliases.py + + - name: Link Checker (internal, offline) + uses: lycheeverse/lychee-action@v2.7.0 + with: + args: --offline --no-progress --root-dir public public/**/*.html + + linkcheck-scheduled: + if: github.event_name != 'pull_request' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: '0.125.3' + extended: true + + - name: Build + run: hugo --minify + + - name: Generate blog post redirects + run: python scripts/generate-blog-aliases.py + + - name: Link Checker (external) + uses: lycheeverse/lychee-action@v2.7.0 with: - args: | - # fonts.gstatic.com is an expected fail - --exclude https://fonts.gstatic.com - # "%oo many requests" errors - --exclude twitter.com - # 403 Forbidden errors - --exclude https://data8.org - # 403 Forbidden errors - --exclude https://biorxiv.org - --exclude https://www.biorxiv.org - --verbose - --no-progress - public/**/*.html + args: --verbose --no-progress --root-dir public public/**/*.html env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} @@ -50,4 +66,4 @@ jobs: with: title: Link Checker Report content-filepath: ./lychee/out.md - labels: report, automated issue \ No newline at end of file + labels: report, automated issue From 022f5779436345a12b66e2703acaf4ca9fe49327 Mon Sep 17 00:00:00 2001 From: Srihari Thyagarajan Date: Tue, 21 Apr 2026 18:36:35 +0530 Subject: [PATCH 5/7] restore comment --- .github/workflows/linkcheck.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index 6dc617375..3ca06ae7f 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -20,6 +20,7 @@ jobs: - name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: + # This should be the same version that we use in .netlify.toml hugo-version: '0.125.3' extended: true From b55c2a1b5bb524c8a40ffeac60800e85f1ab2789 Mon Sep 17 00:00:00 2001 From: Srihari Thyagarajan Date: Tue, 21 Apr 2026 18:48:23 +0530 Subject: [PATCH 6/7] `lychee-action` expects an absolute `--root-dir`. --- .github/workflows/linkcheck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index 3ca06ae7f..9337452be 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -35,7 +35,7 @@ jobs: - name: Link Checker (internal, offline) uses: lycheeverse/lychee-action@v2.7.0 with: - args: --offline --no-progress --root-dir public public/**/*.html + args: --offline --no-progress --root-dir "${{ github.workspace }}/public" public/**/*.html linkcheck-scheduled: if: github.event_name != 'pull_request' @@ -57,7 +57,7 @@ jobs: - name: Link Checker (external) uses: lycheeverse/lychee-action@v2.7.0 with: - args: --verbose --no-progress --root-dir public public/**/*.html + args: --verbose --no-progress --root-dir "${{ github.workspace }}/public" public/**/*.html env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} From c601189a708d477ab5a61d9032d9a5db10cddf2b Mon Sep 17 00:00:00 2001 From: Srihari Thyagarajan Date: Tue, 21 Apr 2026 19:02:42 +0530 Subject: [PATCH 7/7] route is served from the separate repo --- .github/workflows/linkcheck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index 9337452be..3ee3dcae4 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -35,7 +35,7 @@ jobs: - name: Link Checker (internal, offline) uses: lycheeverse/lychee-action@v2.7.0 with: - args: --offline --no-progress --root-dir "${{ github.workspace }}/public" public/**/*.html + args: --offline --no-progress --root-dir "${{ github.workspace }}/public" --exclude '^file://.*/public/roadmap/?$' public/**/*.html linkcheck-scheduled: if: github.event_name != 'pull_request'