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`.
|
# configure-options: Options to pass to `configure`.
|
||||||
strategy:
|
strategy:
|
||||||
|
# Let other configurations continue if one fails.
|
||||||
|
fail-fast: false
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- name: Debian Buster (10) with sign-ed25519
|
# Debian builds. Currently stable and testing are tested.
|
||||||
image: debian:buster-slim
|
# 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: |
|
pre-checkout-setup: |
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y git
|
apt-get install -y git
|
||||||
|
|
@ -42,8 +50,8 @@ jobs:
|
||||||
configure-options: >-
|
configure-options: >-
|
||||||
--with-ed25519-libsodium
|
--with-ed25519-libsodium
|
||||||
|
|
||||||
- name: Debian Buster (10) with curl, sign-ed25519 and no gpgme
|
- name: Debian Stable with curl, sign-ed25519 and no gpgme
|
||||||
image: debian:buster-slim
|
image: debian:stable-slim
|
||||||
pre-checkout-setup: |
|
pre-checkout-setup: |
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y git
|
apt-get install -y git
|
||||||
|
|
@ -56,8 +64,8 @@ jobs:
|
||||||
|
|
||||||
# A 32 bit build to act as a proxy for frequently deployed 32
|
# A 32 bit build to act as a proxy for frequently deployed 32
|
||||||
# bit armv7
|
# bit armv7
|
||||||
- name: Debian Buster (10) 32 bit
|
- name: Debian Stable 32 bit
|
||||||
image: i386/debian:buster-slim
|
image: i386/debian:stable-slim
|
||||||
# This is pretty nasty. The checkout action uses an x86_64
|
# This is pretty nasty. The checkout action uses an x86_64
|
||||||
# node binary in the container, so we need to provide an
|
# node binary in the container, so we need to provide an
|
||||||
# x86_64 ld.so and libstdc++.
|
# x86_64 ld.so and libstdc++.
|
||||||
|
|
@ -66,14 +74,26 @@ jobs:
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y git libc6:amd64 libstdc++6:amd64
|
apt-get install -y git libc6:amd64 libstdc++6:amd64
|
||||||
|
|
||||||
- name: Ubuntu Focal (20.04)
|
- name: Debian Testing
|
||||||
image: ubuntu:focal
|
image: debian:testing-slim
|
||||||
pre-checkout-setup: |
|
pre-checkout-setup: |
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y git
|
apt-get install -y git
|
||||||
|
|
||||||
- name: Ubuntu Groovy (20.10)
|
# Ubuntu builds. Unfortunately, when the latest release is
|
||||||
image: ubuntu:groovy
|
# 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: |
|
pre-checkout-setup: |
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y git
|
apt-get install -y git
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,8 @@ srcdir="$(pwd)"
|
||||||
mkdir ci-build
|
mkdir ci-build
|
||||||
cd 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"
|
make="make V=1 VERBOSE=1"
|
||||||
|
|
||||||
../configure \
|
../configure \
|
||||||
|
|
@ -40,20 +42,9 @@ make="make V=1 VERBOSE=1"
|
||||||
|
|
||||||
${make}
|
${make}
|
||||||
|
|
||||||
# Run the tests both using check and distcheck and dump the logs on
|
# Run the tests both using check and distcheck.
|
||||||
# failures. For distcheck the logs will be inside the dist directory, so
|
${make} check
|
||||||
# tell make to use the current directory.
|
${make} distcheck DISTCHECK_CONFIGURE_FLAGS="$*"
|
||||||
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
|
|
||||||
|
|
||||||
# Show the installed files
|
# Show the installed files
|
||||||
${make} install DESTDIR=$(pwd)/DESTDIR
|
${make} install DESTDIR=$(pwd)/DESTDIR
|
||||||
|
|
|
||||||
127
ci/gh-install.sh
127
ci/gh-install.sh
|
|
@ -26,8 +26,6 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
NULL=
|
|
||||||
|
|
||||||
# Get the OS release info
|
# Get the OS release info
|
||||||
. /etc/os-release
|
. /etc/os-release
|
||||||
|
|
||||||
|
|
@ -37,42 +35,99 @@ case "$ID" in
|
||||||
# be answered.
|
# be answered.
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
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?
|
# 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 update
|
||||||
apt-get -y install \
|
apt-get -y install "${PACKAGES[@]}" "$@"
|
||||||
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 \
|
|
||||||
"$@"
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(*)
|
(*)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue