Merge branch 'wip' of github.com:tgfrerer/island into wip #368
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
name: C/C++ CI | |
on: | |
push: | |
branches: [ wip ] | |
pull_request: | |
branches: [ wip ] | |
jobs: | |
job: | |
name: ${{ matrix.name }}-build-and-test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
name: [ubuntu-latest-g++, windows-latest-cl.exe, ubuntu-latest-clang++] | |
# For Windows msvc, for Linux let's use the clang compiler, and gcc. | |
include: | |
- name: windows-latest-cl.exe | |
os: windows-latest | |
cxx: cl.exe | |
cc: cl.exe | |
- name: ubuntu-latest-clang++ | |
os: ubuntu-latest | |
cxx: clang++ | |
cc: clang | |
- name: ubuntu-latest-g++ | |
os: ubuntu-latest | |
cxx: g++ | |
cc: gcc | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Vulkan SDK | |
uses: humbletim/install-vulkan-sdk@v1.1.1 | |
with: | |
version: latest | |
cache: true | |
- name: (Linux) Install Dependencies | |
if: startsWith(matrix.name, 'ubuntu') | |
shell: bash | |
run: | |
sudo apt-get install -y libxinerama-dev libxcursor-dev libxi-dev libxrandr-dev libwayland-dev libxkbcommon-dev xorg-dev; | |
- name: (Linux) Setup Environment Variables | |
if: startsWith(matrix.name, 'ubuntu') | |
run: | | |
echo "$VULKAN_SDK/lib" > /tmp/vk.conf; | |
sudo mv /tmp/vk.conf /etc/ld.so.conf.d/vk.conf; | |
sudo ldconfig ; | |
find $VULKAN_SDK -type f -name "*.pc" -exec sed -i 's@/vulkan-sdk/'"${VULKAN_SDK_VERSION}"'/x86_64@'"${VULKAN_SDK}"'@g' {} + ; | |
find $VULKAN_SDK -type f -name "*.pc" -exec sed -i 's@/'"${VULKAN_SDK}"'@@g' {} + ; | |
pkg_config_path="${VULKAN_SDK}/lib/pkgconfig:${PKG_CONFIG_PATH}"; | |
echo "PKG_CONFIG_PATH=${pkg_config_path}" >> $GITHUB_ENV | |
- name: (Windows) Set VCvars | |
if: startsWith(matrix.name, 'windows') | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Set Compiler Environment | |
uses: lukka/set-shell-env@v1 | |
with: | |
CXX: ${{ matrix.cxx }} | |
CC: ${{ matrix.cc }} | |
- name: Setup Ninja | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Windows Integration Tests | |
if: startsWith(matrix.name, 'windows') | |
shell: powershell | |
run: | | |
git submodule init | |
git submodule update --depth=1 | |
& ./scripts/ci/run_tests.ps1 | |
- name: (Linux) Run Tests | |
if: startsWith(matrix.name, 'ubuntu') | |
run: | | |
./scripts/ci/run_tests.sh; | |
- name: Setup tmate session | |
if: ${{ failure() }} | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
limit-access-to-actor: true |