summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/ci-alpine.yml59
-rw-r--r--.github/workflows/ci-linux.yml11
-rw-r--r--.github/workflows/ci-windows.yml35
3 files changed, 98 insertions, 7 deletions
diff --git a/.github/workflows/ci-alpine.yml b/.github/workflows/ci-alpine.yml
new file mode 100644
index 000000000..6a0466e44
--- /dev/null
+++ b/.github/workflows/ci-alpine.yml
@@ -0,0 +1,59 @@
+name: Alpine CI
+on:
+ pull_request:
+ push:
+ schedule:
+ - cron: '0 0 * * 0'
+jobs:
+ build:
+ if: "!contains(github.event.head_commit.message, '[skip alpine ci]')"
+ container: alpine:edge
+ runs-on: ubuntu-latest
+ env:
+ CXX: ${{ matrix.compiler }}
+ CXXFLAGS: -Werror
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Install dependencies
+ run: |
+ echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
+ apk update
+ apk add \
+ argon2-dev \
+ clang \
+ cmake \
+ g++ \
+ gettext \
+ git \
+ gnutls-dev \
+ mariadb-dev \
+ openldap-dev \
+ openssl-dev \
+ pcre2-dev \
+ samurai \
+ sqlite-dev \
+ tre-dev
+
+ - name: Enable extras
+ run: |
+ for MODULE in enc_argon2 ldap mysql regex_pcre2 regex_posix regex_tre sqlite ssl_gnutls ssl_openssl
+ do
+ ln -s $PWD/modules/extra/$MODULE.cpp $PWD/modules
+ done
+
+ - name: Run CMake
+ run: |
+ mkdir build && cd build
+ cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=DEBUG -DINSTDIR:STRING=$(readlink -f ../run) ..
+
+ - name: Build Anope
+ run: |
+ ninja -C build install
+
+ strategy:
+ fail-fast: false
+ matrix:
+ compiler:
+ - clang++
+ - g++
diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml
index eed4a8078..d102be965 100644
--- a/.github/workflows/ci-linux.yml
+++ b/.github/workflows/ci-linux.yml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-20.04
env:
CXX: ${{ matrix.compiler }}
- CXXFLAGS: -std=${{ matrix.standard }}
+ CXXFLAGS: -Werror
steps:
- uses: actions/checkout@v4
@@ -20,11 +20,11 @@ jobs:
g++ \
gettext \
git \
+ libargon2-dev \
libgnutls28-dev \
libldap2-dev \
libmysqlclient-dev \
libpcre2-dev \
- libpcre3-dev \
libsqlite3-dev \
libssl-dev \
libtre-dev \
@@ -32,9 +32,9 @@ jobs:
- name: Enable extras
run: |
- for MODULE in m_ldap.cpp m_ldap_authentication.cpp m_ldap_oper.cpp m_mysql.cpp m_regex_pcre.cpp m_regex_pcre2.cpp m_regex_posix.cpp m_regex_tre.cpp m_sql_authentication.cpp m_sql_log.cpp m_sql_oper.cpp m_sqlite.cpp m_ssl_gnutls.cpp m_ssl_openssl.cpp stats
+ for MODULE in ldap mysql regex_pcre2 regex_posix regex_tre sqlite ssl_gnutls ssl_openssl
do
- ln -s ${{ github.workspace }}/modules/extra/$MODULE ${{ github.workspace }}/modules
+ ln -s ${{ github.workspace }}/modules/extra/$MODULE.cpp ${{ github.workspace }}/modules
done
- name: Run CMake
@@ -52,6 +52,3 @@ jobs:
compiler:
- clang++
- g++
- standard:
- - c++98
- - c++17
diff --git a/.github/workflows/ci-windows.yml b/.github/workflows/ci-windows.yml
new file mode 100644
index 000000000..a68832721
--- /dev/null
+++ b/.github/workflows/ci-windows.yml
@@ -0,0 +1,35 @@
+name: Windows CI
+on:
+ pull_request:
+ push:
+ schedule:
+ - cron: '0 0 * * 0'
+jobs:
+ build:
+ if: "!contains(github.event.head_commit.message, '[skip windows ci]')"
+ runs-on: windows-2019
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup MSBuild
+ uses: microsoft/setup-msbuild@v1.3
+
+ - name: Setup Conan
+ uses: turtlebrowser/get-conan@v1.2
+ with:
+ version: 1.59.0
+
+ - name: Install libraries
+ run: |
+ conan install ${{ github.workspace }}\src\win32 --build=missing
+
+ - name: Run CMake
+ run: |
+ mkdir ${{ github.workspace }}\build
+ cd ${{ github.workspace }}\build
+ cmake -A "x64" -G "Visual Studio 16 2019" ..
+
+ - name: Build Anope
+ working-directory: ${{ github.workspace }}\build
+ run: |
+ msbuild PACKAGE.vcxproj /M:3 /P:Configuration=Release /P:Platform=x64 /VERBOSITY:MINIMAL