mirror of
https://github.com/google/sandboxed-api.git
synced 2024-03-22 13:11:30 +08:00
GitHub Actions: Build and test contrib libraries
This adds basic workflows to build jsonnet and pffft, to be expanded later. PiperOrigin-RevId: 439564724 Change-Id: Ia408545f8badd70b7aeeddb7a789d0d267cd0652
This commit is contained in:
parent
b29e09b4da
commit
cc97c3762d
85
.github/workflows/ubuntu-cmake-contrib.yml
vendored
Normal file
85
.github/workflows/ubuntu-cmake-contrib.yml
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
name: CMake Ubuntu Contrib
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
env:
|
||||||
|
BUILD_TYPE: Release
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-20.04]
|
||||||
|
contrib: [jsonnet, pffft]
|
||||||
|
ignore-errors: [true]
|
||||||
|
include:
|
||||||
|
- compiler: clang
|
||||||
|
compiler-version: 11
|
||||||
|
- compiler: gcc
|
||||||
|
compiler-version: 10
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
continue-on-error: ${{ matrix.ignore-errors }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Cache dependencies
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
key: ${{matrix.os}}-${{matrix.compiler}}${{matrix.compiler-version}}
|
||||||
|
path: |
|
||||||
|
${{github.workspace}}/build/_deps
|
||||||
|
!${{github.workspace}}/build/_deps/${{matrix.contrib}}-*/**
|
||||||
|
|
||||||
|
- name: Cache dependencies (contrib)
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
key: ${{matrix.os}}-${{matrix.compiler}}${{matrix.compiler-version}}-${{matrix.contrib}}
|
||||||
|
path: |
|
||||||
|
${{github.workspace}}/build/_deps/${{matrix.contrib}}-*/**
|
||||||
|
|
||||||
|
- name: Install ninja-build tool
|
||||||
|
uses: seanmiddleditch/gha-setup-ninja@v3
|
||||||
|
|
||||||
|
- name: Install/configure Clang compiler toolchain
|
||||||
|
if: matrix.compiler == 'clang'
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -qy clang-${{matrix.compiler-version}}
|
||||||
|
echo "CXX=clang++-${{matrix.compiler-version}}" >> $GITHUB_ENV
|
||||||
|
echo "CC=clang-${{matrix.compiler-version}}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Install/configure GCC compiler toolchain
|
||||||
|
if: matrix.compiler == 'gcc'
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -qy g++-${{matrix.compiler-version}}
|
||||||
|
echo "CXX=g++-${{matrix.compiler-version}}" >> $GITHUB_ENV
|
||||||
|
echo "CC=gcc-${{matrix.compiler-version}}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Create Build Environment
|
||||||
|
run: |
|
||||||
|
pip3 install absl-py clang
|
||||||
|
cmake -E make_directory $GITHUB_WORKSPACE/build
|
||||||
|
|
||||||
|
- name: Configure CMake
|
||||||
|
run: |
|
||||||
|
cmake \
|
||||||
|
-S $GITHUB_WORKSPACE/contrib/${{matrix.contrib}} \
|
||||||
|
-B $GITHUB_WORKSPACE/build \
|
||||||
|
-G Ninja \
|
||||||
|
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
|
||||||
|
-DSAPI_ENABLE_TEST=ON \
|
||||||
|
-DSAPI_ENABLE_EXAMPLES=ON
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake \
|
||||||
|
--build $GITHUB_WORKSPACE/build \
|
||||||
|
--config $BUILD_TYPE
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ctest \
|
||||||
|
--test-dir $GITHUB_WORKSPACE/build \
|
||||||
|
-C $BUILD_TYPE \
|
||||||
|
--output-on-failure
|
Loading…
x
Reference in New Issue
Block a user