Skip to content

Commit 3d9f145

Browse files
committed
Merge remote-tracking branch 'origin/main' into announce-open-and-async-book
# Conflicts: # src/layouts/PostLayout.astro # src/pages/[year]/[month]/[day]/[slug].astro
2 parents f1699a9 + d453e4d commit 3d9f145

87 files changed

Lines changed: 14778 additions & 15019 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/astro-e2e.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343

4444
steps:
4545
- name: Checkout repository
46-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
46+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
4747

4848
- name: Set up Node.js
4949
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -55,7 +55,7 @@ jobs:
5555
run: npm ci
5656

5757
- name: Cache Astro build artifacts
58-
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
58+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5
5959
with:
6060
path: node_modules/.astro
6161
key: astro-cache-${{ runner.os }}-${{ hashFiles('src/**/*', 'public/**/*', 'astro.config.mjs', 'tsconfig.astro.json', 'package-lock.json') }}
@@ -81,7 +81,7 @@ jobs:
8181

8282
steps:
8383
- name: Checkout repository
84-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
84+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
8585

8686
- name: Set up Node.js
8787
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -111,7 +111,7 @@ jobs:
111111

112112
steps:
113113
- name: Checkout repository
114-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
114+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
115115

116116
- name: Set up Node.js
117117
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -129,7 +129,7 @@ jobs:
129129
path: dist-astro
130130

131131
- name: Cache Playwright Browsers
132-
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
132+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5
133133
id: playwright-cache
134134
with:
135135
path: ~/.cache/ms-playwright
@@ -187,7 +187,7 @@ jobs:
187187

188188
steps:
189189
- name: Checkout repository
190-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
190+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
191191

192192
- name: Set up Node.js
193193
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -205,7 +205,7 @@ jobs:
205205
path: dist-astro
206206

207207
- name: Cache Playwright Browsers
208-
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
208+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5
209209
id: playwright-cache
210210
with:
211211
path: ~/.cache/ms-playwright

.github/workflows/build-and-deploy.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
runs-on: ubuntu-latest
2323
steps:
2424
- name: Checkout
25-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
25+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
2626

2727
- name: Setup Node
2828
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -33,8 +33,21 @@ jobs:
3333
- name: Install dependencies
3434
run: npm ci
3535

36+
# astro-pdf renders /resume to /resume.pdf at build time via Chromium.
37+
# It auto-installs Chrome for Testing into node_modules/.astro/chrome if
38+
# none is found; cache that (stable key, so it survives content changes)
39+
# to avoid re-downloading ~150MB each deploy. Runs after `npm ci`, which
40+
# would otherwise wipe node_modules.
41+
- name: Cache astro-pdf Chromium
42+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5
43+
with:
44+
path: node_modules/.astro/chrome
45+
key: astro-pdf-chrome-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
46+
restore-keys: |
47+
astro-pdf-chrome-${{ runner.os }}-
48+
3649
- name: Cache Astro build artifacts
37-
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
50+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5
3851
with:
3952
path: node_modules/.astro
4053
key: astro-cache-${{ runner.os }}-${{ hashFiles('src/**/*', 'public/**/*', 'astro.config.mjs', 'tsconfig.astro.json', 'package-lock.json') }}

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
runs-on: ubuntu-latest
7878
steps:
7979
- name: Checkout
80-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
80+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
8181

8282
- name: Set up Node.js
8383
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -103,7 +103,7 @@ jobs:
103103
sudo mv vale /usr/local/bin/
104104
105105
- name: Cache Vale styles
106-
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
106+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5
107107
with:
108108
path: .github/styles
109109
key: vale-styles-${{ hashFiles('.vale.ini', '.github/styles/AIPatterns/*.yml') }}
@@ -119,7 +119,7 @@ jobs:
119119
runs-on: ubuntu-latest
120120
steps:
121121
- name: Checkout
122-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
122+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
123123

124124
- name: Set up Node.js
125125
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -144,7 +144,7 @@ jobs:
144144
runs-on: ubuntu-latest
145145
steps:
146146
- name: Checkout
147-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
147+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
148148

