Files
actual/.github/workflows/build.yml
Roger Goldfinger 090345bd95 Enable Typescript in sync-server (#4887)
* attempt at running with typescript

* release notes

* working jest tests for TS files

* working docker image build

* remaining docker images

* cleanup

* ensure vitest is working

* get tests passing in ci

* less strict

* update release notes

* use tsc compiled assets in the published package

* scripts

* update yarn.lock

* Use build path for electron app

* PR feedback: move sync-server build out of bin/build-browser

* PR feedback: undo moduleResolution change

* extend main tsconfig and fix types

* PR feedback on scripts and when the sync-server build runs

* fix lint (unrelated change)

---------

Co-authored-by: alecbakholdin <alecbakholdin@gmail.com>
2025-05-05 23:45:49 -04:00

85 lines
2.1 KiB
YAML

name: Build
defaults:
run:
shell: bash
env:
CI: true
on:
push:
branches:
- master
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
jobs:
api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- name: Build API
run: cd packages/api && yarn build
- name: Create package tgz
run: cd packages/api && yarn pack && mv package.tgz actual-api.tgz
- name: Upload Build
uses: actions/upload-artifact@v4
with:
name: actual-api
path: packages/api/actual-api.tgz
crdt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- name: Build CRDT
run: cd packages/crdt && yarn build
- name: Create package tgz
run: cd packages/crdt && yarn pack && mv package.tgz actual-crdt.tgz
- name: Upload Build
uses: actions/upload-artifact@v4
with:
name: actual-crdt
path: packages/crdt/actual-crdt.tgz
web:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- name: Build Web
run: yarn build:browser
- name: Upload Build
uses: actions/upload-artifact@v4
with:
name: actual-web
path: packages/desktop-client/build
- name: Upload Build Stats
uses: actions/upload-artifact@v4
with:
name: build-stats
path: packages/desktop-client/build-stats
server:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- name: Build Server
run: yarn workspace @actual-app/sync-server build
- name: Upload Build
uses: actions/upload-artifact@v4
with:
name: sync-server
path: packages/sync-server/build