Add an older Alpine CI build on Cirrus #88
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
# Github Actions configuration | |
name: CI | |
permissions: {} | |
on: | |
# Trigger the workflow on push or pull requests, but only for the | |
# master and ci branches | |
push: | |
branches: | |
- master | |
- ci | |
pull_request: | |
branches: | |
- master | |
env: | |
MAKEFLAGS: -j 2 | |
jobs: | |
build-22_04: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
build: | |
- cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: clang++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- name: no-nls | |
cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 | |
cxx: g++ | |
target: all | |
install_target: install install-desktop-file | |
- name: debuglog | |
cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 -DDEBUG | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
failing_tests: 16 | |
- name: sanitize | |
cc: clang | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -g -O0 -fsanitize=address -fsanitize=undefined -DENABLE_NLS=1 | |
ldflags: -g -O0 -fsanitize=address -fsanitize=undefined | |
cxx: clang++ | |
target: all | |
install_target: install install-po install-desktop-file | |
asan_options: strict_string_checks=0:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:use_sigaltstack=0 | |
- name: 'compile as c++' | |
cc: g++ | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
steps: | |
- uses: actions/checkout@v3 | |
- name: 'install deps' | |
run: sudo apt-get update -y; sudo apt-get install -y --no-install-suggests --no-install-recommends ${{ matrix.build.install }} | |
- name: 'build' | |
run: make CFLAGS="${{ matrix.build.cflags }}" LDFLAGS="${{ matrix.build.ldflags }}" CC="${{ matrix.build.cc }}" CXX="${{ matrix.build.cxx }}" GTK="${{ matrix.build.gtk }}" ${{ matrix.build.make_opts }} ${{ matrix.build.target }} | |
- name: 'smoke test' | |
# ASAN_OPTIONS is to work around https://bugzilla.redhat.com/show_bug.cgi?id=1950244 | |
run: env ASAN_OPTIONS="${{ matrix.build.asan_options }}" ./gpscorrelate -V | |
- name: 'test' | |
run: | | |
if [[ -z "${{ matrix.build.failing_tests }}" ]] ; then | |
make check CHECK_OPTIONS=-v ASAN_OPTIONS="${{ matrix.build.asan_options }}" | |
else | |
# Debug logging enabled makes some tests fail due to differing output | |
echo 'Expecting ${{ matrix.build.failing_tests }} test failures' | |
make check CHECK_OPTIONS=-v | tee /dev/stderr | grep -q '${{ matrix.build.failing_tests }} test(s) have FAILED' | |
fi | |
- name: 'install test' | |
run: make prefix= DESTDIR="${PWD}" ${{ matrix.build.install_target }} | |
build-20_04: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
build: | |
- cc: gcc | |
gtk: 2 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk2.0-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang | |
gtk: 2 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk2.0-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: clang++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- name: no-nls | |
cc: gcc | |
gtk: 2 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk2.0-dev xsltproc | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 | |
cxx: g++ | |
target: all | |
install_target: install install-desktop-file | |
- cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: clang++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- name: no-nls | |
cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 | |
cxx: g++ | |
target: all | |
install_target: install install-desktop-file | |
- name: debuglog | |
cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 -DDEBUG | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
failing_tests: 16 | |
- cc: gcc-8 | |
gtk: 2 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk2.0-dev xsltproc gettext gcc-8 | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: gcc-8 | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext gcc-8 | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang-8 | |
gtk: 2 | |
install: clang-8 desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk2.0-dev gettext xsltproc | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: clang++-8 | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang-9 | |
gtk: 2 | |
install: clang-9 desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk2.0-dev gettext xsltproc | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: clang++-9 | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang-10 | |
gtk: 2 | |
install: clang-10 desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk2.0-dev gettext xsltproc | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: clang++-10 | |
target: all | |
install_target: install install-po install-desktop-file | |
- name: 'compile as c++' | |
cc: g++ | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc gettext | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
steps: | |
- uses: actions/checkout@v3 | |
- name: 'install deps' | |
run: sudo apt-get update -y; sudo apt-get install -y --no-install-suggests --no-install-recommends ${{ matrix.build.install }} | |
- name: 'build' | |
run: make CFLAGS="${{ matrix.build.cflags }}" LDFLAGS="${{ matrix.build.ldflags }}" CC="${{ matrix.build.cc }}" CXX="${{ matrix.build.cxx }}" GTK="${{ matrix.build.gtk }}" ${{ matrix.build.make_opts }} ${{ matrix.build.target }} | |
- name: 'smoke test' | |
run: ./gpscorrelate -V | |
- name: 'test' | |
run: | | |
if [[ -z "${{ matrix.build.failing_tests }}" ]] ; then | |
make check CHECK_OPTIONS=-v ASAN_OPTIONS="${{ matrix.build.asan_options }}" | |
else | |
# Debug logging enabled makes some tests fail due to differing output | |
echo 'Expecting ${{ matrix.build.failing_tests }} test failures' | |
make check CHECK_OPTIONS=-v | tee /dev/stderr | grep -q '${{ matrix.build.failing_tests }} test(s) have FAILED' | |
fi | |
- name: 'install test' | |
run: make prefix= DESTDIR="${PWD}" ${{ matrix.build.install_target }} | |
coverage: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
build: | |
- cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk-3-dev xsltproc lcov | |
cflags: -g -O0 --coverage | |
ldflags: -g -O0 --coverage | |
cxx: g++ | |
target: gpscorrelate | |
steps: | |
- uses: actions/checkout@v3 | |
- name: 'install deps' | |
run: sudo apt-get update -y; sudo apt-get install -y --no-install-suggests --no-install-recommends ${{ matrix.build.install }} | |
- name: 'build' | |
run: make CFLAGS="${{ matrix.build.cflags }}" LDFLAGS="${{ matrix.build.ldflags }}" CC="${{ matrix.build.cc }}" CXX="${{ matrix.build.cxx }}" GTK="${{ matrix.build.gtk }}" ${{ matrix.build.make_opts }} ${{ matrix.build.target }} | |
- name: 'smoke test' | |
run: ./gpscorrelate -V | |
- name: 'test' | |
run: make check CHECK_OPTIONS=-v ASAN_OPTIONS="${{ matrix.build.asan_options }}" | |
- name: coverage analysis | |
run: mkdir coverage && lcov -c -d . -o coverage/lcov.info | |
- name: push to Coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.github_token }} | |
build-osx12: | |
runs-on: macos-12 | |
env: | |
MAKEFLAGS: -j 3 | |
strategy: | |
fail-fast: false | |
matrix: | |
build: | |
- cc: gcc | |
gtk: 2 | |
install: desktop-file-utils docbook-xsl exiv2 gtk+ | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
ldflags: -O3 -lintl | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 gtk+3 | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
ldflags: -O3 -lintl | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang | |
gtk: 2 | |
install: desktop-file-utils docbook-xsl exiv2 gtk+ | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
ldflags: -O3 -lintl | |
cxx: clang++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 gtk+3 | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
ldflags: -O3 -lintl | |
cxx: clang++ | |
target: all | |
install_target: install install-po install-desktop-file | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install deps | |
run: brew install ${{ matrix.build.install }} | |
- name: build | |
run: make CFLAGS="${{ matrix.build.cflags }}" LDFLAGS="${{ matrix.build.ldflags }}" CC="${{ matrix.build.cc }}" CXX="${{ matrix.build.cxx }}" GTK="${{ matrix.build.gtk }}" ${{ matrix.build.make_opts }} XML_CATALOG_FILES="$(brew --prefix)/etc/xml/catalog" XSLTFLAGS=--nonet ${{ matrix.build.target }} | |
- name: smoke test | |
run: ./gpscorrelate -V | |
- name: test | |
run: | | |
if [[ -z "${{ matrix.build.failing_tests }}" ]] ; then | |
make check CHECK_OPTIONS=-v ASAN_OPTIONS="${{ matrix.build.asan_options }}" | |
else | |
# Debug logging enabled makes some tests fail due to differing output | |
echo 'Expecting ${{ matrix.build.failing_tests }} test failures' | |
make check CHECK_OPTIONS=-v | tee /dev/stderr | grep -q '${{ matrix.build.failing_tests }} test(s) have FAILED' | |
fi | |
- name: install test | |
run: make prefix= DESTDIR="${PWD}" ${{ matrix.build.install_target }} | |
build-osx11: | |
runs-on: macos-11 | |
env: | |
MAKEFLAGS: -j 3 | |
strategy: | |
fail-fast: false | |
matrix: | |
build: | |
- cc: gcc | |
gtk: 2 | |
install: desktop-file-utils docbook-xsl exiv2 gtk+ | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
ldflags: -O3 -lintl | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: gcc | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 gtk+3 | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
ldflags: -O3 -lintl | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang | |
gtk: 2 | |
install: desktop-file-utils docbook-xsl exiv2 gtk+ | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
ldflags: -O3 -lintl | |
cxx: clang++ | |
target: all | |
install_target: install install-po install-desktop-file | |
- cc: clang | |
gtk: 3 | |
install: desktop-file-utils docbook-xsl exiv2 gtk+3 | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
ldflags: -O3 -lintl | |
cxx: clang++ | |
target: all | |
install_target: install install-po install-desktop-file | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install deps | |
run: brew install ${{ matrix.build.install }} | |
- name: build | |
run: make CFLAGS="${{ matrix.build.cflags }}" LDFLAGS="${{ matrix.build.ldflags }}" CC="${{ matrix.build.cc }}" CXX="${{ matrix.build.cxx }}" GTK="${{ matrix.build.gtk }}" ${{ matrix.build.make_opts }} XML_CATALOG_FILES="$(brew --prefix)/etc/xml/catalog" XSLTFLAGS=--nonet ${{ matrix.build.target }} | |
- name: smoke test | |
run: ./gpscorrelate -V | |
- name: test | |
run: | | |
if [[ -z "${{ matrix.build.failing_tests }}" ]] ; then | |
make check CHECK_OPTIONS=-v ASAN_OPTIONS="${{ matrix.build.asan_options }}" | |
else | |
# Debug logging enabled makes some tests fail due to differing output | |
echo 'Expecting ${{ matrix.build.failing_tests }} test failures' | |
make check CHECK_OPTIONS=-v | tee /dev/stderr | grep -q '${{ matrix.build.failing_tests }} test(s) have FAILED' | |
fi | |
- name: install test | |
run: make prefix= DESTDIR="${PWD}" ${{ matrix.build.install_target }} | |
build-fedora37: | |
runs-on: ubuntu-latest | |
container: fedora:37 | |
strategy: | |
fail-fast: false | |
matrix: | |
build: | |
- cc: gcc | |
gtk: 3 | |
install: gcc g++ make diffutils desktop-file-utils docbook-style-xsl exiv2 exiv2-devel gtk3-devel xsltproc gettext-devel | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install deps | |
run: | | |
dnf install -y --setopt=install_weak_deps=False ${{ matrix.build.install }} | |
- name: build | |
run: make CFLAGS="${{ matrix.build.cflags }}" LDFLAGS="${{ matrix.build.ldflags }}" CC="${{ matrix.build.cc }}" CXX="${{ matrix.build.cxx }}" GTK="${{ matrix.build.gtk }}" ${{ matrix.build.make_opts }} ${{ matrix.build.target }} | |
- name: smoke test | |
run: ./gpscorrelate -V | |
- name: test | |
run: | | |
install -d -m 0777 tests/log | |
if [[ -z "${{ matrix.build.failing_tests }}" ]] ; then | |
sudo -u nobody make check CHECK_OPTIONS=-v ASAN_OPTIONS="${{ matrix.build.asan_options }}" | |
else | |
# Debug logging enabled makes some tests fail due to differing output | |
echo 'Expecting ${{ matrix.build.failing_tests }} test failures' | |
sudo -u nobody make check CHECK_OPTIONS=-v | tee /dev/stderr | grep -q '${{ matrix.build.failing_tests }} test(s) have FAILED' | |
fi | |
- name: install test | |
run: make prefix= DESTDIR="${PWD}" ${{ matrix.build.install_target }} | |
build-fedora38: | |
runs-on: ubuntu-latest | |
container: fedora:38 | |
strategy: | |
fail-fast: false | |
matrix: | |
build: | |
- cc: gcc | |
gtk: 3 | |
install: gcc g++ make diffutils desktop-file-utils docbook-style-xsl exiv2 exiv2-devel gtk3-devel xsltproc gettext-devel | |
cflags: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1 | |
cxx: g++ | |
target: all | |
install_target: install install-po install-desktop-file | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install deps | |
run: | | |
dnf install -y --setopt=install_weak_deps=False ${{ matrix.build.install }} | |
- name: build | |
run: make CFLAGS="${{ matrix.build.cflags }}" LDFLAGS="${{ matrix.build.ldflags }}" CC="${{ matrix.build.cc }}" CXX="${{ matrix.build.cxx }}" GTK="${{ matrix.build.gtk }}" ${{ matrix.build.make_opts }} ${{ matrix.build.target }} | |
- name: smoke test | |
run: ./gpscorrelate -V | |
- name: test | |
run: | | |
install -d -m 0777 tests/log | |
if [[ -z "${{ matrix.build.failing_tests }}" ]] ; then | |
sudo -u nobody make check CHECK_OPTIONS=-v ASAN_OPTIONS="${{ matrix.build.asan_options }}" | |
else | |
# Debug logging enabled makes some tests fail due to differing output | |
echo 'Expecting ${{ matrix.build.failing_tests }} test failures' | |
sudo -u nobody make check CHECK_OPTIONS=-v | tee /dev/stderr | grep -q '${{ matrix.build.failing_tests }} test(s) have FAILED' | |
fi | |
- name: install test | |
run: make prefix= DESTDIR="${PWD}" ${{ matrix.build.install_target }} |