diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/ci-alpine.yml | 58 | ||||
-rw-r--r-- | .github/workflows/ci-linux.yml | 10 | ||||
-rw-r--r-- | .github/workflows/ci-windows.yml | 35 |
3 files changed, 96 insertions, 7 deletions
diff --git a/.github/workflows/ci-alpine.yml b/.github/workflows/ci-alpine.yml new file mode 100644 index 000000000..b289efee1 --- /dev/null +++ b/.github/workflows/ci-alpine.yml @@ -0,0 +1,58 @@ +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 \ + 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 ldap ldap_authentication ldap_oper mysql regex_pcre2 regex_posix regex_tre sql_authentication sql_log sql_oper 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..c6340a632 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 @@ -24,7 +24,6 @@ jobs: libldap2-dev \ libmysqlclient-dev \ libpcre2-dev \ - libpcre3-dev \ libsqlite3-dev \ libssl-dev \ libtre-dev \ @@ -32,9 +31,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 ldap_authentication ldap_oper mysql regex_pcre2 regex_posix regex_tre sql_authentication sql_log sql_oper 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 +51,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 |