# GitHub actions workflow. # https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions name: Build+Test CI on: push: branches: [main] schedule: # The GH mirroring from Google GoB does not trigger push actions. # Fire it every other day to provide some coverage. This will run ~8 AM PT. - cron: '39 3 */2 * *' # Allow for manual triggers from the web. workflow_dispatch: jobs: autotools: strategy: fail-fast: false matrix: include: - os: ubuntu-latest cc: gcc cxx: g++ - os: ubuntu-latest cc: clang cxx: clang++ - os: macos-latest cc: clang cxx: clang++ runs-on: ${{ matrix.os }} env: CC: ${{ matrix.cc }} CXX: ${{ matrix.cxx }} steps: - name: System settings run: | set -x $CC --version $CXX --version getconf _NPROCESSORS_ONLN getconf _NPROCESSORS_CONF true - name: Checkout depot_tools run: git clone --depth=1 https://chromium.googlesource.com/chromium/tools/depot_tools.git ../depot_tools - name: Checkout breakpad run: | set -xe PATH+=:$PWD/../depot_tools gclient config --unmanaged --name=src https://github.com/${{ github.repository }} gclient sync --no-history --nohooks # First build & test in-tree. - run: ./configure --disable-silent-rules working-directory: src - run: make -j$(getconf _NPROCESSORS_CONF) working-directory: src - run: make -j$(getconf _NPROCESSORS_CONF) check VERBOSE=1 working-directory: src - run: make -j$(getconf _NPROCESSORS_CONF) distclean working-directory: src # Then build & test out-of-tree. - run: mkdir -p src/build/native - run: ../../configure --disable-silent-rules working-directory: src/build/native - run: make -j$(getconf _NPROCESSORS_CONF) distcheck VERBOSE=1 working-directory: src/build/native