diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/ci.yml | 28 | ||||
-rw-r--r-- | .github/workflows/nightly.yml | 73 |
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 |