Run desktop CI from the repo root

GitHub only reads workflows from the root `.github/` and ryph only reads
the root `.ryph/`. The desktop workflows now run in `desktop/`, and the
ryph setup installs and warms both projects.
This commit is contained in:
Rūdolfs Ošiņš
2026-10-13 16:53:36 +02:00
parent 7af280d5b4
commit 33182fd942
8 changed files with 108 additions and 105 deletions
+66
View File
@@ -0,0 +1,66 @@
name: desktop-e2e
on:
pull_request:
push:
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
defaults:
run:
working-directory: desktop
jobs:
e2e:
runs-on: ubuntu-latest
container:
image: mcr.microsoft.com/playwright:v1.61.1-noble
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: "desktop/.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 \
openssh-client
- run: npm ci
# The version in desktop/rust-toolchain.toml, which cargo uses here.
- uses: dtolnay/rust-toolchain@1.97.1
- uses: Swatinem/rust-cache@v2
with:
workspaces: desktop
- name: Cache heartwood binaries
uses: actions/cache@v5
with:
path: desktop/tests/tmp/bin
key: heartwood-${{ hashFiles('desktop/tests/support/heartwood-release') }}
- run: scripts/install-binaries
- run: npm run build:http
- run: mkdir -p tests/artifacts
- name: Run e2e tests
run: npm run test:e2e
# Kept for passing runs too: a test that passed on retry still leaves
# the failed attempt's logs and trace behind.
- name: Upload test artifacts
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v6
with:
name: desktop-e2e-artifacts
path: desktop/tests/artifacts
retention-days: 7
+49
View File
@@ -0,0 +1,49 @@
name: desktop-lint
on:
pull_request:
push:
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
defaults:
run:
working-directory: desktop
jobs:
lint-typescript:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: "desktop/.nvmrc"
- run: npm ci
- run: npm run check-js
lint-rust:
runs-on: ubuntu-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
# The version in desktop/rust-toolchain.toml, which cargo uses here.
- uses: dtolnay/rust-toolchain@1.97.1
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
with:
workspaces: desktop
- run: scripts/check-rs
+24
View File
@@ -0,0 +1,24 @@
name: desktop-unit-test
on:
pull_request:
push:
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
defaults:
run:
working-directory: desktop
jobs:
unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: "desktop/.nvmrc"
- run: npm ci
- run: npm run test:unit