Migrate the select suite to the new test registration framework #3165
Workflow file for this run
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: Presubmit | |
on: [push, pull_request] | |
jobs: | |
build: | |
name: Build ${{ matrix.os }} ${{ matrix.arch }}${{ matrix.extra }} | |
runs-on: ${{ matrix.os }} | |
env: | |
JOB_ARCHITECTURE: ${{ matrix.arch }} | |
JOB_ENABLE_GL: ${{ matrix.gl }} | |
JOB_ENABLE_DEBUG: ${{ matrix.debug }} | |
strategy: | |
fail-fast: false | |
matrix: | |
mainmatrix: [true] | |
os: [ubuntu-22.04, macos-latest, windows-latest] | |
include: | |
- os: ubuntu-22.04 | |
mainmatrix: true | |
gl: 1 | |
extra: " gl" | |
- os: ubuntu-22.04 | |
mainmatrix: false | |
arch: arm | |
- os: ubuntu-22.04 | |
mainmatrix: false | |
arch: aarch64 | |
debug: 1 | |
extra: " debug" | |
- os: ubuntu-22.04 | |
mainmatrix: false | |
arch: android-arm | |
android_arch_abi: armeabi-v7a | |
- os: ubuntu-22.04 | |
mainmatrix: false | |
arch: android-aarch64 | |
android_arch_abi: arm64-v8a | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Ninja | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Install Arm and AArch64 compilers | |
if: ${{ matrix.arch == 'arm' || matrix.arch == 'aarch64' }} | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y \ | |
gcc-12-arm-linux-gnueabihf g++-12-arm-linux-gnueabihf \ | |
gcc-12-aarch64-linux-gnu g++-12-aarch64-linux-gnu | |
sudo update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-12 12 | |
sudo update-alternatives --install /usr/bin/arm-linux-gnueabihf-g++ arm-linux-gnueabihf-g++ /usr/bin/arm-linux-gnueabihf-g++-12 12 | |
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-12 12 | |
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-12 12 | |
- name: Setup OpenGL build dependencies | |
if: ${{ matrix.gl }} | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install libglu1-mesa-dev freeglut3-dev mesa-common-dev libglew-dev | |
- name: Setup MSVC with Ninja | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Setup ccache | |
uses: hendrikmuhs/ccache-action@v1.2 | |
with: | |
variant: sccache | |
key: ${{ matrix.os }}-${{ matrix.arch }} | |
- name: Fetch OpenCL Headers | |
shell: bash | |
run: | | |
git clone https://github.com/KhronosGroup/OpenCL-Headers.git | |
cd OpenCL-Headers | |
ln -s CL OpenCL # For OSX builds | |
cd .. | |
- name: Install Vulkan SDK | |
uses: humbletim/install-vulkan-sdk@main | |
with: | |
version: 1.3.275.0 | |
cache: true | |
- name: Install Android NDK | |
if: ${{ matrix.arch == 'android-arm' || matrix.arch == 'android-aarch64' }} | |
run: | | |
wget https://dl.google.com/android/repository/android-ndk-r27c-linux.zip -O android-ndk.zip | |
unzip android-ndk.zip -d $HOME | |
export ANDROID_NDK=$HOME/android-ndk-r27c | |
echo "ANDROID_NDK=$ANDROID_NDK" >> $GITHUB_ENV | |
export ANDROID_ARCH_ABI=${{ matrix.android_arch_abi }} | |
echo "ANDROID_ARCH_ABI=$ANDROID_ARCH_ABI" >> $GITHUB_ENV | |
- name: Build | |
shell: bash | |
run: ./presubmit.sh | |
formatcheck: | |
name: Check code format | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install packages | |
run: sudo apt install -y clang-format clang-format-14 | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Check code format | |
run: ./check-format.sh |