-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
224 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"problemMatcher": [ | ||
{ | ||
"owner": "gcc-problem-matcher", | ||
"severity": "error", | ||
"pattern": [ | ||
{ | ||
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$", | ||
"file": 1, | ||
"line": 2, | ||
"column": 3, | ||
"severity": 4, | ||
"message": 5 | ||
} | ||
] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
name: Build | ||
on: [push, pull_request] | ||
jobs: | ||
# Builds performed in docker | ||
docker_builds: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- container: conanio/gcc5 | ||
cxx_mkspec: --cxx_mkspec=cxx_gxx54_x64 | ||
name: GCC 5.4 | ||
- container: conanio/gcc9 | ||
cxx_mkspec: --cxx_mkspec=cxx_gxx92_x64 | ||
name: GCC 9.2 | ||
- container: conanio/clang39 | ||
name: Clang 3.9 | ||
cxx_mkspec: --cxx_mkspec=cxx_clang39_x64 | ||
- container: conanio/clang10 | ||
name: Clang 10 | ||
- container: conanio/clang10 | ||
cxx_mkspec: --cxx_mkspec=cxx_clang10_address_sanitizer_x64 | ||
name: Clang 10 Address Sanitizer | ||
# TODO: Re-able this when we have fixed memory issue in google-test | ||
# - container: conanio/clang10 | ||
# cxx_mkspec: --cxx_mkspec=cxx_clang10_memory_sanitizer_x64 | ||
# name: Clang 10 Memory Sanitizer | ||
- container: conanio/clang10 | ||
cxx_mkspec: --cxx_mkspec=cxx_clang10_thread_sanitizer_x64 | ||
name: Clang 10 Thread Sanitizer | ||
runs-on: [self-hosted, docker] | ||
name: ${{ matrix.config.name }} | ||
container: | ||
image: ${{ matrix.config.container }} | ||
options: --user 0:0 | ||
volumes: | ||
- /home/buildbot/.ssh:/root/.ssh | ||
steps: | ||
- name: Install SSH client | ||
run: apt update && apt -y install openssh-client | ||
- name: Checkout source code | ||
uses: actions/checkout@v2 | ||
- name: Waf Configure | ||
run: python3 waf configure --git_protocol=git@ ${{ matrix.config.cxx_mkspec }} | ||
- name: Waf Build | ||
run: | | ||
echo "::add-matcher::.github/gcc-problem-matcher.json" | ||
python3 waf | ||
- name: Waf Test | ||
run: python3 waf --run_tests | ||
# Build performed on runner using make specs | ||
cxx_mkspec: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- cxx_mkspec: cxx_clang70_x64 | ||
name: Clang 7.0 64-Bit | ||
- cxx_mkspec: cxx_gxx83_x64 | ||
name: GCC 8.3 64-Bit | ||
runs-on: [self-hosted, "${{ matrix.config.cxx_mkspec }}"] | ||
name: ${{ matrix.config.name }} | ||
env: | ||
python: python3 | ||
steps: | ||
- name: Rename python3 to python on Windows | ||
if: runner.os == 'Windows' | ||
run: echo "python=python" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Configure | ||
env: | ||
GIT_SSH_COMMAND: "${{ runner.os != 'Linux' && 'ssh' || 'ssh -i /home/buildbot/.ssh/id_ed25519 -o IdentitiesOnly=yes' }}" | ||
run: ${{ env.python }} waf configure --git_protocol=git@ --cxx_mkspec=${{ matrix.config.cxx_mkspec }} | ||
- name: Build | ||
run: | | ||
echo "::add-matcher::.github/gcc-problem-matcher.json" | ||
${{ env.python }} waf | ||
- name: Test | ||
run: ${{ env.python }} waf --run_tests | ||
# Code Format Check | ||
clang-format: | ||
name: ClangFormat | ||
runs-on: [self-hosted, docker] | ||
container: | ||
image: fifty2technology/clang-format | ||
options: --user 0:0 | ||
steps: | ||
- name: Checkout source code | ||
uses: actions/checkout@v2 | ||
- name: Run Clang-format | ||
run: clang-format --help | ||
- name: Run Clang-format | ||
run: clang-format -version | ||
- name: Run Clang-format | ||
run: find ./ -iname *.hpp -o -iname *.cpp -o -iname *.c -o -iname *.h | xargs clang-format --dry-run --Werror | ||
# Valgrind Check | ||
valgrind: | ||
name: Valgrind | ||
runs-on: [self-hosted, valgrind] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Configure | ||
env: | ||
GIT_SSH_COMMAND: "${{ runner.os != 'Linux' && 'ssh' || 'ssh -i /home/buildbot/.ssh/id_ed25519 -o IdentitiesOnly=yes' }}" | ||
run: python3 waf configure --git_protocol=git@ | ||
- name: Build | ||
run: | | ||
echo "::add-matcher::.github/gcc-problem-matcher.json" | ||
python3 waf | ||
- name: Valgrind Test | ||
run: python3 waf --run_tests --run_cmd="valgrind %s" | ||
# NDEBUG compilation | ||
ndebug: | ||
name: No Assertions | ||
runs-on: [self-hosted, linux] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Configure | ||
env: | ||
GIT_SSH_COMMAND: "${{ runner.os != 'Linux' && 'ssh' || 'ssh -i /home/buildbot/.ssh/id_ed25519 -o IdentitiesOnly=yes' }}" | ||
run: python3 waf configure --cxx_nodebug --git_protocol=git@ | ||
- name: Build | ||
run: | | ||
echo "::add-matcher::.github/gcc-problem-matcher.json" | ||
python3 waf | ||
- name: Valgrind Test | ||
run: python3 waf --run_tests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.