mirror of
https://seed.radicle.dev/rad:z4D5UCArafTzTQpDZNQRuqswh3ury.git
synced 2026-10-18 19:10:45 +08:00
Improve CI pipelines
- drop custom container, we don't want to maintain a hand-crafter container anymore - use .nvmrc node version as single source of truth, also in gh actions - bump playwright version, required to work on node >=24
This commit is contained in:
+17
-10
@@ -10,22 +10,29 @@ jobs:
|
||||
e2e:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: quay.io/radicle_garden/radicle-desktop-e2e:latest
|
||||
image: mcr.microsoft.com/playwright:v1.60.0-noble
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Cache node_modules
|
||||
id: cache-npm
|
||||
uses: actions/cache@v5
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
path: node_modules
|
||||
key: node-modules-${{ hashFiles('package-lock.json') }}
|
||||
node-version-file: ".nvmrc"
|
||||
|
||||
- run: |
|
||||
apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
pkg-config \
|
||||
xz-utils \
|
||||
libssl-dev \
|
||||
libxdo-dev \
|
||||
libayatana-appindicator3-dev \
|
||||
librsvg2-dev \
|
||||
libwebkit2gtk-4.1-dev \
|
||||
libjavascriptcoregtk-4.1-dev
|
||||
- run: npm ci
|
||||
if: steps.cache-npm.outputs.cache-hit != 'true'
|
||||
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Cache heartwood binaries
|
||||
uses: actions/cache@v5
|
||||
|
||||
+13
-12
@@ -9,32 +9,33 @@ env:
|
||||
jobs:
|
||||
lint-typescript:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: node:22.11.0
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Cache node_modules
|
||||
id: cache-npm
|
||||
uses: actions/cache@v5
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
path: node_modules
|
||||
key: node-modules-${{ hashFiles('package-lock.json') }}
|
||||
node-version-file: ".nvmrc"
|
||||
|
||||
- run: npm ci
|
||||
if: steps.cache-npm.outputs.cache-hit != 'true'
|
||||
|
||||
- run: npm run check-js
|
||||
|
||||
lint-rust:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: quay.io/radicle_garden/radicle-desktop-base:latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- run: |
|
||||
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
|
||||
libxdo-dev \
|
||||
libayatana-appindicator3-dev \
|
||||
librsvg2-dev \
|
||||
libwebkit2gtk-4.1-dev \
|
||||
libjavascriptcoregtk-4.1-dev
|
||||
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
components: rustfmt, clippy
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
|
||||
- run: scripts/check-rs
|
||||
|
||||
@@ -9,20 +9,11 @@ env:
|
||||
jobs:
|
||||
unit-tests:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: node:22.11.0
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Cache node_modules
|
||||
id: cache-npm
|
||||
uses: actions/cache@v5
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
path: node_modules
|
||||
key: node-modules-${{ hashFiles('package-lock.json') }}
|
||||
|
||||
node-version-file: ".nvmrc"
|
||||
- run: npm ci
|
||||
if: steps.cache-npm.outputs.cache-hit != 'true'
|
||||
|
||||
- run: npm run test:unit
|
||||
|
||||
@@ -45,7 +45,7 @@ npm run test:unit
|
||||
|
||||
```sh
|
||||
npm run test:e2e -- --project webkit
|
||||
npm run test:e2e -- --project webkit tests/e2e/<file>.spec.ts
|
||||
npm run test:e2e -- tests/e2e/<file>.spec.ts --project webkit
|
||||
```
|
||||
|
||||
`SKIP_SETUP=true` skips fixture creation for faster iteration.
|
||||
|
||||
Generated
+13
-13
@@ -25,7 +25,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.26.0",
|
||||
"@playwright/test": "^1.52.0",
|
||||
"@playwright/test": "1.60.0",
|
||||
"@radicle/gray-matter": "4.1.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
||||
"@tauri-apps/cli": "^2.5.0",
|
||||
@@ -62,7 +62,7 @@
|
||||
"marked-katex-extension": "^5.1.4",
|
||||
"marked-linkify-it": "^3.1.12",
|
||||
"md5": "^2.3.0",
|
||||
"playwright": "^1.52.0",
|
||||
"playwright": "1.60.0",
|
||||
"prettier": "^3.5.3",
|
||||
"prettier-plugin-svelte": "^3.3.3",
|
||||
"svelte": "^5.28.2",
|
||||
@@ -835,13 +835,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@playwright/test": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.52.0.tgz",
|
||||
"integrity": "sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g==",
|
||||
"version": "1.60.0",
|
||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.60.0.tgz",
|
||||
"integrity": "sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"playwright": "1.52.0"
|
||||
"playwright": "1.60.0"
|
||||
},
|
||||
"bin": {
|
||||
"playwright": "cli.js"
|
||||
@@ -4515,13 +4515,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/playwright": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.52.0.tgz",
|
||||
"integrity": "sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw==",
|
||||
"version": "1.60.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz",
|
||||
"integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"playwright-core": "1.52.0"
|
||||
"playwright-core": "1.60.0"
|
||||
},
|
||||
"bin": {
|
||||
"playwright": "cli.js"
|
||||
@@ -4534,9 +4534,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/playwright-core": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.52.0.tgz",
|
||||
"integrity": "sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==",
|
||||
"version": "1.60.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz",
|
||||
"integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.26.0",
|
||||
"@playwright/test": "^1.52.0",
|
||||
"@playwright/test": "1.60.0",
|
||||
"@radicle/gray-matter": "4.1.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
||||
"@tauri-apps/cli": "^2.5.0",
|
||||
@@ -78,7 +78,7 @@
|
||||
"marked-katex-extension": "^5.1.4",
|
||||
"marked-linkify-it": "^3.1.12",
|
||||
"md5": "^2.3.0",
|
||||
"playwright": "^1.52.0",
|
||||
"playwright": "1.60.0",
|
||||
"prettier": "^3.5.3",
|
||||
"prettier-plugin-svelte": "^3.3.3",
|
||||
"svelte": "^5.28.2",
|
||||
|
||||
Reference in New Issue
Block a user