diff options
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r-- | .github/workflows/ci.yml | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4351a0c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,57 @@ +name: Continuous Integration + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + strategy: + matrix: + os: [ubuntu-18.04, ubuntu-20.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: Recursive Git Clone + uses: actions/checkout@v2 + with: + submodules: recursive + + - 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 gob2 xvfb + groff doxygen + + - name: Configure Build + run: | + autoreconf -i + ./configure --with-interface=${{ matrix.interface }} --enable-html-manual ${{ 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 + - name: Run Test Suite + run: xvfb-run -a make check + - name: Build Developer Documentation + run: cd doc && make devdoc + # FIXME: Will try to perform an out-of-tree build which will not + # work without manual intervention due to Scintilla. +# - name: make distcheck +# run: xvfb-run -a make distcheck + - name: Build Source Tarball + run: make dist |