aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/nightly.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/nightly.yml')
-rw-r--r--.github/workflows/nightly.yml73
1 files changed, 73 insertions, 0 deletions
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 67c7233..f6e6ca0 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -60,3 +60,76 @@ jobs:
with:
name: SciTECO nightly packages on ${{ steps.date.outputs.date }} (${{ matrix.os }}, ncurses and GTK+ 3)
path: debian-temp/*.deb
+
+ win32-curses:
+ runs-on: windows-latest
+
+ defaults:
+ run:
+ shell: bash.exe --login -eo pipefail "{0}"
+ env:
+ MSYSTEM: MINGW32
+ CHERE_INVOKING: 1
+
+ steps:
+
+ - name: Recursive Git Clone
+ uses: actions/checkout@v2
+ with:
+ submodules: recursive
+
+ - 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-i686-toolchain
+ mingw-w64-i686-glib2 mingw-w64-i686-pdcurses
+ groff
+
+ - name: Configure Build
+ env:
+ PDCURSES_CFLAGS: -I/mingw32/include/pdcurses/
+ # The additional Windows libraries are for Win32a:
+ PDCURSES_LIBS: -lpdcurses -lgdi32 -lcomdlg32
+ LIBGLIB_LIBS: -lglib-2.0 -lintl -liconv -lpcre -lole32 -lws2_32
+ # FIXME: Once there is an --enable-lto, we should use that.
+ CFLAGS: -g -O3 -flto -DGLIB_STATIC_COMPILATION
+ CXXFLAGS: -g -O3 -flto
+ LDFLAGS: -flto
+ run: |
+ autoreconf -i
+ ./configure --with-interface=pdcurses --enable-html-manual --enable-static-executables
+
+ - name: make
+ run: make -j 2
+ - run: make install-strip
+ # 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: Prepare Distribution Directory
+ run: |
+ mkdir temp-bin/
+ cp /mingw32/bin/{sciteco.exe,grosciteco.tes,tedoc.tes} temp-bin/
+ cp -r /mingw32/share/sciteco/{lib,*.teco_ini,*.tmac} temp-bin/
+ cp /mingw32/share/sciteco/sample.teco_ini temp-bin/.teco_ini
+ cp -r /mingw32/share/doc/sciteco/* temp-bin/
+ cp COPYING ChangeLog temp-bin/
+ cp /mingw32/bin/gspawn-win32-helper-console.exe temp-bin/
+ # FIXME: Even though MSYS provides working statically-linked
+ # Glib libraries, the g_spawn() helpers still depend on the DLL.
+ # This could perhaps be avoided by downloading our own self-built
+ # executable from somewhere.
+ cp /mingw32/bin/libglib-2.0-0.dll temp-bin/
+ - name: Get Current Date
+ id: date
+ run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
+ - name: Archive Windows Distribution (PDCurses)
+ uses: actions/upload-artifact@v2
+ with:
+ name: SciTECO nightly packages on ${{ steps.date.outputs.date }} (win32, PDCurses)
+ path: temp-bin/*