aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/continuous-integration.yml
blob: d7a44893a8bffbb0b185f475cb170f72a9303888 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: Continuous Integration

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:

    - name: Recursive Git clone
      uses: actions/checkout@v2
      with:
        submodules: recursive

    - name: Install build dependencies
      run: >
        sudo apt-get install -y
        devscripts build-essential lintian
        autoconf automake libtool
        libglib2.0-dev libncurses-dev
        groff doxygen

    - name: Configure build
      run: |
        autoreconf -i
        ./configure --with-interface=ncurses --enable-html-manual

    - run: make
    - run: sudo make install
    - name: Run test suite
      run: 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.
#   - run: make distcheck
    - name: Build source tarball
      run: make dist

# NOTE: distribute.mk currently requires an installed SciTECO.
# Packages are left in debian-temp/.
# It would be sufficient to build debian-binary, but we want to
# test building source packages as well.
    - name: Build Debian package
      run: ./distribute.mk debian
# FIXME: For doing Windows builds, we need a few manually built packages
# (PDCurses, Glib...).
# Perhaps they can be uploaded to Sourceforge and simply downloaded here.
#   - name: Build Windows bundle
#     run: ./distribute.mk mingw-binary

    - name: Archive build artifacts
      uses: actions/upload-artifact@v2
      with:
        path: debian-temp/*.deb