diff options
author | Sadie Powell <sadie@witchery.services> | 2020-01-17 12:50:42 +0000 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2020-01-17 15:35:20 +0000 |
commit | 2e91d9b2e19a5dee8e5e0959bc9face260c22daf (patch) | |
tree | 8dd78efb1e66895ebf619f5566daf056038ce1c8 | |
parent | ca452cca521e2b938dfb37f62d23614c9ec18a90 (diff) |
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.
-rw-r--r-- | .github/workflows/ci-linux.yml | 27 | ||||
-rw-r--r-- | .github/workflows/ci-macos.yml | 27 | ||||
-rw-r--r-- | .travis.yml | 13 | ||||
-rw-r--r-- | make/template/main.mk | 2 | ||||
-rwxr-xr-x | tools/travis-ci.sh | 6 |
5 files changed, 55 insertions, 20 deletions
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 <N> 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 |