name: Build on: push: branches-ignore: - staging.tmp - trying.tmp - staging-squash-merge.tmp pull_request: jobs: build-cmake: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macOS-latest, windows-latest, ubuntu-20.04] include: - os: ubuntu-latest cmake-args: -G Ninja package-file: "*-linux_x86_64.tar.xz" fancy: true env: CFLAGS: -Wdeclaration-after-statement -Werror CXXFLAGS: -Werror - os: ubuntu-20.04 cmake-path: /usr/bin/ cmake-args: -G Ninja package-file: "*-linux_x86_64.tar.xz" fancy: false env: CFLAGS: -Wdeclaration-after-statement -Werror CXXFLAGS: -Werror GTEST_FILTER: -*SQLite* - os: macOS-latest cmake-args: -G Ninja package-file: "*-macos.dmg" fancy: false env: CFLAGS: -Wdeclaration-after-statement -Werror CXXFLAGS: -Werror - os: windows-latest cmake-args: -A x64 package-file: "*-win64.zip" fancy: false env: CFLAGS: /WX CXXFLAGS: /WX LDFLAGS: /WX steps: - uses: actions/checkout@v2 with: submodules: true - name: Prepare Linux if: contains(matrix.os, 'ubuntu') run: | sudo apt-get update -y sudo apt-get upgrade -y sudo apt-get install pkg-config cmake ninja-build libfreetype6-dev libnotify-dev libsdl2-dev libsqlite3-dev libvulkan-dev glslang-tools spirv-tools libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev libx264-dev -y - name: Prepare Linux (fancy) if: contains(matrix.os, 'ubuntu') && matrix.fancy run: | sudo apt-get install libmariadbclient-dev libwebsockets-dev mariadb-server-10.3 -y sudo rm -rf /var/lib/mysql/ sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql/ cd /usr; sudo /usr/bin/mysqld_safe --datadir='/var/lib/mysql/' --no-watch sleep 10 sudo mariadb <