summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2020-01-17 12:50:42 +0000
committerSadie Powell <sadie@witchery.services>2020-01-17 15:35:20 +0000
commit2e91d9b2e19a5dee8e5e0959bc9face260c22daf (patch)
tree8dd78efb1e66895ebf619f5566daf056038ce1c8
parentca452cca521e2b938dfb37f62d23614c9ec18a90 (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.yml27
-rw-r--r--.github/workflows/ci-macos.yml27
-rw-r--r--.travis.yml13
-rw-r--r--make/template/main.mk2
-rwxr-xr-xtools/travis-ci.sh6
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