diff options
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r-- | .github/workflows/ci.yml | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 508931c..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,147 +0,0 @@ -name: Continuous Integration - -on: [push, pull_request] - -jobs: - ubuntu: - strategy: - matrix: - os: [ubuntu-22.04, ubuntu-24.04] - compiler: ['CC=gcc CXX=g++', 'CC=clang CXX=clang++'] - interface: [ncurses, gtk] - - # NOTE: The virtual environments already contain both GCC and Clang - runs-on: ${{ matrix.os }} - - steps: - - - name: Git Clone - uses: actions/checkout@v4.1.6 - with: - submodules: true - - - name: Update Repositories - run: sudo apt-get update - - name: Install Build Dependencies - run: > - sudo apt-get install -y - build-essential - autoconf automake libtool - libglib2.0-dev libncurses-dev libgtk-3-dev xvfb - groff doxygen - - - name: Configure Build - env: - # Enable Adress Sanitizer only on ncurses. - # Gtk produces a lot of false negatives. - # This will improve the test suite quality, even without Valgrind. - CFLAGS: ${{ matrix.interface == 'ncurses' && '-fsanitize=address -fno-omit-frame-pointer' || ' ' }} - CXXFLAGS: ${{ matrix.interface == 'ncurses' && '-fsanitize=address -fno-omit-frame-pointer' || ' ' }} - MALLOC_REPLACEMENT: ${{ matrix.interface == 'ncurses' && 'no' || 'check' }} - run: | - autoreconf -i - ./configure --with-interface=${{ matrix.interface }} --enable-debug --enable-html-docs \ - --enable-malloc-replacement=$MALLOC_REPLACEMENT ${{ matrix.compiler }} - - # NOTE: xvfb-run emulates an XServer and is required when building - # Gtk versions (since SciTECO calls itself during the build). - - name: make - run: xvfb-run -a make - - name: make install - run: sudo xvfb-run -a make install - # NOTE: The test suite must be run in verbose mode because if it fails - # we won't be able to analyze testsuite.log. - - name: Run Test Suite - run: xvfb-run -a make check TESTSUITEFLAGS="--verbose --color=never" - - name: Build Developer Documentation - run: cd doc && make devdoc - - name: make distcheck - run: xvfb-run -a make distcheck - - name: Build Source Tarball - run: make dist - - macos: - runs-on: macos-latest - - steps: - - - name: Git Clone - uses: actions/checkout@v4.1.6 - with: - submodules: true - - # NOTE: macOS already ships with ncurses and - # XCode already comes with the autotools. - - name: Install Build Dependencies - run: brew install autoconf automake libtool glib groff doxygen - - name: Configure Build - env: - # Make sure we don't pick up GCC by accident. - CC: clang - CXX: clang++ - run: | - autoreconf -i - ./configure --with-interface=ncurses --enable-debug --enable-html-docs - - - run: make - - run: sudo make install - # NOTE: The test suite must be run in verbose mode because if it fails - # we won't be able to analyze testsuite.log. - - name: Run Test Suite - run: make check TESTSUITEFLAGS="--verbose --color=never" - - name: Build Developer Documentation - run: cd doc && make devdoc - - run: make distcheck - - name: Build Source Tarball - run: make dist - - win64: - runs-on: windows-latest - - defaults: - run: - shell: bash.exe --login -eo pipefail "{0}" - env: - MSYSTEM: MINGW64 - CHERE_INVOKING: 1 - - steps: - - - name: Git Clone - uses: actions/checkout@v4.1.6 - with: - submodules: true - - - name: Set Up Shell - run: echo C:\msys64\usr\bin\ | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - shell: pwsh - - - name: Install Build Dependencies - run: > - pacman -S --noconfirm --needed - base-devel mingw-w64-x86_64-autotools mingw-w64-x86_64-toolchain - mingw-w64-x86_64-glib2 mingw-w64-x86_64-pdcurses - groff mingw-w64-x86_64-doxygen - - - name: Configure Build - env: - CURSES_CFLAGS: -I/mingw64/include/pdcurses/ - run: | - autoreconf -i - ./configure --with-interface=pdcurses-gui --enable-debug --enable-html-docs - - - run: make - - run: make install - # NOTE: The test suite must be run in verbose mode because if it fails - # we won't be able to analyze testsuite.log. - - name: Run Test Suite - run: make check TESTSUITEFLAGS="--verbose --color=never" - - name: Build Developer Documentation - run: cd doc && make devdoc - - name: make distcheck - env: - DISTCHECK_CONFIGURE_FLAGS: --with-interface=pdcurses-gui - CURSES_CFLAGS: -I/mingw64/include/pdcurses/ - run: make distcheck - - name: Build Source Tarball - run: make dist |