Fix sprint_prefix() when buffer needs extending #108
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push, or for pull requests against master | |
push: | |
paths-ignore: | |
- NEWS | |
pull_request: | |
branches: [ master ] | |
paths-ignore: | |
- NEWS | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
linux: | |
runs-on: 'ubuntu-20.04' | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: Install CCache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
key: linux | |
- name: Install package dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install \ | |
gettext \ | |
libwxgtk3.0-gtk3-dev \ | |
libavcodec-dev \ | |
libavformat-dev \ | |
libproj-dev \ | |
libswscale-dev \ | |
mesa-common-dev \ | |
libglu1-mesa-dev \ | |
libx11-dev \ | |
libxext-dev \ | |
ghostscript \ | |
netpbm \ | |
x11proto-core-dev \ | |
liblocale-po-perl \ | |
unifont \ | |
docbook \ | |
docbook-utils \ | |
w3m | |
- name: bootstrap source tree | |
run: | | |
autoreconf -fiv | |
git checkout INSTALL | |
- name: configure | |
run: ./configure CC='ccache gcc' CXX='ccache g++' | |
- name: make | |
run: make -j2 | |
- name: Run tests | |
run: make check VERBOSE=1 | |
- name: Check generated files are in .gitignore | |
# grep '^' passes through all input while giving a non-zero exit status | |
# if that input is empty. | |
run: | | |
printf '%s\n' .ccache > ".git/info/exclude" | |
git status --porcelain|grep '^' && { echo "The generated files listed above are not in .gitignore" ; exit 1; }; true | |
valgrind: | |
runs-on: 'ubuntu-20.04' | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: Install CCache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
key: valgrind | |
- name: Install package dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install \ | |
gettext \ | |
libwxgtk3.0-gtk3-dev \ | |
libavcodec-dev \ | |
libavformat-dev \ | |
libproj-dev \ | |
libswscale-dev \ | |
mesa-common-dev \ | |
libglu1-mesa-dev \ | |
libx11-dev \ | |
libxext-dev \ | |
ghostscript \ | |
netpbm \ | |
x11proto-core-dev \ | |
liblocale-po-perl \ | |
unifont \ | |
docbook \ | |
docbook-utils \ | |
w3m | |
sudo apt-get install valgrind | |
- name: bootstrap source tree | |
run: | | |
autoreconf -fiv | |
git checkout INSTALL | |
- name: configure | |
run: ./configure CC='ccache gcc' CXX='ccache g++' | |
- name: make | |
run: make -j2 | |
- name: Run tests | |
run: VALGRIND=valgrind make check VERBOSE=1 | |
- name: Check generated files are in .gitignore | |
# grep '^' passes through all input while giving a non-zero exit status | |
# if that input is empty. | |
run: | | |
printf '%s\n' .ccache > ".git/info/exclude" | |
git status --porcelain|grep '^' && { echo "The generated files listed above are not in .gitignore" ; exit 1; }; true | |
linux-latest: | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: Install CCache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
key: linux-latest | |
- name: Install package dependencies | |
run: | | |
more /etc/apt/sources.list /etc/apt/sources.list.d/*|cat | |
sudo apt-get update | |
sudo apt-get purge mysql-client mysql-server | |
sudo apt-get dist-upgrade | |
sudo apt-get install update-manager libio-pty-perl | |
# `do-release-upgrade` fails (trying to run `screen` it seems) if stdin | |
# isn't a tty so fake one for it using the Perl IO::Pty module. | |
perl -ne '/use blib|clone_winsize_from/ or print' /usr/share/doc/libio-pty-perl/examples/try > $HOME/try | |
# Run in home directory so logs, etc don't end up in source tree. | |
cd "$HOME" && perl ./try sudo do-release-upgrade -d --mode=server | |
sudo apt-get install \ | |
gettext \ | |
libwxgtk3.0-gtk3-dev \ | |
libavcodec-dev \ | |
libavformat-dev \ | |
libproj-dev \ | |
libswscale-dev \ | |
mesa-common-dev \ | |
libglu1-mesa-dev \ | |
libx11-dev \ | |
libxext-dev \ | |
ghostscript \ | |
netpbm \ | |
x11proto-core-dev \ | |
liblocale-po-perl \ | |
unifont \ | |
docbook \ | |
docbook-utils \ | |
w3m | |
- name: bootstrap source tree | |
run: | | |
autoreconf -fiv | |
git checkout INSTALL | |
- name: configure | |
run: ./configure CC='ccache gcc' CXX='ccache g++' | |
- name: make | |
run: make -j2 | |
- name: Run tests | |
run: make check VERBOSE=1 | |
- name: Check generated files are in .gitignore | |
# grep '^' passes through all input while giving a non-zero exit status | |
# if that input is empty. | |
run: | | |
printf '%s\n' .ccache > ".git/info/exclude" | |
git status --porcelain|grep '^' && { echo "The generated files listed above are not in .gitignore" ; exit 1; }; true | |
macos: | |
runs-on: 'macos-latest' | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: Install CCache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
key: macos | |
- name: Install package dependencies | |
run: | | |
brew update | |
brew install \ | |
automake \ | |
ffmpeg \ | |
gettext \ | |
gnu-tar \ | |
netpbm \ | |
proj \ | |
wxwidgets | |
brew link --force gettext | |
cpan -T -i local::lib < /dev/null | |
cpan -I -T -i Locale::PO < /dev/null | |
- name: bootstrap source tree | |
run: | | |
autoreconf -fiv | |
git checkout INSTALL | |
V=`sed -e 's/^AC_INIT[^,]*, *\[\([^]]*\)\].*/\1/p;d' configure.ac` ; curl https://survex.com/software/$V/survex-$V.tar.gz | gtar --strip-components=1 --skip-old-files --wildcards -zxf - '*/lib' '*/doc'; ls -lrt lib ; touch lib/unifont.pixelfont lib/preload_font.h; echo ; ls -lrt doc; touch doc/*.1 doc/manual.txt doc/manual.pdf doc/manual/stampfile | |
- name: configure | |
run: ./configure CC='ccache gcc' CXX='ccache g++' | |
- name: make | |
run: | | |
eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)" | |
make -j3 | |
- name: Run tests | |
run: make check VERBOSE=1 | |
- name: Check generated files are in .gitignore | |
# grep '^' passes through all input while giving a non-zero exit status | |
# if that input is empty. | |
run: | | |
printf '%s\n' .ccache > ".git/info/exclude" | |
git status --porcelain|grep '^' && { echo "The generated files listed above are not in .gitignore" ; exit 1; }; true |