74 lines
2.0 KiB
YAML
74 lines
2.0 KiB
YAML
|
# 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
|