1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # 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
|