diff --git a/.github/workflows/check-in-tree-build.yml b/.github/workflows/check-in-tree-build.yml new file mode 100644 index 00000000..1fa5ee5a --- /dev/null +++ b/.github/workflows/check-in-tree-build.yml @@ -0,0 +1,72 @@ +name: In-tree build + +on: + push: + branches: + - 'ocl-open-*' + paths-ignore: # no need to check build for: + - 'docs/**' # documentation + - '**.md' # README + pull_request: + branches: + - 'ocl-open-*' + paths-ignore: # no need to check build for: + - 'docs/**' # documentation + - '**.md' # README + schedule: + # Weekly build on Mondays + # Ideally, we might want to simplify our regular nightly build as we + # probably don't need every configuration to be built every day: most of + # them are only necessary in pre-commits to avoid breakages + - cron: 0 0 * * 0 + +env: + LLVM_VERSION: 12 + +jobs: + build_and_test_linux: + name: Linux + strategy: + matrix: + build_type: [Release] + include: + - build_type: Release + fail-fast: false + runs-on: ubuntu-18.04 + steps: + - name: setup git config + run: | + git config --global user.email "<>" + git config --global user.name "GitHub Actions Bot" + - name: Checkout LLVM sources + uses: actions/checkout@v2 + with: + repository: llvm/llvm-project + ref: release/12.x + path: llvm-project + - name: Checkout the translator sources + uses: actions/checkout@v2 + with: + repository: KhronosGroup/SPIRV-LLVM-Translator + ref: llvm_release_120 + path: llvm-project/SPIRV-LLVM-Translator + - name: Checkout opencl-clang sources + uses: actions/checkout@v2 + with: + path: llvm-project/opencl-clang + - name: Configure + run: | + mkdir build && cd build + cmake ${{ github.workspace }}/llvm-project/llvm \ + -DLLVM_ENABLE_PROJECTS="clang" \ + -DLLVM_EXTERNAL_PROJECTS="llvm-spirv;opencl-clang" \ + -DLLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR=${{ github.workspace }}/llvm-project/SPIRV-LLVM-Translator \ + -DLLVM_EXTERNAL_OPENCL_CLANG_SOURCE_DIR=${{ github.workspace }}/llvm-project/opencl-clang \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -DLLVM_TARGETS_TO_BUILD="X86" \ + -G "Unix Makefiles" + - name: Build + run: | + cd build + + make opencl-clang -j2