mirror of
https://github.com/actualbudget/actual.git
synced 2026-05-06 20:15:33 -05:00
* [AI] Emit bundle stats from the crdt package The crdt package was the only published library without a stats.json artifact. Migrate its build to Vite (mirroring the api/cli setup), wire in rollup-plugin-visualizer to emit dist/stats.json, and upload it from the CRDT CI job. Declarations are still produced by tsgo via --emitDeclarationOnly. https://claude.ai/code/session_01CDVAGLGu49q5YMHsRLkYLQ * Add release notes for PR #7537 * [AI] crdt: drop redundant rm -rf dist from build script Vite's build.emptyOutDir: true already clears the output directory before writing, so the leading rm -rf dist is unnecessary. https://claude.ai/code/session_01CDVAGLGu49q5YMHsRLkYLQ * [AI] Include crdt in the size-compare bundle stats table Wait for the crdt build check on both the base branch and the PR, download the crdt-build-stats artifact for each, and pass it to bundle-stats-comment.mjs so the summary table rendered on the PR includes a row for the crdt package alongside desktop-client, loot-core, api, and cli. https://claude.ai/code/session_01CDVAGLGu49q5YMHsRLkYLQ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
131 lines
4.2 KiB
YAML
131 lines
4.2 KiB
YAML
name: Build
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
env:
|
|
CI: true
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
merge_group:
|
|
|
|
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- name: Set up environment
|
|
uses: ./.github/actions/setup
|
|
with:
|
|
download-translations: 'false'
|
|
- name: Build API
|
|
run: yarn build:api
|
|
- name: Create package tgz
|
|
run: cd packages/api && yarn pack && mv package.tgz actual-api.tgz
|
|
- name: Prepare bundle stats artifact
|
|
run: cp packages/api/app/stats.json api-stats.json
|
|
- name: Upload Build
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: actual-api
|
|
path: packages/api/actual-api.tgz
|
|
- name: Upload API bundle stats
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: api-build-stats
|
|
path: api-stats.json
|
|
|
|
crdt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- name: Set up environment
|
|
uses: ./.github/actions/setup
|
|
with:
|
|
download-translations: 'false'
|
|
- 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: Prepare bundle stats artifact
|
|
run: cp packages/crdt/dist/stats.json crdt-stats.json
|
|
- name: Upload Build
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: actual-crdt
|
|
path: packages/crdt/actual-crdt.tgz
|
|
- name: Upload CRDT bundle stats
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: crdt-build-stats
|
|
path: crdt-stats.json
|
|
|
|
web:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- name: Set up environment
|
|
uses: ./.github/actions/setup
|
|
- name: Build Web
|
|
run: yarn build:browser
|
|
- name: Upload Build
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: actual-web
|
|
path: packages/desktop-client/build
|
|
- name: Upload Build Stats
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: build-stats
|
|
path: packages/desktop-client/build-stats
|
|
|
|
cli:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- name: Set up environment
|
|
uses: ./.github/actions/setup
|
|
with:
|
|
download-translations: 'false'
|
|
- name: Build CLI
|
|
run: yarn build:cli
|
|
- name: Create package tgz
|
|
run: cd packages/cli && yarn pack && mv package.tgz actual-cli.tgz
|
|
- name: Prepare bundle stats artifact
|
|
run: cp packages/cli/dist/stats.json cli-stats.json
|
|
- name: Upload Build
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: actual-cli
|
|
path: packages/cli/actual-cli.tgz
|
|
- name: Upload CLI bundle stats
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: cli-build-stats
|
|
path: cli-stats.json
|
|
|
|
server:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- name: Set up environment
|
|
uses: ./.github/actions/setup
|
|
with:
|
|
download-translations: 'false'
|
|
- name: Build Server
|
|
run: yarn workspace @actual-app/sync-server build
|
|
- name: Upload Build
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: sync-server
|
|
path: packages/sync-server/build
|