# Copyright (c) 2023 The Bitcoin Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. name: CI on: # See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request. pull_request: # See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push. push: branches: - '**' tags-ignore: - '**' concurrency: group: ${{ github.ref }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} env: DANGER_RUN_CI_ON_HOST: 1 CI_FAILFAST_TEST_LEAVE_DANGLING: 1 # GHA does not care about dangling processes and setting this variable avoids killing the CI script itself on error MAKEJOBS: '-j10' jobs: macos-native-x86_64: name: macOS 13 native, x86_64 [no depends, sqlite only, gui] # Use latest image, but hardcode version to avoid silent upgrades (and breaks). # See: https://github.com/actions/runner-images#available-images. runs-on: macos-13 # Use M1 once available https://github.com/github/roadmap/issues/528 # No need to run on the read-only mirror, unless it is a PR. if: github.repository != 'bitcoin-core/gui' || github.event_name == 'pull_request' timeout-minutes: 120 env: FILE_ENV: './ci/test/00_setup_env_mac_native.sh' BASE_ROOT_DIR: ${{ github.workspace }} steps: - name: Checkout uses: actions/checkout@v3 - name: Clang version run: clang --version - name: Install Homebrew packages run: brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt - name: Set Ccache directory run: echo "CCACHE_DIR=${RUNNER_TEMP}/ccache_dir" >> "$GITHUB_ENV" - name: Restore Ccache cache uses: actions/cache/restore@v3 with: path: ${{ env.CCACHE_DIR }} key: ${{ github.job }}-ccache-${{ github.run_id }} restore-keys: ${{ github.job }}-ccache- - name: CI script run: ./ci/test_run_all.sh - name: Save Ccache cache uses: actions/cache/save@v3 if: github.event_name != 'pull_request' with: path: ${{ env.CCACHE_DIR }} # https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache key: ${{ github.job }}-ccache-${{ github.run_id }}