mirror of
https://github.com/boostorg/mysql.git
synced 2026-02-13 12:32:18 +00:00
110 lines
4.1 KiB
YAML
110 lines
4.1 KiB
YAML
#
|
|
# Copyright (c) 2019-2022 Ruben Perez Hidalgo (rubenperez038 at gmail dot com)
|
|
#
|
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
#
|
|
|
|
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches-ignore: [gh-pages]
|
|
|
|
|
|
jobs:
|
|
linux-cmake:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- { name: clang-debug, image: build-cmake-clang12, build-type: Debug, valgrind: 1, coverage: 0, db: mysql8 }
|
|
- { name: clang-release, image: build-cmake-clang12, build-type: Release, valgrind: 0, coverage: 0, db: mysql8 }
|
|
- { name: coverage, image: build-cmake-gcc11, build-type: Debug, valgrind: 0, coverage: 1, db: mysql8 }
|
|
- { name: gcc-debug, image: build-cmake-gcc11, build-type: Debug, valgrind: 1, coverage: 0, db: mysql8 }
|
|
- { name: gcc-release, image: build-cmake-gcc11, build-type: Release, valgrind: 0, coverage: 0, db: mysql8 }
|
|
- { name: mysql5, image: build-cmake-clang12, build-type: Debug, valgrind: 0, coverage: 0, db: mysql5 }
|
|
- { name: mariadb, image: build-cmake-clang12, build-type: Debug, valgrind: 0, coverage: 0, db: mariadb }
|
|
container:
|
|
image: ghcr.io/anarthal/${{ matrix.image }}:latest
|
|
volumes:
|
|
- /var/run/mysqld:/var/run/mysqld
|
|
services:
|
|
mysql:
|
|
image: ghcr.io/anarthal/${{ matrix.db }}:latest
|
|
ports:
|
|
- 3306:3306
|
|
volumes:
|
|
- /var/run/mysqld:/var/run/mysqld
|
|
options: >-
|
|
--health-cmd "mysqladmin ping -h localhost"
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
BOOST_MYSQL_SERVER_HOST: mysql # This should match the service name in this yml
|
|
BOOST_MYSQL_DATABASE: ${{ matrix.db }}
|
|
CMAKE_BUILD_TYPE: ${{ matrix.build-type }}
|
|
USE_VALGRIND: ${{ matrix.valgrind }}
|
|
USE_COVERAGE: ${{ matrix.coverage }}
|
|
CMAKE_CXX_STANDARD: 20
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: bash tools/build_linux_cmake.sh
|
|
|
|
|
|
linux-b2:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- { name: clang-3.6, image: build-b2-clang3_6, stdlib: native, cxxstd: '14' }
|
|
- { name: clang-7, image: build-b2-clang7, stdlib: native, cxxstd: '17' }
|
|
- { name: clang-11, image: build-b2-clang11, stdlib: native, cxxstd: '20' }
|
|
- { name: clang-12, image: build-b2-clang12, stdlib: native, cxxstd: '11,14,17,20' }
|
|
- { name: clang-libc++, image: build-b2-clang12, stdlib: libc++, cxxstd: '20' }
|
|
- { name: gcc-5, image: build-b2-gcc5, stdlib: native, cxxstd: '11,14' }
|
|
- { name: gcc-6, image: build-b2-gcc6, stdlib: native, cxxstd: '17' }
|
|
- { name: gcc-10, image: build-b2-gcc10, stdlib: native, cxxstd: '20' }
|
|
- { name: gcc-11, image: build-b2-gcc11, stdlib: native, cxxstd: '11,14,17,20' }
|
|
container:
|
|
image: ghcr.io/anarthal/${{ matrix.image }}:latest
|
|
volumes:
|
|
- /var/run/mysqld:/var/run/mysqld
|
|
services:
|
|
mysql:
|
|
image: ghcr.io/anarthal/mysql8:latest
|
|
ports:
|
|
- 3306:3306
|
|
volumes:
|
|
- /var/run/mysqld:/var/run/mysqld
|
|
options: >-
|
|
--health-cmd "mysqladmin ping -h localhost"
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
BOOST_MYSQL_SERVER_HOST: mysql # This should match the service name in this yml
|
|
B2_VARIANT: debug,release
|
|
B2_CXXSTD: ${{ matrix.cxxstd }}
|
|
B2_STDLIB: ${{ matrix.stdlib }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: bash tools/build_unix_b2.sh
|
|
|
|
|
|
osx:
|
|
runs-on: macos-latest
|
|
env:
|
|
BOOST_MYSQL_SERVER_HOST: 127.0.0.1 # Force use IPv4
|
|
OPENSSL_ROOT: /usr/local/opt/openssl
|
|
B2_VARIANT: debug,release
|
|
B2_CXXSTD: 17
|
|
B2_STDLIB: native
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: bash tools/setup_db_osx.sh
|
|
- run: bash tools/build_unix_b2.sh
|
|
|