Skip to content

strlen optimization: use constexpr instead of runtime-constant #88

strlen optimization: use constexpr instead of runtime-constant

strlen optimization: use constexpr instead of runtime-constant #88

Workflow file for this run

name: Cling CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: ubuntu-16.04-gcc-compile
os: ubuntu-16.04
compiler: gcc
- name: ubuntu-18.04-gcc-compile
os: ubuntu-18.04
compiler: gcc
- name: ubuntu-18.04-clang-compile
os: ubuntu-18.04
compiler: clang
- name: ubuntu-20.04-gcc-compile
os: ubuntu-20.04
compiler: gcc
- name: ubuntu-20.04-clang-compile
os: ubuntu-20.04
compiler: clang
- name: macos-10.15-xcode-11.2.1-compile
os: macOS-10.15
compiler: clang
xcode-version: "11.2.1"
- name: macos-10.15-gcc-9-compile
os: macOS-10.15
compiler: gcc
version: "9"
steps:
- uses: actions/checkout@v2
- name: Setup compiler on Linux
run: |
sudo apt-get update
if [ "${{ matrix.compiler }}" = "gcc" ]; then
echo "CC=gcc" >> $GITHUB_ENV
echo "CXX=g++" >> $GITHUB_ENV
else
sudo apt-get install -y clang
echo "CC=clang" >> $GITHUB_ENV
echo "CXX=clang++" >> $GITHUB_ENV
fi
if: runner.os == 'Linux'
shell: bash
- name: Setup compiler on OS X
run: |
curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci; source ./macports-ci install
if [ "${{ matrix.compiler }}" = "gcc" ]; then
brew install gcc@${{ matrix.version }}
echo "CC=gcc-${{ matrix.version }}" >> $GITHUB_ENV
echo "CXX=g++-${{ matrix.version }}" >> $GITHUB_ENV
else
sudo xcode-select -switch /Applications/Xcode_${{ matrix.xcode-version }}.app
echo "CC=clang" >> $GITHUB_ENV
echo "CXX=clang++" >> $GITHUB_ENV
fi
if: runner.os == 'macOS'
- name: Display compiler version
run: $CC --version
- name: Execute cpt
run: |
if [ ${{ github.event_name }} = 'pull_request' ]; then
REPO="${{ github.event.pull_request.head.repo.full_name }}"
else
REPO="$GITHUB_REPOSITORY"
fi
if [[ "${{ matrix.compiler }}" = "gcc" && "${{ matrix.version }}" = "7" ]]; then
export CLING_BUILD_FLAGS="-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
if [ "${{ matrix.os }}" != "macOS-11.0" ] | [ "${{ matrix.os }}" != "macOS-10.15" ]; then
export CLING_BUILD_FLAGS="$CLING_BUILD_FLAGS -DCXX_EXTENSIONS=OFF"
fi
fi
export CLING_BUILD_FLAGS="$CLING_BUILD_FLAGS -DCLANG_ENABLE_ARCMT=OFF -DCLANG_ENABLE_STATIC_ANALYZER=OFF -DLLVM_ENABLE_WARNINGS=OFF -DCLING_ENABLE_WARNINGS=ON"
if [[ ${{ matrix.name }} == *"compile"* ]]; then
python3 cpt.py -y --check-requirements --current-dev=tar --with-cmake-flags="$CLING_BUILD_FLAGS" --with-cling-url=https://github.com/$REPO --with-cling-branch=${{ github.head_ref }}
elif [[ ${{ matrix.name }} == *"fromtar"* ]]; then
python3 cpt.py -y --check-requirements --current-dev=tar --with-cmake-flags="$CLING_BUILD_FLAGS" --with-cling-url=https://github.com/$REPO --with-cling-branch=${{ github.head_ref }} --with-llvm-binary --with-llvm-tar
else
python3 cpt.py -y --check-requirements --current-dev=tar --with-cmake-flags="$CLING_BUILD_FLAGS" --with-cling-url=https://github.com/$REPO --with-cling-branch=${{ github.head_ref }} --with-llvm-binary
fi
working-directory: tools/packaging/
- name: Setup tmate session
if: ${{ failure() }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 1 # When debugging increase to a suitable value!