diff options
| author | Yong He <yonghe@outlook.com> | 2020-11-11 12:33:32 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-11 12:33:32 -0800 |
| commit | 2c893d3538b066b03249f5d9caffb0ebc8fbb948 (patch) | |
| tree | 81d71e89ea59c9c480e7b21f683dd98cbc0435e4 | |
| parent | 8f0895e0f8257da2fd10b6325931627a9a1792ba (diff) | |
Integrate github action for linux build+test. (#1601)
| -rw-r--r-- | .github/workflows/c-cpp.yml | 31 | ||||
| -rw-r--r-- | github_build.sh | 16 | ||||
| -rw-r--r-- | github_test.sh | 24 |
3 files changed, 71 insertions, 0 deletions
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml new file mode 100644 index 000000000..2bffa36ed --- /dev/null +++ b/.github/workflows/c-cpp.yml @@ -0,0 +1,31 @@ +name: C/C++ CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + configuration: ['debug', 'release'] + compiler: ['gcc', 'clang'] + steps: + - uses: actions/checkout@v2.3.4 + with: + submodules: 'true' + fetch-depth: '0' + - name: build + run: + CC=${{matrix.compiler}} + CONFIGURATION=${{matrix.configuration}} + source ./github_build.sh + - name: test + run: + CONFIGURATION=${{matrix.configuration}} + CC=${{matrix.compiler}} + source ./github_test.sh
\ No newline at end of file diff --git a/github_build.sh b/github_build.sh new file mode 100644 index 000000000..b0970a903 --- /dev/null +++ b/github_build.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# Get premake +wget https://github.com/shader-slang/slang-binaries/blob/master/premake/premake-5.0.0-alpha13/bin/linux-64/premake5?raw=true -O premake5 +chmod u+x premake5 + +# generate slang-tag-version.h +git describe --tags | sed -e "s/\(.*\)/\#define SLANG_TAG_VERSION \"\1\"/" > slang-tag-version.h +cat slang-tag-version.h + +# Create the makefile +./premake5 gmake --cc=${CC} + +# Build the configuration +make config=${CONFIGURATION}_x64 + + diff --git a/github_test.sh b/github_test.sh new file mode 100644 index 000000000..18d2d1d3b --- /dev/null +++ b/github_test.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +# CONFIGURATION=release or debug +if [ "${CC}" == "gcc" ] && [ "${CONFIGURATION}" == "release" ] +then + SLANG_TEST_CATEGORY=full +else + SLANG_TEST_CATEGORY=smoke +fi + +PLATFORM=$(uname -s | tr '[:upper:]' '[:lower:]') +ARCHITECTURE=$(uname -p) + +if [ "${ARCHITECTURE}" == "x86_64" ]; then + ARCHITECTURE="x64" +fi + +TARGET=${PLATFORM}-${ARCHITECTURE} + +OUTPUTDIR=bin/${TARGET}/${CONFIGURATION}/ + +SLANG_TEST=${OUTPUTDIR}slang-test + +${SLANG_TEST} -bindir ${OUTPUTDIR} -travis -category ${SLANG_TEST_CATEGORY} ${SLANG_TEST_FLAGS} |
