From 2e91d9b2e19a5dee8e5e0959bc9face260c22daf Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Fri, 17 Jan 2020 12:50:42 +0000 Subject: Migrate from Travis CI to GitHub Actions. This brings shiny new GitHub integrations as well as allowing us to bring back the macOS builds which were disabled because of the very broken Travis CI macOS infrastructure. --- .github/workflows/ci-linux.yml | 27 +++++++++++++++++++++++++++ .github/workflows/ci-macos.yml | 27 +++++++++++++++++++++++++++ .travis.yml | 13 ------------- make/template/main.mk | 2 +- tools/travis-ci.sh | 6 ------ 5 files changed, 55 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/ci-linux.yml create mode 100644 .github/workflows/ci-macos.yml delete mode 100644 .travis.yml delete mode 100755 tools/travis-ci.sh diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml new file mode 100644 index 000000000..f35605662 --- /dev/null +++ b/.github/workflows/ci-linux.yml @@ -0,0 +1,27 @@ +name: Linux CI +on: + - pull_request + - push +jobs: + build: + runs-on: ubuntu-16.04 + env: + CXXFLAGS: -std=${{ matrix.standard }} + TEST_BUILD_MODULES: m_geo_maxmind.cpp,m_ldap.cpp,m_mysql.cpp,m_pgsql.cpp,m_regex_pcre.cpp,m_regex_posix.cpp,m_regex_re2.cpp,m_regex_stdlib.cpp,m_regex_tre.cpp,m_sqlite3.cpp,m_ssl_gnutls.cpp,m_ssl_mbedtls.cpp,m_ssl_openssl.cpp,m_sslrehashsignal.cpp + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: | + sudo apt-get update --assume-yes + sudo apt-get install --assume-yes --no-install-recommends clang g++ git make libc++-dev libc++abi-dev pkg-config + sudo apt-get install --assume-yes --no-install-recommends libgnutls28-dev libldap2-dev libmaxminddb-dev libmbedtls-dev libmysqlclient-dev libpcre3-dev libpq-dev libre2-dev libsqlite3-dev libssl-dev libtre-dev + - name: Run test-build + run: ./tools/test-build ${{ matrix.compiler }} + strategy: + matrix: + compiler: + - clang++ + - g++ + standard: + - gnu++98 + - c++14 diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml new file mode 100644 index 000000000..c706b7542 --- /dev/null +++ b/.github/workflows/ci-macos.yml @@ -0,0 +1,27 @@ +name: macOS CI +on: + - pull_request + - push +jobs: + build: + runs-on: macos-latest + env: + CXXFLAGS: -std=${{ matrix.standard }} -I/usr/local/opt/openssl@1.1/include -Wno-error=deprecated-declarations + LDFLAGS: -L/usr/local/opt/openssl@1.1/lib + PKG_CONFIG_PATH: /usr/local/opt/openssl@1.1/lib/pkgconfig + TEST_BUILD_MODULES: m_geo_maxmind.cpp,m_ldap.cpp,m_mysql.cpp,m_pgsql.cpp,m_regex_pcre.cpp,m_regex_posix.cpp,m_regex_re2.cpp,m_regex_stdlib.cpp,m_regex_tre.cpp,m_sqlite3.cpp,m_ssl_gnutls.cpp,m_ssl_mbedtls.cpp,m_ssl_openssl.cpp,m_sslrehashsignal.cpp + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: | + brew update + brew install pkg-config gnutls libmaxminddb libpq mbedtls mysql-client openssl@1.1 pcre re2 sqlite3 tre + brew link --force libpq + brew link --force mysql-client + - name: Run test-build + run: ./tools/test-build c++ + strategy: + matrix: + standard: + - gnu++98 + - c++14 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index c8740e267..000000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -compiler: - - clang - - gcc -dist: xenial -env: - - CXXFLAGS=-std=gnu++98 - - CXXFLAGS=-std=c++14 -language: cpp -notifications: - email: false -script: - - sh ./tools/travis-ci.sh -sudo: required diff --git a/make/template/main.mk b/make/template/main.mk index cc26411b7..a57595c9d 100644 --- a/make/template/main.mk +++ b/make/template/main.mk @@ -300,7 +300,7 @@ help: @echo ' INSPIRCD_VERBOSE=1 Show the full command being executed instead of "BUILD: dns.cpp"' @echo ' INSPIRCD_DEBUG=1 Enable debug build, for module development or crash tracing' @echo ' INSPIRCD_DEBUG=2 Enable debug build with optimizations, for detailed backtraces' - @echo ' INSPIRCD_DEBUG=3 Enable fast build with no optimisations or symbols, for Travis CI' + @echo ' INSPIRCD_DEBUG=3 Enable fast build with no optimisations or symbols (only for CI)' @echo ' DESTDIR= Specify a destination root directory (for tarball creation)' @echo ' -j Run a parallel build using N jobs' @echo '' diff --git a/tools/travis-ci.sh b/tools/travis-ci.sh deleted file mode 100755 index 176cd3375..000000000 --- a/tools/travis-ci.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -set -ev -sudo apt-get update --assume-yes -sudo apt-get install --assume-yes --no-install-recommends libgnutls-dev libldap2-dev libmaxminddb-dev libmbedtls-dev libmysqlclient-dev libpcre3-dev libpq-dev libre2-dev libsqlite3-dev libssl-dev libtre-dev -TEST_BUILD_MODULES="m_geo_maxmind.cpp,m_ldap.cpp,m_mysql.cpp,m_pgsql.cpp,m_regex_pcre.cpp,m_regex_posix.cpp,m_regex_re2.cpp,m_regex_stdlib.cpp,m_regex_tre.cpp,m_sqlite3.cpp,m_ssl_gnutls.cpp,m_ssl_mbedtls.cpp,m_ssl_openssl.cpp,m_sslrehashsignal.cpp" -./tools/test-build $CXX -- cgit v1.2.3