diff options
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/irc.yml | 33 | ||||
| -rw-r--r-- | .github/workflows/nightly.yml | 71 |
2 files changed, 71 insertions, 33 deletions
diff --git a/.github/workflows/irc.yml b/.github/workflows/irc.yml new file mode 100644 index 0000000..a44774c --- /dev/null +++ b/.github/workflows/irc.yml @@ -0,0 +1,33 @@ +# After every push with successful CI, +# post the commits since the last successful CI into the IRC channel. +name: IRC Post + +on: + workflow_run: + workflows: ['Continuous Integration'] + types: [completed] + branches: master + +jobs: + irc: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + steps: + - name: Git Clone + uses: actions/checkout@v4.1.6 + - name: Install Build Dependencies + run: sudo apt-get install -y ncat + - name: Get last successful commit + uses: nrwl/last-successful-commit-action@v1 + id: last_successful_commit + with: + branch: 'master' + workflow_id: 'ci.yml' + github_token: ${{ secrets.GITHUB_TOKEN }} + - name: IRC Connection + run: | + (echo "NICK git-bot" + echo "USER git-bot 8 * : git-bot" + echo "JOIN #sciteco" + git log --pretty="format:PRIVMSG #sciteco %h %s" --reverse ${{ steps.last_successful_commit.outputs.commit_hash }}..HEAD + echo "QUIT") | ncat --ssl irc.libera.chat 6697 diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 11be950..af16dbe 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -50,10 +50,12 @@ jobs: - name: Build AppImages # Should always be on the oldest supported Ubuntu if: matrix.os == 'ubuntu-20.04' + env: + GH_TOKEN: ${{ github.token }} run: | cd AppImage - wget -O pkg2appimage.AppImage \ - "https://github.com/AppImageCommunity/pkg2appimage/releases/download/continuous/pkg2appimage--x86_64.AppImage" + gh release download -R AppImageCommunity/pkg2appimage -O pkg2appimage.AppImage \ + -p 'pkg2appimage-*-x86_64.AppImage' continuous chmod +x pkg2appimage.AppImage ./pkg2appimage.AppImage curses.yml mv out/*.AppImage ../sciteco-curses_nightly_x86_64.AppImage @@ -110,9 +112,12 @@ jobs: #PKG_CONFIG_PATH: /usr/local/opt/ncurses/lib/pkgconfig # NOTE: This will not result in a fully statically-linked binary, # but the more we get rid off, the better. + # NOTE: Making the binary relocatable means it can be installed into non-root directories + # with `installer -pkg -target`. run: | autoreconf -i - ./configure --with-interface=ncurses --enable-static-executables --enable-html-manual + ./configure --with-interface=ncurses --enable-static-executables --enable-html-manual \ + --with-scitecodatadir=../share/sciteco - name: make run: make -j 2 @@ -170,14 +175,14 @@ jobs: git commit -a -m "update ${{ github.sha }}" git push -u origin +HEAD:gh-pages - win32-curses: + win64-curses: runs-on: windows-2019 defaults: run: shell: bash.exe --login -eo pipefail "{0}" env: - MSYSTEM: MINGW32 + MSYSTEM: MINGW64 CHERE_INVOKING: 1 steps: @@ -194,13 +199,13 @@ jobs: - name: Install Build Dependencies run: > pacman -S --noconfirm --needed - base-devel mingw-w64-i686-autotools mingw-w64-i686-toolchain - mingw-w64-i686-glib2 mingw-w64-i686-pdcurses + base-devel mingw-w64-x86_64-autotools mingw-w64-x86_64-toolchain + mingw-w64-x86_64-glib2 mingw-w64-x86_64-pdcurses groff - name: Configure Build env: - PDCURSES_CFLAGS: -I/mingw32/include/pdcurses/ + PDCURSES_CFLAGS: -I/mingw64/include/pdcurses/ # FIXME: glib on MinGW supports static linking but the gspawn # helper binaries are still linked dynamically, forcing us to ship # all DLLs anyway. Therefore it makes little sense to link SciTECO @@ -242,20 +247,20 @@ jobs: - name: Prepare Distribution Directory env: - MINGW_BUNDLEDLLS_SEARCH_PATH: /mingw32/bin + MINGW_BUNDLEDLLS_SEARCH_PATH: /mingw64/bin run: | mkdir temp-bin/ cd temp-bin/ - cp -r /mingw32/bin/{gsciteco.exe,sciteco.exe,grosciteco.tes,tedoc.tes} ./ + cp -r /mingw64/bin/{gsciteco.exe,sciteco.exe,grosciteco.tes,tedoc.tes} ./ # datadir is relative to bindir - cp -r /mingw32/bin/{lib,*.tmac} ./ - cp /mingw32/bin/sample.teco_ini .teco_ini - cp -r /mingw32/share/doc/sciteco/* ./ + cp -r /mingw64/bin/{lib,*.tmac} ./ + cp /mingw64/bin/sample.teco_ini .teco_ini + cp -r /mingw64/share/doc/sciteco/* ./ cp ../COPYING ../ChangeLog ./ - cp /mingw32/bin/gspawn-win32-helper*.exe ./ + cp /mingw64/bin/gspawn-win64-helper*.exe ./ # Collect DLLs for all included binaries for f in *.exe; do ../contrib/mingw-bundledlls --copy $f; done - zip -9 -r ../sciteco-pdcurses_nightly_win32.zip . + zip -9 -r ../sciteco-pdcurses_nightly_win64.zip . - name: Archive Windows Distribution (PDCurses) uses: pyTooling/Actions/releaser/composite@v1.0.5 with: @@ -267,14 +272,14 @@ jobs: # However the Curses version may be linked statically, while Gtk+3 cannot be # linked statically on Windows (at least MSYS does not provide # static libraries) and would draw in libglib, libintl, libiconv etc. anyway. - win32-gtk: + win64-gtk: runs-on: windows-2019 defaults: run: shell: bash.exe --login -eo pipefail "{0}" env: - MSYSTEM: MINGW32 + MSYSTEM: MINGW64 CHERE_INVOKING: 1 steps: @@ -291,8 +296,8 @@ jobs: - name: Install Build Dependencies run: > pacman -S --noconfirm --needed - base-devel mingw-w64-i686-autotools mingw-w64-i686-toolchain - mingw-w64-i686-glib2 mingw-w64-i686-gtk3 mingw-w64-i686-librsvg + base-devel mingw-w64-x86_64-autotools mingw-w64-x86_64-toolchain + mingw-w64-x86_64-glib2 mingw-w64-x86_64-gtk3 mingw-w64-x86_64-librsvg groff - name: Configure Build @@ -316,44 +321,44 @@ jobs: - name: Prepare Distribution Directory env: - MINGW_BUNDLEDLLS_SEARCH_PATH: /mingw32/bin + MINGW_BUNDLEDLLS_SEARCH_PATH: /mingw64/bin run: | mkdir temp-bin cd temp-bin - cp /mingw32/bin/{sciteco.exe,grosciteco.tes,tedoc.tes} ./ + cp /mingw64/bin/{sciteco.exe,grosciteco.tes,tedoc.tes} ./ # datadir is relative to bindir - cp -r /mingw32/bin/{lib,*.tmac} ./ + cp -r /mingw64/bin/{lib,*.tmac} ./ # FIXME: Maybe there should be a separate win32/.teco_ini with # a few pre-enabled settings? - cp /mingw32/bin/sample.teco_ini .teco_ini - cp /mingw32/bin/fallback.css .teco_css - cp -r /mingw32/share/doc/sciteco/* ./ + cp /mingw64/bin/sample.teco_ini .teco_ini + cp /mingw64/bin/fallback.css .teco_css + cp -r /mingw64/share/doc/sciteco/* ./ cp ../COPYING ../ChangeLog ./ - cp /mingw32/bin/gspawn-win32-helper*.exe ./ + cp /mingw64/bin/gspawn-win64-helper*.exe ./ # Collect DLLs for all included binaries for f in *.exe; do ../contrib/mingw-bundledlls --copy $f; done #mkdir share - #cp /mingw32/share/loader.cache share/ - #glib-compile-schemas /mingw32/share/glib-2.0/schemas + #cp /mingw64/share/loader.cache share/ + #glib-compile-schemas /mingw64/share/glib-2.0/schemas #mkdir -p share/glib-2.0 - #cp /mingw32/share/glib-2.0/gschemas.compiled share/glib-2.0/ + #cp /mingw64/share/glib-2.0/gschemas.compiled share/glib-2.0/ mkdir -p share/icons/Adwaita # FIXME: It should be sufficient to package the SVG icons, # but I cannot get it to work. Perhaps index.theme would have to be tweaked. # We could also try to include a pure scalable icon theme. - #cp -r /mingw32/share/icons/Adwaita/{scalable*,index.theme} share/icons/Adwaita/ - cp -r /mingw32/share/icons/Adwaita/* share/icons/Adwaita/ + #cp -r /mingw64/share/icons/Adwaita/{scalable*,index.theme} share/icons/Adwaita/ + cp -r /mingw64/share/icons/Adwaita/* share/icons/Adwaita/ gtk-update-icon-cache-3.0 share/icons/Adwaita/ # FIXME: It's possible to change the location of loaders.cache via $GDK_PIXBUF_MODULE_FILE. # If we did that, we could avoid "reusing" the lib/ directory. # This is important when somebody changes $SCITECOPATH. - cp /mingw32/lib/gdk-pixbuf-2.0/2.10.0/loaders/{pixbufloader_svg.dll,libpixbufloader-png.dll} . + cp /mingw64/lib/gdk-pixbuf-2.0/2.10.0/loaders/{pixbufloader_svg.dll,libpixbufloader-png.dll} . # Collect DLLs for all pixbuf loaders into the root directory for f in *pixbufloader*.dll; do ../contrib/mingw-bundledlls --copy $f; done mkdir -p lib/gdk-pixbuf-2.0/2.10.0/loaders/ mv *pixbufloader*.dll lib/gdk-pixbuf-2.0/2.10.0/loaders/ cp ../win32/loaders.cache lib/gdk-pixbuf-2.0/2.10.0/ - zip -9 -r ../sciteco-gtk3_nightly_win32.zip . + zip -9 -r ../sciteco-gtk3_nightly_win64.zip . - name: Archive Windows Distribution (GTK+ 3) uses: pyTooling/Actions/releaser/composite@v1.0.5 with: |
