aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/ci.yml28
-rw-r--r--.github/workflows/nightly.yml73
2 files changed, 68 insertions, 33 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 9108b5a..d42585a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,7 +16,7 @@ jobs:
steps:
- name: Git Clone
- uses: actions/checkout@v2
+ uses: actions/checkout@v4.1.6
with:
submodules: true
@@ -48,10 +48,8 @@ jobs:
run: xvfb-run -a make check TESTSUITEFLAGS="--verbose"
- 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: make distcheck
+ run: xvfb-run -a make distcheck
- name: Build Source Tarball
run: make dist
@@ -61,7 +59,7 @@ jobs:
steps:
- name: Git Clone
- uses: actions/checkout@v2
+ uses: actions/checkout@v4.1.6
with:
submodules: true
@@ -79,16 +77,14 @@ jobs:
./configure --with-interface=ncurses --enable-debug --enable-html-manual
- run: make
- - run: make install
+ - 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"
- 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
+ - run: make distcheck
- name: Build Source Tarball
run: make dist
@@ -105,7 +101,7 @@ jobs:
steps:
- name: Git Clone
- uses: actions/checkout@v2
+ uses: actions/checkout@v4.1.6
with:
submodules: true
@@ -116,7 +112,7 @@ jobs:
- name: Install Build Dependencies
run: >
pacman -S --noconfirm --needed
- base-devel autotools mingw-w64-i686-toolchain
+ base-devel mingw-w64-i686-autotools mingw-w64-i686-toolchain
mingw-w64-i686-glib2 mingw-w64-i686-pdcurses
groff mingw-w64-i686-doxygen
@@ -135,8 +131,10 @@ jobs:
run: make check TESTSUITEFLAGS="--verbose"
- 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: make distcheck
+ env:
+ DISTCHECK_CONFIGURE_FLAGS: --with-interface=pdcurses-gui
+ PDCURSES_CFLAGS: -I/mingw32/include/pdcurses/
+ run: make distcheck
- name: Build Source Tarball
run: make dist
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 2f14dbf..0af6612 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -17,7 +17,7 @@ jobs:
steps:
- name: Git Clone
- uses: actions/checkout@v2
+ uses: actions/checkout@v4.1.6
with:
submodules: true
@@ -47,20 +47,34 @@ jobs:
cp debian-temp/sciteco-gtk_*.deb sciteco-gtk_nightly_${{matrix.os}}_amd64.deb
cp debian-temp/sciteco-common_*.deb sciteco-common_nightly_${{matrix.os}}_all.deb
- - name: Archive Debian/Ubuntu Packages
- uses: pyTooling/Actions/releaser@v0.4.6
+ - name: Build AppImages
+ # Should always be on the oldest supported Ubuntu
+ if: matrix.os == 'ubuntu-20.04'
+ run: |
+ cd AppImage
+ wget -O pkg2appimage.AppImage \
+ "https://github.com/AppImageCommunity/pkg2appimage/releases/download/continuous/pkg2appimage--x86_64.AppImage"
+ chmod +x pkg2appimage.AppImage
+ ./pkg2appimage.AppImage curses.yml
+ mv out/*.AppImage ../sciteco-curses_nightly_x86_64.AppImage
+ ./pkg2appimage.AppImage gtk.yml
+ mv out/*.AppImage ../sciteco-gtk_nightly_x86_64.AppImage
+ chmod a+x *.AppImage
+
+ - name: Archive Debian/Ubuntu Packages and AppImages
+ uses: pyTooling/Actions/releaser@v1.0.5
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly
- files: ./*.deb
+ files: ./*.deb ./*.AppImage
macos:
- runs-on: macos-11
+ runs-on: macos-12
steps:
- name: Git Clone
- uses: actions/checkout@v2
+ uses: actions/checkout@v4.1.6
with:
submodules: true
@@ -71,8 +85,9 @@ jobs:
# the system libncurses ABI breaks.
# However, Homebrew installs ncurses as a keg and it will refer to a
# non-standard $TERMINFO. This could be worked around.
+ # The macOS Groff version appears to be outdated.
- name: Install Build Dependencies
- run: brew install autoconf automake libtool glib dylibbundler
+ run: brew install autoconf automake libtool glib groff dylibbundler
# Required by pyTooling/Actions/releaser
- name: Set up Python
uses: actions/setup-python@v4.3.0
@@ -97,7 +112,7 @@ jobs:
# but the more we get rid off, the better.
run: |
autoreconf -i
- ./configure --with-interface=ncurses --enable-static-executables
+ ./configure --with-interface=ncurses --enable-static-executables --enable-html-manual
- name: make
run: make -j 2
@@ -124,12 +139,36 @@ jobs:
--root temp-install --install-location / \
sciteco-curses_nightly_macos_x86_64.pkg
- name: Archive Mac OS Distribution (ncurses)
- uses: pyTooling/Actions/releaser/composite@v0.4.6
+ uses: pyTooling/Actions/releaser/composite@v1.0.5
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly
files: ./*.pkg
+ # The website is published on Mac OS only because we cannot tweak the
+ # ./configure flags on Ubuntu where Debian packages are built.
+ # FIXME: This could be done without a gh-pages branch, see
+ # https://github.com/actions/starter-workflows/blob/main/pages/static.yml
+ # This however should be in its own workflow and we'd have to rebuild
+ # SciTECO and everything.
+ # FIXME: Also build cheat-sheet.pdf automatically?
+ - run: make install
+ - name: Install lowdown (Markdown processor)
+ run: brew install lowdown
+ - name: Generate website
+ run: cd www && sciteco -m build.tes
+ - name: Publish Website
+ run: |
+ cd www
+ touch .nojekyll
+ git init
+ cp ../.git/config ./.git/config
+ git add .nojekyll *.html
+ git config --local user.email "Website@GitHubActions"
+ git config --local user.name "GitHub Actions"
+ git commit -a -m "update ${{ github.sha }}"
+ git push -u origin +HEAD:gh-pages
+
win32-curses:
runs-on: windows-2019
@@ -143,7 +182,7 @@ jobs:
steps:
- name: Git Clone
- uses: actions/checkout@v2
+ uses: actions/checkout@v4.1.6
with:
submodules: true
@@ -154,7 +193,7 @@ jobs:
- name: Install Build Dependencies
run: >
pacman -S --noconfirm --needed
- base-devel autotools mingw-w64-i686-toolchain
+ base-devel mingw-w64-i686-autotools mingw-w64-i686-toolchain
mingw-w64-i686-glib2 mingw-w64-i686-pdcurses
groff
@@ -175,9 +214,7 @@ jobs:
LDFLAGS: -flto
run: |
autoreconf -i
- mkdir -p build-wingui/contrib build-wincon/contrib
- cp -r contrib/{scintilla,lexilla,scinterm} build-wingui/contrib
- cp -r contrib/{scintilla,lexilla,scinterm} build-wincon/contrib
+ mkdir build-wingui build-wincon
(cd build-wingui
../configure --with-interface=pdcurses-gui --enable-html-manual --program-prefix=g \
PDCURSES_LIBS="-lpdcurses_wingui -lgdi32 -lcomdlg32 -lwinmm")
@@ -216,7 +253,7 @@ jobs:
for f in *.exe; do ../contrib/mingw-bundledlls --copy $f; done
zip -9 -r ../sciteco-pdcurses_nightly_win32.zip .
- name: Archive Windows Distribution (PDCurses)
- uses: pyTooling/Actions/releaser/composite@v0.4.6
+ uses: pyTooling/Actions/releaser/composite@v1.0.5
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly
@@ -239,7 +276,7 @@ jobs:
steps:
- name: Git Clone
- uses: actions/checkout@v2
+ uses: actions/checkout@v4.1.6
with:
submodules: true
@@ -250,7 +287,7 @@ jobs:
- name: Install Build Dependencies
run: >
pacman -S --noconfirm --needed
- base-devel autotools mingw-w64-i686-toolchain
+ base-devel mingw-w64-i686-autotools mingw-w64-i686-toolchain
mingw-w64-i686-glib2 mingw-w64-i686-gtk3
groff
@@ -312,7 +349,7 @@ jobs:
cp ../win32/loaders.cache lib/gdk-pixbuf-2.0/2.10.0/
zip -9 -r ../sciteco-gtk3_nightly_win32.zip .
- name: Archive Windows Distribution (GTK+ 3)
- uses: pyTooling/Actions/releaser/composite@v0.4.6
+ uses: pyTooling/Actions/releaser/composite@v1.0.5
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly