Merge pull request #2382 from dbnicholson/gh-tests-configs
This commit is contained in:
commit
e00c0463cb
|
|
@ -30,10 +30,18 @@ jobs:
|
|||
#
|
||||
# configure-options: Options to pass to `configure`.
|
||||
strategy:
|
||||
# Let other configurations continue if one fails.
|
||||
fail-fast: false
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- name: Debian Buster (10) with sign-ed25519
|
||||
image: debian:buster-slim
|
||||
# Debian builds. Currently stable and testing are tested.
|
||||
# Other options would be stable-backports, oldstable,
|
||||
# oldstable-backports and unstable.
|
||||
#
|
||||
# https://hub.docker.com/_/debian
|
||||
- name: Debian Stable with sign-ed25519
|
||||
image: debian:stable-slim
|
||||
pre-checkout-setup: |
|
||||
apt-get update
|
||||
apt-get install -y git
|
||||
|
|
@ -42,8 +50,8 @@ jobs:
|
|||
configure-options: >-
|
||||
--with-ed25519-libsodium
|
||||
|
||||
- name: Debian Buster (10) with curl, sign-ed25519 and no gpgme
|
||||
image: debian:buster-slim
|
||||
- name: Debian Stable with curl, sign-ed25519 and no gpgme
|
||||
image: debian:stable-slim
|
||||
pre-checkout-setup: |
|
||||
apt-get update
|
||||
apt-get install -y git
|
||||
|
|
@ -56,8 +64,8 @@ jobs:
|
|||
|
||||
# A 32 bit build to act as a proxy for frequently deployed 32
|
||||
# bit armv7
|
||||
- name: Debian Buster (10) 32 bit
|
||||
image: i386/debian:buster-slim
|
||||
- name: Debian Stable 32 bit
|
||||
image: i386/debian:stable-slim
|
||||
# This is pretty nasty. The checkout action uses an x86_64
|
||||
# node binary in the container, so we need to provide an
|
||||
# x86_64 ld.so and libstdc++.
|
||||
|
|
@ -66,14 +74,26 @@ jobs:
|
|||
apt-get update
|
||||
apt-get install -y git libc6:amd64 libstdc++6:amd64
|
||||
|
||||
- name: Ubuntu Focal (20.04)
|
||||
image: ubuntu:focal
|
||||
- name: Debian Testing
|
||||
image: debian:testing-slim
|
||||
pre-checkout-setup: |
|
||||
apt-get update
|
||||
apt-get install -y git
|
||||
|
||||
- name: Ubuntu Groovy (20.10)
|
||||
image: ubuntu:groovy
|
||||
# Ubuntu builds. Unfortunately, when the latest release is
|
||||
# also the latest LTS, latest and rolling are the same. Other
|
||||
# options would be to test the previous LTS by name or to test
|
||||
# the devel tag, which is the unreleased version.
|
||||
#
|
||||
# https://hub.docker.com/_/ubuntu
|
||||
- name: Ubuntu Latest LTS
|
||||
image: ubuntu:latest
|
||||
pre-checkout-setup: |
|
||||
apt-get update
|
||||
apt-get install -y git
|
||||
|
||||
- name: Ubuntu Latest Release
|
||||
image: ubuntu:rolling
|
||||
pre-checkout-setup: |
|
||||
apt-get update
|
||||
apt-get install -y git
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ srcdir="$(pwd)"
|
|||
mkdir ci-build
|
||||
cd ci-build
|
||||
|
||||
# V=1 shows the full build commands. VERBOSE=1 dumps test-suite.log on
|
||||
# failures.
|
||||
make="make V=1 VERBOSE=1"
|
||||
|
||||
../configure \
|
||||
|
|
@ -40,20 +42,9 @@ make="make V=1 VERBOSE=1"
|
|||
|
||||
${make}
|
||||
|
||||
# Run the tests both using check and distcheck and dump the logs on
|
||||
# failures. For distcheck the logs will be inside the dist directory, so
|
||||
# tell make to use the current directory.
|
||||
if ! ${make} check; then
|
||||
cat test-suite.log || :
|
||||
exit 1
|
||||
fi
|
||||
if ! ${make} distcheck \
|
||||
TEST_SUITE_LOG=$(pwd)/test-suite.log \
|
||||
DISTCHECK_CONFIGURE_FLAGS="$*"
|
||||
then
|
||||
cat test-suite.log || :
|
||||
exit 1
|
||||
fi
|
||||
# Run the tests both using check and distcheck.
|
||||
${make} check
|
||||
${make} distcheck DISTCHECK_CONFIGURE_FLAGS="$*"
|
||||
|
||||
# Show the installed files
|
||||
${make} install DESTDIR=$(pwd)/DESTDIR
|
||||
|
|
|
|||
127
ci/gh-install.sh
127
ci/gh-install.sh
|
|
@ -26,8 +26,6 @@
|
|||
set -euo pipefail
|
||||
set -x
|
||||
|
||||
NULL=
|
||||
|
||||
# Get the OS release info
|
||||
. /etc/os-release
|
||||
|
||||
|
|
@ -37,42 +35,99 @@ case "$ID" in
|
|||
# be answered.
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Debian upstream data:
|
||||
# https://tracker.debian.org/pkg/ostree
|
||||
# https://salsa.debian.org/debian/ostree
|
||||
# https://salsa.debian.org/debian/ostree/-/blob/debian/master/debian/control
|
||||
#
|
||||
# Ubuntu package data:
|
||||
# https://packages.ubuntu.com/source/impish/ostree
|
||||
#
|
||||
# TODO: fetch this list from the Debian packaging git repository?
|
||||
|
||||
# First construct a list of Build-Depends common to all
|
||||
# versions. This includes build-essential, which is assumed to
|
||||
# be installed on all Debian builders. We also add gjs to allow
|
||||
# the JS tests to run even though gjs is explicitly disable in
|
||||
# Debian.
|
||||
PACKAGES=(
|
||||
attr
|
||||
autoconf
|
||||
automake
|
||||
bison
|
||||
build-essential
|
||||
ca-certificates
|
||||
cpio
|
||||
debhelper
|
||||
dh-exec
|
||||
docbook-xml
|
||||
docbook-xsl
|
||||
e2fslibs-dev
|
||||
elfutils
|
||||
fuse
|
||||
gnupg
|
||||
gobject-introspection
|
||||
gtk-doc-tools
|
||||
libarchive-dev
|
||||
libattr1-dev
|
||||
libavahi-client-dev
|
||||
libavahi-glib-dev
|
||||
libcap-dev
|
||||
libfuse-dev
|
||||
libgirepository1.0-dev
|
||||
libglib2.0-dev
|
||||
libglib2.0-doc
|
||||
libgpgme-dev
|
||||
liblzma-dev
|
||||
libmount-dev
|
||||
libselinux1-dev
|
||||
libsoup2.4-dev
|
||||
libsystemd-dev
|
||||
libtool
|
||||
procps
|
||||
python3
|
||||
python3-yaml
|
||||
xsltproc
|
||||
zlib1g-dev
|
||||
)
|
||||
|
||||
# Additional common packages:
|
||||
#
|
||||
# gjs - To allow running JS tests even though this has been
|
||||
# disabled in Debian for a while.
|
||||
#
|
||||
# gnome-desktop-testing - To eventually allow running the
|
||||
# installed tests.
|
||||
#
|
||||
# libcurl4-openssl-dev - To allow building the cURL fetch
|
||||
# backend in addition to the soup fetch backend.
|
||||
#
|
||||
# systemd - To get the unit and generator paths from systemd.pc
|
||||
# rather than passing them as configure options.
|
||||
PACKAGES+=(
|
||||
gjs
|
||||
gnome-desktop-testing
|
||||
libcurl4-openssl-dev
|
||||
systemd
|
||||
)
|
||||
|
||||
# Distro specific packages. Matching is on VERSION_CODENAME from
|
||||
# /etc/os-release. Debian testing and unstable may not have this
|
||||
# set, so assume an empty or unset value represents those.
|
||||
|
||||
# hexdump was previously provided by bsdmainutils but is now in
|
||||
# bsdextrautils.
|
||||
case "${VERSION_CODENAME:-}" in
|
||||
(buster|focal|bionic)
|
||||
PACKAGES+=(bsdmainutils)
|
||||
;;
|
||||
(*)
|
||||
PACKAGES+=(bsdextrautils)
|
||||
;;
|
||||
esac
|
||||
|
||||
apt-get -y update
|
||||
apt-get -y install \
|
||||
attr \
|
||||
bison \
|
||||
cpio \
|
||||
debhelper \
|
||||
dh-autoreconf \
|
||||
dh-systemd \
|
||||
docbook-xml \
|
||||
docbook-xsl \
|
||||
e2fslibs-dev \
|
||||
elfutils \
|
||||
fuse \
|
||||
gjs \
|
||||
gnome-desktop-testing \
|
||||
gobject-introspection \
|
||||
gtk-doc-tools \
|
||||
libarchive-dev \
|
||||
libattr1-dev \
|
||||
libcap-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libfuse-dev \
|
||||
libgirepository1.0-dev \
|
||||
libglib2.0-dev \
|
||||
libgpgme11-dev \
|
||||
liblzma-dev \
|
||||
libmount-dev \
|
||||
libselinux1-dev \
|
||||
libsoup2.4-dev \
|
||||
libsystemd-dev \
|
||||
procps \
|
||||
python3-yaml \
|
||||
systemd \
|
||||
zlib1g-dev \
|
||||
"$@"
|
||||
apt-get -y install "${PACKAGES[@]}" "$@"
|
||||
;;
|
||||
|
||||
(*)
|
||||
|
|
|
|||
Loading…
Reference in New Issue