Skip to content

Write OSMTracker headings as having a magnetic reference #97

Write OSMTracker headings as having a magnetic reference

Write OSMTracker headings as having a magnetic reference #97

Workflow file for this run

# 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@v4
- 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@v4
- 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@v4
- 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
cxxflags: -std=c++11 -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
cxxflags: -std=c++11 -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
cxxflags: -std=c++11 -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
cxxflags: -std=c++11 -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@v4
- name: install deps
run: brew install ${{ matrix.build.install }}
- name: build
run: make CFLAGS="${{ matrix.build.cflags }}" CXXFLAGS="${{ matrix.build.cxxflags }}" 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
cxxflags: -std=c++11 -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
cxxflags: -std=c++11 -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
cxxflags: -std=c++11 -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
cxxflags: -std=c++11 -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@v4
- name: install deps
run: brew install ${{ matrix.build.install }}
- name: build
run: make CFLAGS="${{ matrix.build.cflags }}" CXXFLAGS="${{ matrix.build.cxxflags }}" 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-fedora39:
runs-on: ubuntu-latest
container: fedora:39
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@v4
- 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@v4
- 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 }}