mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-18 19:30:27 +08:00
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:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user