Skip to content

Commit d853437

Browse files
committed
chore: merge main and resolve conflicts
2 parents 2ef5522 + 704987b commit d853437

File tree

319 files changed

+53887
-3894
lines changed

Some content is hidden

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

319 files changed

+53887
-3894
lines changed

.github/workflows/autofix.yml

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ permissions:
1414

1515
jobs:
1616
code:
17-
runs-on: ubuntu-latest
17+
name: 🤖 Autofix code
18+
runs-on: ubuntu-24.04-arm
1819

1920
steps:
2021
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -23,17 +24,14 @@ jobs:
2324
with:
2425
node-version: lts/*
2526

26-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
27-
name: Install pnpm
27+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
28+
name: 🟧 Install pnpm
2829
with:
2930
cache: true
3031

3132
- name: 📦 Install dependencies
3233
run: pnpm install
3334

34-
- name: 📦 Install browsers
35-
run: pnpm playwright install
36-
3735
- name: 🌐 Compare translations
3836
run: pnpm i18n:check
3937

@@ -43,14 +41,4 @@ jobs:
4341
- name: 🔠 Fix lint errors
4442
run: pnpm lint:fix
4543

46-
- name: 🧪 Update unit test snapshots
47-
run: pnpm test:unit -u
48-
49-
- name: 🏃 Update component test snapshots
50-
run: pnpm test:nuxt -u
51-
52-
# TODO: re-enable when we have snapshots in browser tests
53-
# - name: 🖥️ Update browser test snapshots
54-
# run: pnpm test:browser --update-snapshots
55-
56-
- uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27
44+
- uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27 # 635ffb0c9798bd160680f18fd73371e355b85f27

.github/workflows/ci.yml

Lines changed: 94 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ permissions:
2121

2222
jobs:
2323
lint:
24-
runs-on: ubuntu-latest
24+
name: 🔠 Lint project
25+
runs-on: ubuntu-24.04-arm
2526

2627
steps:
2728
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -30,19 +31,66 @@ jobs:
3031
with:
3132
node-version: lts/*
3233

33-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
34-
name: Install pnpm
34+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
35+
name: 🟧 Install pnpm
36+
# pnpm cache skipped deliberately as the project is not actually installed here
37+
38+
- name: 🔠 Lint project
39+
run: node scripts/lint.ts
40+
41+
types:
42+
name: 💪 Type check
43+
runs-on: ubuntu-24.04-arm
44+
45+
steps:
46+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
47+
48+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
49+
with:
50+
node-version: lts/*
51+
52+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
53+
name: 🟧 Install pnpm
3554
with:
3655
cache: true
3756

3857
- name: 📦 Install dependencies
3958
run: pnpm install
4059

41-
- name: 🔠 Lint project
42-
run: pnpm lint
60+
- name: 💪 Type check
61+
run: pnpm test:types
62+
63+
unit:
64+
name: 🧪 Unit tests
65+
runs-on: ubuntu-24.04-arm
66+
67+
steps:
68+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
69+
70+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
71+
with:
72+
node-version: lts/*
73+
74+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
75+
name: 🟧 Install pnpm
76+
with:
77+
cache: true
78+
79+
- name: 📦 Install dependencies
80+
run: pnpm install
81+
82+
- name: 🧪 Unit tests
83+
run: pnpm test:unit run --coverage --reporter=junit --outputFile=test-report.junit.xml
84+
85+
- name: ⬆︎ Upload test results to Codecov
86+
if: ${{ !cancelled() }}
87+
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1
88+
with:
89+
token: ${{ secrets.CODECOV_TOKEN }}
4390

4491
test:
45-
runs-on: ubuntu-latest
92+
name: 🧪 Component tests
93+
runs-on: ubuntu-24.04-arm
4694

4795
steps:
4896
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -51,28 +99,34 @@ jobs:
5199
with:
52100
node-version: lts/*
53101

54-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
55-
name: Install pnpm
102+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
103+
name: 🟧 Install pnpm
56104
with:
57105
cache: true
58106

59107
- name: 📦 Install dependencies
60108
run: pnpm install
61109

62110
- name: 🌐 Install browser
63-
run: pnpm playwright install
111+
run: pnpm playwright install chromium-headless-shell
64112

65-
- name: 💪 Type check
66-
run: pnpm test:types
113+
- name: 🧪 Component tests
114+
run: pnpm test:nuxt run --coverage --reporter=junit --outputFile=test-report.junit.xml
67115

68-
- name: 🧪 Unit test
69-
run: pnpm test:unit
116+
- name: ⬆︎ Upload test results to Codecov
117+
if: ${{ !cancelled() }}
118+
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1
119+
with:
120+
token: ${{ secrets.CODECOV_TOKEN }}
70121

71-
- name: 🏃 Component tests
72-
run: pnpm test:nuxt
122+
- name: ⬆︎ Upload coverage reports to Codecov
123+
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
124+
env:
125+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
73126

74127
browser:
75-
runs-on: ubuntu-latest
128+
name: 🖥️ Browser tests
129+
runs-on: ubuntu-24.04-arm
76130
container:
77131
image: mcr.microsoft.com/playwright:v1.58.0-noble
78132

@@ -83,19 +137,26 @@ jobs:
83137
with:
84138
node-version: lts/*
85139

86-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
87-
name: Install pnpm
140+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
141+
name: 🟧 Install pnpm
88142
with:
89143
cache: true
90144

91145
- name: 📦 Install dependencies
92146
run: pnpm install
93147

148+
- name: 🏗️ Build project
149+
run: pnpm build:playwright
150+
94151
- name: 🖥️ Test project (browser)
95-
run: pnpm test:browser
152+
run: pnpm test:browser:prebuilt
96153

97154
a11y:
98-
runs-on: ubuntu-latest
155+
name: ♿ Accessibility audit
156+
runs-on: ubuntu-latest # See https://github.com/GoogleChrome/lighthouse/discussions/16834
157+
strategy:
158+
matrix:
159+
mode: [dark, light]
99160

100161
steps:
101162
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -104,24 +165,26 @@ jobs:
104165
with:
105166
node-version: lts/*
106167

107-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
108-
name: Install pnpm
168+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
169+
name: 🟧 Install pnpm
109170
with:
110171
cache: true
111172

112173
- name: 📦 Install dependencies
113174
run: pnpm install
114175

115176
- name: 🏗️ Build project
116-
run: pnpm build
177+
run: NODE_ENV=test pnpm build
117178

118-
- name: ♿ Accessibility audit (Lighthouse - dark & light mode)
179+
- name: ♿ Accessibility audit (Lighthouse - ${{ matrix.mode }} mode)
119180
run: ./scripts/lighthouse-a11y.sh
120181
env:
121182
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
183+
LIGHTHOUSE_COLOR_MODE: ${{ matrix.mode }}
122184

123185
knip:
124-
runs-on: ubuntu-latest
186+
name: 🧹 Unused code check
187+
runs-on: ubuntu-24.04-arm
125188

126189
steps:
127190
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -130,13 +193,16 @@ jobs:
130193
with:
131194
node-version: lts/*
132195

133-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
134-
name: Install pnpm
196+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
197+
name: 🟧 Install pnpm
135198
with:
136199
cache: true
137200

138201
- name: 📦 Install dependencies
139202
run: pnpm install
140203

141-
- name: 🔍 Check for unused code
204+
- name: 🧹 Check for unused code
142205
run: pnpm knip
206+
207+
- name: 🧹 Check for unused production code
208+
run: pnpm knip --production

.github/workflows/lunaria.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ permissions:
1717

1818
jobs:
1919
lunaria-overview:
20-
name: Generate Lunaria Overview
21-
runs-on: ubuntu-latest
20+
name: 🌝 Generate Lunaria Overview
21+
runs-on: ubuntu-24.04-arm
2222

2323
steps:
2424
- name: Checkout
@@ -32,13 +32,13 @@ jobs:
3232
with:
3333
node-version: lts/*
3434

35-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
36-
name: Install pnpm
35+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
36+
name: 🟧 Install pnpm
3737
with:
3838
cache: true
3939

4040
- name: 📦 Install dependencies
4141
run: pnpm install
4242

4343
- name: Generate Lunaria Overview
44-
uses: lunariajs/action@v1-prerelease
44+
uses: lunariajs/action@4911ad0736d1e3b20af4cb70f5079aea2327ed8e # v1-prerelease

.github/workflows/provenance.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,29 @@ on:
44
push:
55
branches:
66
- main
7+
paths:
8+
- pnpm-lock.yaml
79
pull_request:
810
branches:
911
- main
12+
paths:
13+
- pnpm-lock.yaml
1014
merge_group:
1115
branches:
1216
- main
17+
1318
permissions:
1419
contents: read
20+
1521
jobs:
1622
check-provenance:
17-
runs-on: ubuntu-latest
23+
name: 🔒 Check provenance downgrades
24+
runs-on: ubuntu-slim
1825
steps:
1926
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2027
with:
2128
fetch-depth: 0
29+
2230
- name: Check provenance downgrades
2331
uses: danielroe/provenance-action@41bcc969e579d9e29af08ba44fcbfdf95cee6e6c # v0.1.1
2432
with:

.github/workflows/semantic-pull-requests.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ jobs:
1616
pull-requests: read # for amannn/action-semantic-pull-request to analyze PRs
1717
statuses: write # for amannn/action-semantic-pull-request to mark status of analyzed PR
1818
if: github.repository == 'npmx-dev/npmx.dev'
19-
runs-on: ubuntu-latest
20-
name: semantic-pr
19+
runs-on: ubuntu-slim
20+
name: 🏷️ Validate PR title
2121
steps:
2222
- name: Validate PR title
2323
uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
@@ -26,6 +26,7 @@ jobs:
2626
a11y
2727
deps
2828
docs
29+
cli
2930
i18n
3031
ui
3132
subjectPattern: ^(?![A-Z]).+$

0 commit comments

Comments
 (0)