Skip to content

Declare C++14 as required for building #94

Declare C++14 as required for building

Declare C++14 as required for building #94

Workflow file for this run

name: EASTL Build & Test Pipeline
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
checkout:
name: Checkout EASTL and submodules
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
path: EASTL/
- run: cd EASTL/ && git submodule update --init
- name: Upload checked out code
uses: actions/upload-artifact@v2.3.1
with:
name: Code
path: EASTL/
build:
needs: checkout
strategy:
fail-fast: false
matrix:
os: [ windows-latest, ubuntu-latest ]
compiler: [ clang, gcc, msvc ]
configuration: [ Debug, Release ]
std_iter_compatibility: [ std_iter_category_disabled, std_iter_category_enabled ]
exclude:
- os: windows-latest
compiler: gcc
- os: windows-latest
compiler: clang
- os: ubuntu-latest
compiler: msvc
include:
- os: windows-latest
compiler: msvc
cxxflags: '/std:c++20 /Zc:char8_t'
- os: ubuntu-latest
compiler: clang
cc: 'clang-14'
cxx: 'clang++-14'
cxxflags: '-std=c++20'
- os: ubuntu-latest
compiler: gcc
cc: 'gcc-12'
cxx: 'g++-12'
cxxflags: '-std=c++2a'
name: Build EASTL
runs-on: ${{ matrix.os }}
steps:
- name: Download a Build Artifact
uses: actions/download-artifact@v2.1.0
with:
name: Code
path: Code/
- run: mkdir build
- run: cd build && cmake ../Code -DEASTL_BUILD_BENCHMARK:BOOL=ON -DEASTL_BUILD_TESTS:BOOL=ON -DEASTL_STD_ITERATOR_CATEGORY_ENABLED:BOOL=${{ contains(matrix.std_iter_compatibility, 'enabled') && 'ON' || 'OFF' }}
env:
CXXFLAGS: ${{ matrix.cxxflags }}
CXX: ${{ matrix.cxx }}
CC: ${{ matrix.cc }}
- run: cd build && cmake --build . --config ${{ matrix.configuration }}
- name: Upload binaries
uses: actions/upload-artifact@v2.3.1
with:
name: Binaries-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.configuration }}
path: build/
test:
needs: build
name: Run EASTL tests
strategy:
fail-fast: false
matrix:
os: [ windows-latest, ubuntu-latest ]
compiler: [ clang, msvc, gcc ]
configuration: [ Debug, Release ]
exclude:
- os: windows-latest
compiler: gcc
- os: windows-latest
compiler: clang
- os: ubuntu-latest
compiler: msvc
runs-on: ${{ matrix.os }}
steps:
- name: Download a Build Artifact
uses: actions/download-artifact@v2.1.0
with:
name: Binaries-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.configuration }}
path: Binaries/
- if: matrix.os == 'ubuntu-latest'
run: chmod 755 ./Binaries/test/EASTLTest
- run: cd Binaries/test && ctest -C ${{ matrix.configuration }} -V
benchmark:
needs: build
name: Run EASTL benchmarks
strategy:
fail-fast: false
matrix:
os: [ windows-latest, ubuntu-latest ]
compiler: [ clang, msvc, gcc ]
configuration: [ Release ]
exclude:
- os: windows-latest
compiler: gcc
- os: windows-latest
compiler: clang
- os: ubuntu-latest
compiler: msvc
runs-on: ${{ matrix.os }}
steps:
- name: Download a Build Artifact
uses: actions/download-artifact@v2.1.0
with:
name: Binaries-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.configuration }}
path: Binaries/
- if: matrix.os == 'ubuntu-latest'
run: chmod 755 ./Binaries/benchmark/EASTLBenchmarks
- run: cd Binaries/benchmark && ctest -C ${{ matrix.configuration }} -V