Radish alpha
r
Radicle desktop app
Radicle
Git (anonymous pull)
Log in to clone via SSH
Improve CI pipelines
Rūdolfs Ošiņš committed 7 days ago
commit 2b001b59c8730ca5596e4df74cd1b5f05946d379
parent 2e5e7415c1e55a045fd989788c02ecf5e983a871
6 files changed +49 -50
modified .github/workflows/e2e.yaml
@@ -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
modified .github/workflows/lint.yaml
@@ -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
modified .github/workflows/unit-test.yaml
@@ -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
modified CLAUDE.md
@@ -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.
modified package-lock.json
@@ -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": {
modified package.json
@@ -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",