Skip to content

chore(release): bump version to 2.5.0 #134

chore(release): bump version to 2.5.0

chore(release): bump version to 2.5.0 #134

name: Full Cross-Platform Matrix
on:
push:
branches: [main]
schedule:
- cron: '0 0 * * *' # Nightly
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build-matrix:
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
target: --linux
extra-deps: sudo apt-get update -qq && sudo apt-get install -y fakeroot dpkg
# better-sqlite3 >= v13 ships prebuilt binaries for all platforms,
# so no native cross-compilation is needed. Both builds run on the
# same ARM64 runner; electron-builder packages the correct prebuild
# and afterPack.js validates the architecture.
- os: macos-latest
target: --mac --x64
extra-deps: echo "No extra deps needed"
- os: macos-latest
target: --mac --arm64
extra-deps: echo "No extra deps needed"
- os: windows-latest
target: --win
extra-deps: echo "No extra deps needed"
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Node.js 22
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: '22'
cache: 'npm'
cache-dependency-path: |
package-lock.json
frontend/package-lock.json
- name: Install platform dependencies
run: ${{ matrix.extra-deps }}
- name: Install npm dependencies
run: npm ci
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
- name: Build frontend
run: npm run build:frontend
env:
NEXT_TELEMETRY_DISABLED: 1
- name: Compile main process
run: npm run build
- name: Run full platform test suite
run: npm test
- name: Package (unpacked directory, no installer)
run: npx electron-builder ${{ matrix.target }} --dir --publish never
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
- name: Upload build artifacts
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: flo-${{ matrix.os }}-${{ strategy.job-index }}-${{ github.run_number }}
path: release/
retention-days: 7