name: Ubuntu CI on: - pull_request - push jobs: build: if: "!contains(github.event.head_commit.message, '[skip ubuntu ci]')" runs-on: ubuntu-24.04 env: CXX: ${{ matrix.compiler }} CXXFLAGS: -std=${{ matrix.standard }} steps: - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get update --assume-yes sudo apt-get install --assume-yes --no-install-recommends \ clang \ g++ \ gettext \ git \ libgnutls28-dev \ libldap2-dev \ libmysqlclient-dev \ libpcre2-dev \ libpcre3-dev \ libsqlite3-dev \ libssl-dev \ libtre-dev \ ninja-build - 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 do ln -s ${{ github.workspace }}/modules/extra/$MODULE ${{ github.workspace }}/modules done - name: Run CMake run: | mkdir build && cd build cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=DEBUG -DINSTDIR:STRING=${{ github.workspace }}/run .. - name: Build Anope run: | ninja -C ${{ github.workspace }}/build install strategy: fail-fast: false matrix: compiler: - clang++ - g++ standard: - c++98 - c++17