aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml147
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