aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build-test-ci.yml73
-rw-r--r--.github/workflows/close-pull-request.yml22
-rw-r--r--.github/workflows/coverity.yml43
3 files changed, 138 insertions, 0 deletions
diff --git a/.github/workflows/build-test-ci.yml b/.github/workflows/build-test-ci.yml
new file mode 100644
index 00000000..2196d55f
--- /dev/null
+++ b/.github/workflows/build-test-ci.yml
@@ -0,0 +1,73 @@
+# 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
diff --git a/.github/workflows/close-pull-request.yml b/.github/workflows/close-pull-request.yml
new file mode 100644
index 00000000..da11c4a6
--- /dev/null
+++ b/.github/workflows/close-pull-request.yml
@@ -0,0 +1,22 @@
+# GitHub actions workflow.
+# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
+
+# https://github.com/superbrothers/close-pull-request
+name: Close Pull Request
+
+on:
+ pull_request_target:
+ types: [opened]
+
+jobs:
+ run:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: superbrothers/close-pull-request@v3
+ with:
+ comment: >
+ Thanks for your contribution!
+ Unfortunately, we don't use GitHub pull requests to manage code
+ contributions to this repository.
+ Instead, please see [README.md](../blob/HEAD/README.md) which
+ provides full instructions on how to get involved.
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
new file mode 100644
index 00000000..06f8e276
--- /dev/null
+++ b/.github/workflows/coverity.yml
@@ -0,0 +1,43 @@
+# GitHub actions workflow.
+# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
+
+# https://scan.coverity.com/projects/google-breakpad
+name: Coverity Scan
+
+on:
+ push:
+ branches: [main]
+
+ schedule:
+ # The GH mirroring from Google GoB does not trigger push actions.
+ # Fire it once a week to provide some coverage.
+ - cron: '39 2 * * WED'
+
+ # Allow for manual triggers from the web.
+ workflow_dispatch:
+
+jobs:
+ coverity:
+ runs-on: ubuntu-latest
+ env:
+ CC: clang
+ CXX: clang++
+ steps:
+ - 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
+
+ - run: ./configure --disable-silent-rules
+ working-directory: src
+
+ - uses: vapier/coverity-scan-action@v1
+ with:
+ command: make -C src -O -j$(getconf _NPROCESSORS_CONF)
+ email: ${{ secrets.COVERITY_SCAN_EMAIL }}
+ token: ${{ secrets.COVERITY_SCAN_TOKEN }}