Repository navigation
61 lines (59 loc) · 2.33 KB
/
Copy pathserver-bundle.yml
File metadata and controls
61 lines (59 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Headless server bundles (#1829), built and booted on the hardware each one
# targets: Apple Silicon, Intel Mac, Linux x64 and Linux ARM. Each job runs
# its archive's own bundled Node (not the runner's), adds a repo, runs a
# thread in a worktree and types into a real PTY. That is the only place the
# darwin-x64 and linux-arm64 bundles run before a release ships them.
name: server-bundle
on:
push:
paths:
- "electron/**"
- "core/**"
- "memory-server/**"
- "src/**"
- "vite.config.ts"
- "package.json"
- "package-lock.json"
- "scripts/package-server.sh"
- "scripts/smoke-server-bundle.js"
- "scripts/smoke-server-lifecycle.js"
- "scripts/smoke-cloud-connector.js"
- ".github/actions/npm-ci-electron/**"
- ".github/workflows/server-bundle.yml"
workflow_dispatch:
jobs:
bundle:
runs-on: ${{ matrix.runner }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
- { runner: macos-latest, target: darwin-arm64 }
- { runner: macos-15-intel, target: darwin-x64 }
- { runner: ubuntu-latest, target: linux-x64 }
- { runner: ubuntu-24.04-arm, target: linux-arm64 }
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: "**/package-lock.json"
- uses: ./.github/actions/npm-ci-electron
- run: npm ci --prefix core
- run: npm ci --prefix memory-server
- run: bash scripts/package-server.sh ${{ matrix.target }}
- run: node scripts/smoke-server-bundle.js out/solenta-server-*-${{ matrix.target }}.tar.gz
- name: Check pinned connector on its native architecture
run: node scripts/smoke-cloud-connector.js
- name: Prepare native Linux user manager
if: runner.os == 'Linux'
shell: bash
run: |
sudo loginctl enable-linger "$(id -un)"
sudo systemctl start "user@$(id -u).service"
echo "XDG_RUNTIME_DIR=/run/user/$(id -u)" >> "$GITHUB_ENV"
echo "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus" >> "$GITHUB_ENV"
- name: Exercise native service restart, update and rollback
run: node scripts/smoke-server-lifecycle.js out/solenta-server-*-${{ matrix.target }}.tar.gz