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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Set up environment uses: ./.github/actions/setup with: download-translations: 'false' - 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: Prepare bundle stats artifact run: cp packages/api/app/stats.json api-stats.json - name: Upload Build uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: actual-api path: packages/api/actual-api.tgz - name: Upload API bundle stats uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: api-build-stats path: api-stats.json crdt: runs-on: ubuntu-latest steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - 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: Upload Build uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: actual-crdt path: packages/crdt/actual-crdt.tgz web: runs-on: ubuntu-latest steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Set up environment uses: ./.github/actions/setup - name: Build Web run: yarn build:browser - name: Upload Build uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: actual-web path: packages/desktop-client/build - name: Upload Build Stats uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: build-stats path: packages/desktop-client/build-stats server: runs-on: ubuntu-latest steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - 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@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: sync-server path: packages/sync-server/build