diff --git a/.github/workflows/build-binaries.yml b/.github/workflows/build-binaries.yml index 2e11d98cb3..7357b21801 100644 --- a/.github/workflows/build-binaries.yml +++ b/.github/workflows/build-binaries.yml @@ -39,16 +39,55 @@ jobs: - name: Setup & Build uses: ./actions/setup_and_build + - name: Cache built files + id: cache-built-files + uses: actions/cache/save@v4 + with: + path: ./ + key: root-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }} + + lint_test: + needs: build + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + # We want a mac arm64 build, and according to this https://github.com/actions/runner-images#available-images macos-14 is always arm64 + # macos-14 is disabled for now as we hit our free tier limit for macos builds + os: [windows-2022, ubuntu-20.04, macos-12] + steps: + - name: Restore built files + id: cache-built-files + uses: actions/cache/restore@v4 + with: + path: ./ + key: root-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }} - name: Lint Files # no need to lint files on all platforms. Just do it once on the quicker one if: runner.os == 'Linux' run: yarn lint-full - - name: Enforce yarn.lock has no duplicates uses: ./actions/deduplicate_fail - name: Unit Test run: yarn test + build_binaries: + needs: lint_test + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + # We want a mac arm64 build, and according to this https://github.com/actions/runner-images#available-images macos-14 is always arm64 + # macos-14 is disabled for now as we hit our free tier limit for macos builds + os: [windows-2022, ubuntu-20.04, macos-12] + steps: + - name: Restore built files + id: cache-built-files + uses: actions/cache/restore@v4 + with: + path: ./ + key: root-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }} + - name: Build but do not publish # we want this to run always, except on "push" to "master" if: github.event_name != 'push' || github.ref != 'master' diff --git a/actions/setup_and_build/action.yml b/actions/setup_and_build/action.yml index 21e63ef33f..068c49531b 100644 --- a/actions/setup_and_build/action.yml +++ b/actions/setup_and_build/action.yml @@ -1,4 +1,3 @@ - name: 'Setup and build' description: 'Setup and build Session Desktop' runs: