Skip to content

Commit f006897

Browse files
committed
Merge remote-tracking branch 'origin/main' into test/mock-connector
# Conflicts: # CONTRIBUTING.md # package.json # playwright.config.ts # pnpm-lock.yaml # test/e2e/connector.spec.ts # test/e2e/global-setup.ts # test/e2e/global-teardown.ts # test/e2e/helpers/fixtures.ts # test/e2e/helpers/mock-connector-state.ts # test/e2e/helpers/mock-connector.ts
2 parents d169a85 + 8252800 commit f006897

File tree

579 files changed

+132017
-14465
lines changed

Some content is hidden

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

579 files changed

+132017
-14465
lines changed

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#secure password, can use openssl rand -hex 32
2+
NUXT_SESSION_PASSWORD=""

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* text eol=lf
1+
* text=auto eol=lf

.github/workflows/autofix.yml

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,34 @@ 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:
20-
- uses: actions/checkout@v6
21-
- run: corepack enable
22-
- uses: actions/setup-node@v6
21+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
22+
23+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
2324
with:
2425
node-version: lts/*
25-
cache: 'pnpm'
26+
27+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
28+
name: 🟧 Install pnpm
29+
with:
30+
cache: true
2631

2732
- name: 📦 Install dependencies
2833
run: pnpm install
2934

30-
- name: 📦 Install browsers
31-
run: pnpm playwright install
32-
33-
- name: 🔠 Fix lint errors
34-
run: pnpm lint:fix
35+
- name: 🎨 Check for non-RTL/non-a11y CSS classes
36+
run: pnpm lint:css
3537

36-
- name: 🧪 Update unit test snapshots
37-
run: pnpm test:unit -u
38+
- name: 🌐 Compare translations
39+
run: pnpm i18n:check
3840

39-
- name: 🏃 Update component test snapshots
40-
run: pnpm test:nuxt -u
41+
- name: 🌍 Update lunaria data
42+
run: pnpm build:lunaria
4143

42-
- name: 🖥️ Update browser test snapshots
43-
run: pnpm test:browser --update-snapshots
44+
- name: 🔠 Fix lint errors
45+
run: pnpm lint:fix
4446

45-
- uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27
47+
- uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27 # 635ffb0c9798bd160680f18fd73371e355b85f27

.github/workflows/ci.yml

Lines changed: 176 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,90 +11,232 @@ on:
1111
branches:
1212
- main
1313

14+
# cancel in-progress runs on new commits to same PR (gitub.event.number)
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
17+
cancel-in-progress: true
18+
1419
permissions:
1520
contents: read
1621

1722
jobs:
1823
lint:
19-
runs-on: ubuntu-latest
24+
name: 🔠 Lint project
25+
runs-on: ubuntu-24.04-arm
2026

2127
steps:
22-
- uses: actions/checkout@v6
23-
- run: corepack enable
24-
- uses: actions/setup-node@v6
28+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
29+
30+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
2531
with:
2632
node-version: lts/*
27-
cache: pnpm
2833

29-
- name: 📦 Install dependencies
30-
run: pnpm install
34+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
35+
name: 🟧 Install pnpm
36+
with:
37+
cache: true
38+
39+
- name: 📦 Install dependencies (root only, no scripts)
40+
run: pnpm install --filter . --ignore-scripts
3141

3242
- name: 🔠 Lint project
3343
run: pnpm lint
3444

45+
types:
46+
name: 💪 Type check
47+
runs-on: ubuntu-24.04-arm
48+
49+
steps:
50+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
51+
52+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
53+
with:
54+
node-version: lts/*
55+
56+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
57+
name: 🟧 Install pnpm
58+
with:
59+
cache: true
60+
61+
- name: 📦 Install dependencies
62+
run: pnpm install
63+
64+
- name: 💪 Type check
65+
run: pnpm test:types
66+
67+
unit:
68+
name: 🧪 Unit tests
69+
runs-on: ubuntu-24.04-arm
70+
71+
steps:
72+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
73+
74+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
75+
with:
76+
node-version: lts/*
77+
78+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
79+
name: 🟧 Install pnpm
80+
with:
81+
cache: true
82+
83+
- name: 📦 Install dependencies
84+
run: pnpm install
85+
86+
- name: 🧪 Unit tests
87+
run: pnpm test:unit run --coverage --reporter=default --reporter=junit --outputFile=test-report.junit.xml
88+
89+
- name: ⬆︎ Upload test results to Codecov
90+
if: ${{ !cancelled() }}
91+
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1
92+
with:
93+
token: ${{ secrets.CODECOV_TOKEN }}
94+
3595
test:
36-
runs-on: ubuntu-latest
96+
name: 🧪 Component tests
97+
runs-on: ubuntu-24.04-arm
3798

3899
steps:
39-
- uses: actions/checkout@v6
40-
- run: corepack enable
41-
- uses: actions/setup-node@v6
100+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
101+
102+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
42103
with:
43104
node-version: lts/*
44-
cache: pnpm
105+
106+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
107+
name: 🟧 Install pnpm
108+
with:
109+
cache: true
45110

46111
- name: 📦 Install dependencies
47112
run: pnpm install
48113

49114
- name: 🌐 Install browser
50-
run: pnpm playwright install
115+
run: pnpm playwright install chromium-headless-shell
51116

52-
- name: 💪 Type check
53-
run: pnpm test:types
117+
- name: 🧪 Component tests
118+
run: pnpm test:nuxt run --coverage --reporter=default --reporter=junit --outputFile=test-report.junit.xml
54119

55-
- name: 🧪 Unit test
56-
run: pnpm test:unit
120+
- name: ⬆︎ Upload coverage reports to Codecov
121+
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
122+
with:
123+
report_type: test_results
124+
env:
125+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
57126

58-
- name: 🏃 Component tests
59-
run: pnpm test:nuxt
127+
- name: ⬆︎ Upload coverage reports to Codecov
128+
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
129+
env:
130+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
60131

61132
browser:
62-
runs-on: ubuntu-latest
133+
name: 🖥️ Browser tests
134+
runs-on: ubuntu-24.04-arm
63135
container:
64-
image: mcr.microsoft.com/playwright:v1.57.0-noble
136+
image: mcr.microsoft.com/playwright:v1.58.0-noble
65137

66138
steps:
67-
- uses: actions/checkout@v6
68-
- run: corepack enable
69-
- uses: actions/setup-node@v6
139+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
140+
141+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
70142
with:
71143
node-version: lts/*
72-
cache: pnpm
144+
145+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
146+
name: 🟧 Install pnpm
147+
with:
148+
cache: true
73149

74150
- name: 📦 Install dependencies
75151
run: pnpm install
76152

153+
- name: 🏗️ Build project
154+
run: pnpm build:test
155+
env:
156+
VALIDATE_HTML: true
157+
77158
- name: 🖥️ Test project (browser)
78-
run: pnpm test:browser
159+
run: pnpm test:browser:prebuilt
79160

80161
a11y:
81-
runs-on: ubuntu-latest
162+
name: ♿ Accessibility audit
163+
runs-on: ubuntu-latest # See https://github.com/GoogleChrome/lighthouse/discussions/16834
164+
strategy:
165+
matrix:
166+
mode: [dark, light]
82167

83168
steps:
84-
- uses: actions/checkout@v6
85-
- run: corepack enable
86-
- uses: actions/setup-node@v6
169+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
170+
171+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
87172
with:
88173
node-version: lts/*
89-
cache: pnpm
174+
175+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
176+
name: 🟧 Install pnpm
177+
with:
178+
cache: true
90179

91180
- name: 📦 Install dependencies
92181
run: pnpm install
93182

94183
- name: 🏗️ Build project
95-
run: pnpm build
184+
run: pnpm build:test
96185

97-
- name: ♿ Accessibility audit (Lighthouse - dark & light mode)
98-
run: ./scripts/lighthouse-a11y.sh
186+
- name: ♿ Accessibility audit (Lighthouse - ${{ matrix.mode }} mode)
187+
run: pnpm test:a11y:prebuilt
99188
env:
100189
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
190+
LIGHTHOUSE_COLOR_MODE: ${{ matrix.mode }}
191+
192+
knip:
193+
name: 🧹 Unused code check
194+
runs-on: ubuntu-24.04-arm
195+
196+
steps:
197+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
198+
199+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
200+
with:
201+
node-version: lts/*
202+
203+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
204+
name: 🟧 Install pnpm
205+
with:
206+
cache: true
207+
208+
- name: 📦 Install dependencies
209+
run: pnpm install
210+
211+
- name: 🧹 Check for unused code
212+
run: pnpm knip
213+
214+
- name: 🧹 Check for unused production code
215+
run: pnpm knip --production
216+
217+
i18n:
218+
name: 🌐 i18n validation
219+
runs-on: ubuntu-24.04-arm
220+
221+
steps:
222+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
223+
224+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
225+
with:
226+
node-version: lts/*
227+
228+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
229+
name: 🟧 Install pnpm
230+
with:
231+
cache: true
232+
233+
- name: 📦 Install dependencies (root only, no scripts)
234+
run: pnpm install --filter . --ignore-scripts
235+
236+
- name: 🌐 Check for missing or dynamic i18n keys
237+
run: pnpm i18n:report
238+
239+
- name: 🌐 Check i18n schema is up to date
240+
run: |
241+
pnpm i18n:schema
242+
git diff --exit-code i18n/schema.json

.github/workflows/lunaria.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,28 @@ 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
25-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
25+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2626
with:
2727
# Necessary for Lunaria to work properly
2828
# Makes the action clone the entire git history
2929
fetch-depth: 0
3030

31-
- run: corepack enable
32-
- uses: actions/setup-node@v6
31+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
3332
with:
3433
node-version: lts/*
35-
cache: pnpm
34+
35+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
36+
name: 🟧 Install pnpm
37+
with:
38+
cache: true
3639

3740
- name: 📦 Install dependencies
3841
run: pnpm install
3942

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

0 commit comments

Comments
 (0)