149149
- name: Set up Node.js
150150
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -163,7 +163,7 @@ jobs:
163163
runs-on: ubuntu-latest
164164
steps:
165165
- name: Checkout
166-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
166+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
167167

168168
- name: Set up Node.js
169169
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
@@ -198,7 +198,7 @@ jobs:
198198
Java_Xmx: 1g
199199
steps:
200200
- name: Checkout
201-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
201+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
202202

203203
- name: Wait for LanguageTool to start
204204
run: |

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727

2828
steps:
2929
- name: Checkout repository
30-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
30+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
3131

3232
- name: Disable default CodeQL setup
3333
run: |
@@ -40,12 +40,12 @@ jobs:
4040
GH_TOKEN: ${{ github.token }}
4141

4242
- name: Initialize CodeQL
43-
uses: github/codeql-action/init@87557b9c84dde89fdd9b10e88954ac2f4248e463 # v4
43+
uses: github/codeql-action/init@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4
4444
with:
4545
languages: ${{ matrix.language }}
4646
build-mode: ${{ matrix.build-mode }}
4747

4848
- name: Perform CodeQL Analysis
49-
uses: github/codeql-action/analyze@87557b9c84dde89fdd9b10e88954ac2f4248e463 # v4
49+
uses: github/codeql-action/analyze@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4
5050
with:
5151
category: "/language:${{ matrix.language }}"

.github/workflows/copilot-setup-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
contents: read
2020
steps:
2121
- name: Checkout
22-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
22+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
2323

2424
- name: Set up Node.js
2525
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6

.github/workflows/email-broadcast.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
github.event.workflow_run.conclusion == 'success'
3333
steps:
3434
- name: Checkout
35-
uses: actions/checkout@v6
35+
uses: actions/checkout@v7
3636
with:
3737
fetch-depth: 0
3838

.github/workflows/links.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
runs-on: ubuntu-latest
3030
steps:
3131
- name: Checkout
32-
uses: actions/checkout@v6
32+
uses: actions/checkout@v7
3333

3434
- name: Setup Node
3535
uses: actions/setup-node@v6
@@ -62,7 +62,7 @@ jobs:
6262
| xargs -0 sed -i -E 's#<link[^>]*rel="site\.standard\.(document|publication)"[^>]*>##g'
6363
6464
- name: Restore lychee cache
65-
uses: actions/cache@v5
65+
uses: actions/cache@v6
6666
with:
6767
path: .lycheecache
6868
key: cache-lychee-${{ github.sha }}

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
if: false # Disabled - duplicates checks from ci.yml
1919
steps:
2020
- name: Checkout Code
21-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
21+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
2222
with:
2323
fetch-depth: 0
2424

.github/workflows/standard-site-sync.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
github.event.workflow_run.conclusion == 'success'
3838
steps:
3939
- name: Checkout
40-
uses: actions/checkout@v6
40+
uses: actions/checkout@v7
4141
with:
4242
fetch-depth: 0
4343

.npmrc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Several third-party Astro integrations (astro-embed, @lucide/astro,
2+
# astro-auto-import, astro-favicons, @playform/compress, astro-seo) declare peer
3+
# dependencies that cap at Astro 6 but work fine with Astro 7's stable
4+
# integration API. legacy-peer-deps lets `npm install`/`npm ci` resolve without
5+
# ERESOLVE failures here and in CI/Cloudflare builds. Remove once these
6+
# integrations ship Astro 7 peer ranges.
7+
legacy-peer-deps=true
8+
9+
# astro-pdf (used to render /resume.pdf) ships a hostile
10+
# `preinstall: npx only-allow pnpm` that aborts `npm ci`/`npm install` under
11+
# npm. Skipping dependency lifecycle scripts neutralizes it. This is safe here:
12+
# sharp, esbuild, and workerd all resolve via prebuilt platform packages (no
13+
# build step needed), and astro-pdf downloads Chromium itself at build time
14+
# rather than via puppeteer's postinstall. Matches modern npm's default of not
15+
# running unvetted dependency scripts.
16+
ignore-scripts=true

0 commit comments

Comments
 (0)