2
0
mirror of https://github.com/boostorg/mysql.git synced 2026-02-13 12:32:18 +00:00
Files
mysql/.github/workflows/build-code.yml
2022-03-22 00:16:44 +01:00

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