aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2021-06-01 00:44:49 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2021-06-01 00:44:49 +0200
commitf1b17f7d2bf03ed798520c3a5f322c0d79f3787c (patch)
tree002a0fd030efccf66b8b8015068d5b8c38dc004e /.github/workflows/ci.yml
parent0dcfb82c706585d1ed5bd700a88cc9ddc6a8751d (diff)
downloadsciteco-f1b17f7d2bf03ed798520c3a5f322c0d79f3787c.tar.gz
Continuous Integration artifacts are now built only once a day (nightly builds) and include Gtk+ versions
* The CI tests are unchanged. The workflow file has been renamed to ci.yml, though. * Nightly builds are described by nightly.yml and are built at 4:13. * Nightly Ubuntu package builds now include the Gtk+ 3 packages.
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml57
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