feat: add native desktop local-first foundation
This commit is contained in:
1 parent
d2ea527fa4
commit
ec1009d4dc
63 files changed
+7865
-188
No files matched your search
@@ -0,0 +1,89 @@
|
||||
name: Desktop build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
desktop:
|
||||
name: ${{ matrix.name }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- name: macOS arm64
|
||||
os: macos-14
|
||||
- name: Windows x64
|
||||
os: windows-2022
|
||||
- name: Linux x64
|
||||
os: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Check out source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: 1.2.19
|
||||
|
||||
- name: Set up Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Build Web renderer
|
||||
run: bun run build:web
|
||||
|
||||
- name: Verify Web precache budget
|
||||
run: bun run verify:web-performance
|
||||
|
||||
- name: Run project type checks
|
||||
run: |
|
||||
bun run typecheck
|
||||
bun run typecheck:mobile
|
||||
|
||||
- name: Build debug sidecar for integration tests
|
||||
run: cargo build --manifest-path crates/desktop-sidecar/Cargo.toml
|
||||
|
||||
- name: Run desktop regression tests
|
||||
run: bun run test:desktop
|
||||
|
||||
- name: Build Rust sidecar
|
||||
run: |
|
||||
cargo fmt --manifest-path crates/desktop-sidecar/Cargo.toml -- --check
|
||||
cargo clippy --manifest-path crates/desktop-sidecar/Cargo.toml --all-targets -- -D warnings
|
||||
cargo test --manifest-path crates/desktop-sidecar/Cargo.toml
|
||||
cargo build --manifest-path crates/desktop-sidecar/Cargo.toml --release
|
||||
|
||||
- name: Package desktop installer
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CSC_IDENTITY_AUTO_DISCOVERY: ${{ secrets.EDGEEVER_MAC_CERTIFICATE_BASE64 != '' && 'true' || 'false' }}
|
||||
CSC_LINK: ${{ secrets.EDGEEVER_MAC_CERTIFICATE_BASE64 }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.EDGEEVER_MAC_CERTIFICATE_PASSWORD }}
|
||||
APPLE_ID: ${{ secrets.EDGEEVER_APPLE_ID }}
|
||||
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.EDGEEVER_APPLE_APP_SPECIFIC_PASSWORD }}
|
||||
APPLE_TEAM_ID: ${{ secrets.EDGEEVER_APPLE_TEAM_ID }}
|
||||
WIN_CSC_LINK: ${{ secrets.EDGEEVER_WINDOWS_CERTIFICATE_BASE64 }}
|
||||
WIN_CSC_KEY_PASSWORD: ${{ secrets.EDGEEVER_WINDOWS_CERTIFICATE_PASSWORD }}
|
||||
run: bun run --cwd apps/desktop dist -- --publish ${{ github.event_name == 'release' && 'always' || 'never' }}
|
||||
|
||||
- name: Verify desktop installer
|
||||
run: bun scripts/verify-desktop-package.mjs
|
||||
|
||||
- name: Upload desktop installer and metadata
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: edgeever-desktop-${{ matrix.name }}
|
||||
path: |
|
||||
release/desktop/**/*.{dmg,exe,AppImage,blockmap,yml}
|
||||
release/desktop/**/*.zip
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
Reference in new issue
Block a user