name: Linux Build CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-20.04 strategy: matrix: configuration: ['debug', 'release'] compiler: ['gcc', 'clang'] platform: ['x64'] steps: - name: select gcc 10 run: | sudo update-alternatives \ --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 \ --slave /usr/bin/g++ g++ /usr/bin/g++-10 \ --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-10 \ --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-10 \ --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-10 \ --slave /usr/bin/gcov gcov /usr/bin/gcov-10 \ --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-10 \ --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-10 - uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: '0' - uses: robinraju/release-downloader@v1.7 with: latest: true repository: "shader-slang/swiftshader" fileName: "vk_swiftshader_linux_${{matrix.platform}}.zip" - name: build run: | CC=${{matrix.compiler}} CONFIGURATION=${{matrix.configuration}} ARCH=${{matrix.platform}} TARGETARCH=${{matrix.platform}} if [[ "$CC" == "clang" ]]; then CFLAGS=-Werror CPPFLAGS=-Werror CXXFLAGS=-Werror fi source ./github_build.sh - uses: actions/upload-artifact@v3 with: name: slang-build-${{matrix.configuration}}-${{matrix.platform}}-${{matrix.compiler}} path: | slang.h slang-com-helper.h slang-com-ptr.h slang-tag-version.h slang-gfx.h prelude/*.h bin/**/*.dll bin/**/*.exe bin/**/*.so bin/**/slangc bin/**/slangd docs/*.md - name: test run: CONFIGURATION=${{matrix.configuration}} CC=${{matrix.compiler}} ARCH=${{matrix.platform}} PATH="${PATH:+${PATH}:}$(pwd)/external/slang-binaries/spirv-tools/$(uname -m)-linux/bin" source ./github_test.sh