blob: d7b821e98c5cc6d6d679d5f2ef7520edfd55f702 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: log4cxx
on: [push, pull_request]
jobs:
job:
name: ${{ matrix.os }}-${{ matrix.cxx }}-build-and-test
runs-on: ${{ matrix.os }}
timeout-minutes: 38
strategy:
fail-fast: false
matrix:
name: [ubuntu18-gcc, ubuntu18-clang, osx, windows-2019]
include:
- name: windows-2019
os: windows-2019
cxx: cl.exe
cc: cl.exe
- name: ubuntu18-gcc
os: ubuntu-18.04
cxx: g++
cc: gcc
- name: ubuntu18-clang
os: ubuntu-18.04
cxx: clang++
cc: clang
- name: osx
os: macos-latest
cxx: clang++
cc: clang
steps:
- uses: actions/checkout@v2
- uses: lukka/set-shell-env@v1.1
with:
CXX: ${{ matrix.cxx }}
CC: ${{ matrix.cc }}
- name: 'Configure Dependencies - Ubuntu'
if: matrix.name == 'ubuntu18-gcc' || matrix.name == 'ubuntu18-clang'
run: |
sudo apt-get update
sudo apt-get install -y libapr1-dev libaprutil1-dev
# note: sqlext.h exists on github VM, purge for now as we don't link correctly...
sudo apt-get purge unixodbc-dev
- name: 'Restore Prebuilt Dependencies - Windows'
id: restore-vcpkg-cache
if: matrix.name == 'windows-2019' || matrix.name == 'windows-2016'
uses: actions/cache@v2
with:
path: ${{ runner.workspace }}/vcpkg
key: ${{ runner.os }}-${{ matrix.name }}-cache
- name: 'Configure Dependencies - Windows'
if: matrix.name == 'windows-2019' || matrix.name == 'windows-2016'
uses: lukka/run-vcpkg@v5
id: runvcpkg
with:
vcpkgArguments: apr apr-util
vcpkgDirectory: ${{ runner.workspace }}/vcpkg/
vcpkgGitCommitId: ffa7fd27cfa29f206d1fd2ccfc722cad4aaeef3d
vcpkgTriplet: x64-windows
- name: 'run cmake'
uses: lukka/run-cmake@v3
with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
buildDirectory: ${{ runner.workspace }}/build
useVcpkgToolchainFile: true
cmakeAppendedArgs: '-DLOG4CXX_TEST_PROGRAM_PATH=C:\msys64\usr\bin'
- name: run unit tests
shell: pwsh
run: |
cd ${{ runner.workspace }}/build
ctest -C Debug --output-on-failure -V