- Linux app id dev.foxyz.starsync, binary starsync; Windows starsync.exe, company foxyz; server starsync-server; Dart package starsync; archives starsync-<ver>-*. - 1.2.x compatibility: watch_together and watch-together-server launchers (Linux) / copies (Windows) in the archive; the updater accepts both names and relaunches the new binary; update.sh/.bat use whichever server exists. - First start copies (never moves) the old support folder and this app's Hive boxes out of ~/Documents into <support>/hive; a marker makes it run once; AppDirs is a port; settings schema version with ordered migrations. - Launcher entry dev.foxyz.starsync.desktop; the old one removed. - Repository name and URLs unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
74 lines
2.4 KiB
YAML
74 lines
2.4 KiB
YAML
name: ci
|
|
on:
|
|
# Branches only: a release tag points at a commit CI already checked on
|
|
# main, and release.yml builds it.
|
|
push:
|
|
branches: ['**']
|
|
pull_request:
|
|
|
|
jobs:
|
|
core:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dart-lang/setup-dart@v1
|
|
with:
|
|
sdk: stable
|
|
- run: dart pub get
|
|
working-directory: packages/core
|
|
- run: dart analyze
|
|
working-directory: packages/core
|
|
- run: dart test
|
|
working-directory: packages/core
|
|
|
|
server:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dart-lang/setup-dart@v1
|
|
with:
|
|
sdk: stable
|
|
- run: dart pub get
|
|
working-directory: packages/server
|
|
- run: dart analyze
|
|
working-directory: packages/server
|
|
- run: dart test
|
|
working-directory: packages/server
|
|
# Compiling the dedicated server proves it stays Flutter-free.
|
|
- run: mkdir -p build && dart compile exe bin/server.dart -o build/starsync-server
|
|
working-directory: packages/server
|
|
- run: build/starsync-server --help
|
|
working-directory: packages/server
|
|
|
|
# The updater's Windows apply path (running exe parked as .old) only
|
|
# means something on real NTFS. Runner notes: see release.yml.
|
|
updater-windows:
|
|
# Not for a "Release v…" commit: release.yml builds it on the same
|
|
# (only) Windows runner, which this job would hold up.
|
|
if: ${{ !startsWith(github.event.head_commit.message, 'Release v') }}
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
shell: powershell
|
|
run: |
|
|
git init -q .
|
|
git remote add origin "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY.git"
|
|
git fetch -q origin "$env:GITHUB_SHA"
|
|
if ($LASTEXITCODE) { exit 1 }
|
|
git checkout -q --force FETCH_HEAD
|
|
- name: Setup Flutter
|
|
shell: powershell
|
|
run: powershell -NoProfile -ExecutionPolicy Bypass -File tool/setup_flutter_windows.ps1
|
|
- name: Updater tests
|
|
shell: powershell
|
|
working-directory: packages/core
|
|
run: |
|
|
dart pub get
|
|
if ($LASTEXITCODE) { exit 1 }
|
|
dart test test/updater_test.dart
|
|
# The release build, without publishing: a broken Windows build shows
|
|
# here, not only on a tag.
|
|
- name: Windows build
|
|
shell: powershell
|
|
run: powershell -NoProfile -ExecutionPolicy Bypass -File tool/package_windows.ps1
|