name: Build defaults: run: shell: bash env: CI: true on: push: branches: - master pull_request: branches: '*' jobs: api: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install node uses: actions/setup-node@v1 with: node-version: 16 - name: Cache uses: actions/cache@v2 id: cache with: path: '**/node_modules' key: yarn-v1-${{ hashFiles('**/yarn.lock') }} - name: Install run: yarn --immutable if: steps.cache.outputs.cache-hit != 'true' - name: Build API run: cd packages/loot-core && yarn build:api web: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install node uses: actions/setup-node@v1 with: node-version: 16 - name: Cache uses: actions/cache@v2 id: cache with: path: '**/node_modules' key: yarn-v1-${{ hashFiles('**/yarn.lock') }} - name: Install run: yarn --immutable if: steps.cache.outputs.cache-hit != 'true' - name: Build Web run: ./bin/package-browser electron: strategy: matrix: os: - ubuntu-latest - windows-latest - macos-latest runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Install node uses: actions/setup-node@v1 with: node-version: 16 - name: Cache uses: actions/cache@v2 id: cache with: path: '**/node_modules' key: yarn-v1-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} - name: Install run: yarn --immutable if: steps.cache.outputs.cache-hit != 'true' - name: Build Electron run: ./bin/package