diff options
-rw-r--r-- | .gitlab-ci.yml | 90 | ||||
-rw-r--r-- | ci/README.rst | 14 | ||||
-rw-r--r-- | ci/ci-centos-7.Dockerfile | 99 | ||||
-rw-r--r-- | ci/ci-centos-8.Dockerfile | 68 | ||||
-rw-r--r-- | ci/ci-debian-10.Dockerfile | 69 | ||||
-rw-r--r-- | ci/ci-debian-9.Dockerfile | 72 | ||||
-rw-r--r-- | ci/ci-debian-sid.Dockerfile | 69 | ||||
-rw-r--r-- | ci/ci-fedora-31.Dockerfile | 66 | ||||
-rw-r--r-- | ci/ci-fedora-32.Dockerfile | 66 | ||||
-rw-r--r-- | ci/ci-fedora-rawhide-cross-mingw32.Dockerfile | 80 | ||||
-rw-r--r-- | ci/ci-fedora-rawhide-cross-mingw64.Dockerfile | 80 | ||||
-rw-r--r-- | ci/ci-fedora-rawhide.Dockerfile | 67 | ||||
-rw-r--r-- | ci/ci-opensuse-151.Dockerfile | 68 | ||||
-rw-r--r-- | ci/ci-ubuntu-1804.Dockerfile | 72 | ||||
-rw-r--r-- | ci/ci-ubuntu-2004.Dockerfile | 69 | ||||
-rwxr-xr-x | ci/refresh | 30 |
16 files changed, 1077 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eadda00..05f514d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ stages: - prebuild + - containers - builds .multilib: &multilib | @@ -30,6 +31,23 @@ stages: export VIRT_PREFIX="$VIRT_PREFIX/$ABI/sys-root/mingw" export PKG_CONFIG_PATH="$VIRT_PREFIX/lib/pkgconfig" +.container_job_template: &container_job_definition + image: docker:stable + stage: containers + services: + - docker:dind + before_script: + - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest" + - export COMMON_TAG="$CI_REGISTRY/libosinfo/libosinfo/ci-$NAME:latest" + - docker info + - docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" + script: + - docker pull "$TAG" || docker pull "$COMMON_TAG" || true + - docker build --cache-from "$TAG" --cache-from "$COMMON_TAG" --tag "$TAG" -f "ci/ci-$NAME.Dockerfile" ci + - docker push "$TAG" + after_script: + - docker logout + .osinfo-db-tools-build: &osinfo-db-tools-build | pushd /tmp/ git clone https://gitlab.com/libosinfo/osinfo-db-tools.git @@ -88,7 +106,7 @@ stages: .native-build-job: &native-build-job stage: builds - image: quay.io/libvirt/buildenv-libosinfo-$NAME:latest + image: $CI_REGISTRY_IMAGE/ci-$NAME:latest cache: paths: - ccache @@ -104,7 +122,7 @@ stages: .mingw-build-job: &mingw-build-job stage: builds - image: quay.io/libvirt/buildenv-libosinfo-$NAME-cross-$CROSS:latest + image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest cache: paths: - ccache @@ -130,6 +148,74 @@ check-dco: variables: - $CI_PROJECT_NAMESPACE == "libosinfo" + +centos-7-container: + <<: *container_job_definition + variables: + NAME: centos-7 + +centos-8-container: + <<: *container_job_definition + variables: + NAME: centos-8 + +debian-9-container: + <<: *container_job_definition + variables: + NAME: debian-9 + +debian-10-container: + <<: *container_job_definition + variables: + NAME: debian-10 + +debian-sid-container: + <<: *container_job_definition + variables: + NAME: debian-sid + +fedora-31-container: + <<: *container_job_definition + variables: + NAME: fedora-31 + +fedora-32-container: + <<: *container_job_definition + variables: + NAME: fedora-32 + +fedora-rawhide-container: + <<: *container_job_definition + variables: + NAME: fedora-rawhide + +fedora-rawhide-cross-mingw32-container: + <<: *container_job_definition + variables: + NAME: fedora-rawhide-cross-mingw32 + +fedora-rawhide-cross-mingw64-container: + <<: *container_job_definition + variables: + NAME: fedora-rawhide-cross-mingw64 + +opensuse-151-container: + <<: *container_job_definition + variables: + NAME: opensuse-151 + RPM: skip + +ubuntu-1804-container: + <<: *container_job_definition + variables: + NAME: ubuntu-1804 + +ubuntu-2004-container: + <<: *container_job_definition + variables: + NAME: ubuntu-2004 + + centos-7: <<: *native-build-job variables: diff --git a/ci/README.rst b/ci/README.rst new file mode 100644 index 0000000..530897e --- /dev/null +++ b/ci/README.rst @@ -0,0 +1,14 @@ +CI job assets +============= + +This directory contains assets used in the automated CI jobs, most +notably the Dockerfiles used to build container images in which the +CI jobs then run. + +The ``refresh`` script is used to re-create the Dockerfiles using the +``lcitool`` command that is provided by repo +https://gitlab.com/libvirt/libvirt-ci + +The containers are built during the CI process and cached in the GitLab +container registry of the project doing the build. The cached containers +can be deleted at any time and will be correctly rebuilt. diff --git a/ci/ci-centos-7.Dockerfile b/ci/ci-centos-7.Dockerfile new file mode 100644 index 0000000..9849b1c --- /dev/null +++ b/ci/ci-centos-7.Dockerfile @@ -0,0 +1,99 @@ +FROM centos:7 + +RUN echo -e '[openvz]\n\ +name=OpenVZ addons\n\ +baseurl=https://download.openvz.org/virtuozzo/releases/openvz-7.0.11-235/x86_64/os/\n\ +enabled=1\n\ +gpgcheck=1\n\ +skip_if_unavailable=0\n\ +metadata_expire=6h\n\ +priority=90\n\ +includepkgs=libprl*' > /etc/yum.repos.d/openvz.repo && \ + echo -e '-----BEGIN PGP PUBLIC KEY BLOCK-----\n\ +Version: GnuPG v2.0.22 (GNU/Linux)\n\ +\n\ +mI0EVl80nQEEAKrEeyeTCwrzS9kYedZ/sAc/GUqlb81C7pA9SaR3fyck5mVw1Ogk\n\ +YdmNBPM2kY7QDxR9F0EpSpnxSCAXZXugsQ8KzZ0DRLVeBDQyGs9IGK5hI0zzxIil\n\ +BzfvIexLiQQhLy7YlIi8Jt/uUqKkW0pIMNMGcduY97VATtczpncpkmSzABEBAAG0\n\ +SFZpcnR1b3p6byBUZWFtIChHUEcga2V5IHNpZ25hdHVyZSBmb3IgcGFja2FnZXMp\n\ +IDxzZWN1cml0eUB2aXJ0dW96em8uY29tPoi5BBMBAgAjBQJWXzSdAhsDBwsJCAcD\n\ +AgEGFQgCCQoLBBYCAwECHgECF4AACgkQygt9GUTNrSruIgP/er70Eyo73A1gfrjv\n\ +oPUkyo4rslVRZu3qqCwoMFtJc/Z/UxWgEka1buorlcGLa6eO/EZ49c0n+KGa4Kvt\n\ +EUboIq0yEu5i0FyAj92ifm+hNhoAbGfm0cZ4/fD0oGr3l8OsQo4+iHX4xAPwFe7Y\n\ +zABuB8I1ZDZ4OIp5tDfTTuF2LT24jQRWXzSdAQQAog2Aqb+Ptl68O7cQhWLjVGkj\n\ +yyigZrdeReLx3HloKJPBeQ/kA6uvMJc/IYS3uppMWXv9v+QenS6uhP1TUJ2k9FvM\n\ +t94MQZfALN7Vpf8AF+UeWu4Ru+y4BNzcFhrPhIFNFChOR2QqW6FkgE57D9I177NC\n\ +oJMyrlNe8wcGa178An8AEQEAAYifBBgBAgAJBQJWXzSdAhsMAAoJEMoLfRlEza0q\n\ +bKwD/3+OFVIEXnIv5XgdGRNX5fHggsUN1bb8gva7HANRlKdd4LD8foDM3F/yv/3V\n\ +igG14D5EjKz56SaBDNgiI4++hOzb2M8jhAsR86jxkXFrrP1U3ZNRKg6av9DPFAPS\n\ +WEiJKtQrZDJloqtyi/mmRa1VsV7RYR0VPJjhK/R8EQ7Ysshy\n\ +=fRMg\n\ +-----END PGP PUBLIC KEY BLOCK-----' > /etc/pki/rpm-gpg/RPM-GPG-KEY-OpenVZ && \ + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-OpenVZ && \ + yum install -y epel-release && \ + yum update -y && \ + yum install -y \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check-devel \ + chrony \ + gcc \ + gdb \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + glibc-common \ + glibc-devel \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + json-glib-devel \ + libarchive-devel \ + libsoup-devel \ + libtool \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + lsof \ + make \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconfig \ + python3 \ + python3-pip \ + python3-setuptools \ + python3-wheel \ + python36-lxml \ + python36-pytest \ + python36-requests \ + rpm-build \ + screen \ + strace \ + sudo \ + vala \ + vim && \ + yum autoremove -y && \ + yum clean all -y && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +RUN pip3 install \ + meson==0.49.0 + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja-build" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-centos-8.Dockerfile b/ci/ci-centos-8.Dockerfile new file mode 100644 index 0000000..0cc9715 --- /dev/null +++ b/ci/ci-centos-8.Dockerfile @@ -0,0 +1,68 @@ +FROM centos:8 + +RUN dnf install 'dnf-command(config-manager)' -y && \ + dnf config-manager --set-enabled PowerTools -y && \ + dnf install -y epel-release && \ + dnf update -y && \ + dnf install -y \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check-devel \ + chrony \ + gcc \ + gdb \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + glibc-devel \ + glibc-langpack-en \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + json-glib-devel \ + libarchive-devel \ + libsoup-devel \ + libtool \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconfig \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + rpm-build \ + screen \ + strace \ + sudo \ + vala \ + vim && \ + dnf autoremove -y && \ + dnf clean all -y && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-debian-10.Dockerfile b/ci/ci-debian-10.Dockerfile new file mode 100644 index 0000000..333d518 --- /dev/null +++ b/ci/ci-debian-10.Dockerfile @@ -0,0 +1,69 @@ +FROM debian:10 + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get dist-upgrade -y && \ + apt-get install --no-install-recommends -y \ + autoconf \ + automake \ + autopoint \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check \ + chrony \ + gcc \ + gdb \ + gettext \ + git \ + gtk-doc-tools \ + hwdata \ + intltool \ + itstool \ + libarchive-dev \ + libc6-dev \ + libgirepository1.0-dev \ + libglib2.0-dev \ + libjson-glib-dev \ + libsoup2.4-dev \ + libtool \ + libtool-bin \ + libxml2-dev \ + libxml2-utils \ + libxslt1-dev \ + locales \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconf \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + screen \ + strace \ + sudo \ + valac \ + vim && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ + dpkg-reconfigure locales && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-debian-9.Dockerfile b/ci/ci-debian-9.Dockerfile new file mode 100644 index 0000000..f2d0c83 --- /dev/null +++ b/ci/ci-debian-9.Dockerfile @@ -0,0 +1,72 @@ +FROM debian:9 + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get dist-upgrade -y && \ + apt-get install --no-install-recommends -y \ + autoconf \ + automake \ + autopoint \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check \ + chrony \ + gcc \ + gdb \ + gettext \ + git \ + gtk-doc-tools \ + hwdata \ + intltool \ + itstool \ + libarchive-dev \ + libc6-dev \ + libgirepository1.0-dev \ + libglib2.0-dev \ + libjson-glib-dev \ + libsoup2.4-dev \ + libtool \ + libtool-bin \ + libxml2-dev \ + libxml2-utils \ + libxslt1-dev \ + locales \ + lsof \ + make \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconf \ + python3 \ + python3-lxml \ + python3-pip \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + screen \ + strace \ + sudo \ + valac \ + vim && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ + dpkg-reconfigure locales && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +RUN pip3 install \ + meson==0.49.0 + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-debian-sid.Dockerfile b/ci/ci-debian-sid.Dockerfile new file mode 100644 index 0000000..6257d66 --- /dev/null +++ b/ci/ci-debian-sid.Dockerfile @@ -0,0 +1,69 @@ +FROM debian:sid + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get dist-upgrade -y && \ + apt-get install --no-install-recommends -y \ + autoconf \ + automake \ + autopoint \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check \ + chrony \ + gcc \ + gdb \ + gettext \ + git \ + gtk-doc-tools \ + hwdata \ + intltool \ + itstool \ + libarchive-dev \ + libc6-dev \ + libgirepository1.0-dev \ + libglib2.0-dev \ + libjson-glib-dev \ + libsoup2.4-dev \ + libtool \ + libtool-bin \ + libxml2-dev \ + libxml2-utils \ + libxslt1-dev \ + locales \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconf \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + screen \ + strace \ + sudo \ + valac \ + vim && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ + dpkg-reconfigure locales && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-fedora-31.Dockerfile b/ci/ci-fedora-31.Dockerfile new file mode 100644 index 0000000..7788651 --- /dev/null +++ b/ci/ci-fedora-31.Dockerfile @@ -0,0 +1,66 @@ +FROM fedora:31 + +RUN dnf update -y && \ + dnf install -y \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check-devel \ + chrony \ + cppi \ + gcc \ + gdb \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + glibc-devel \ + glibc-langpack-en \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + json-glib-devel \ + libarchive-devel \ + libsoup-devel \ + libtool \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconfig \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + rpm-build \ + screen \ + strace \ + sudo \ + vala \ + vim && \ + dnf autoremove -y && \ + dnf clean all -y && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-fedora-32.Dockerfile b/ci/ci-fedora-32.Dockerfile new file mode 100644 index 0000000..41d1721 --- /dev/null +++ b/ci/ci-fedora-32.Dockerfile @@ -0,0 +1,66 @@ +FROM fedora:32 + +RUN dnf update -y && \ + dnf install -y \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check-devel \ + chrony \ + cppi \ + gcc \ + gdb \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + glibc-devel \ + glibc-langpack-en \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + json-glib-devel \ + libarchive-devel \ + libsoup-devel \ + libtool \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconfig \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + rpm-build \ + screen \ + strace \ + sudo \ + vala \ + vim && \ + dnf autoremove -y && \ + dnf clean all -y && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-fedora-rawhide-cross-mingw32.Dockerfile b/ci/ci-fedora-rawhide-cross-mingw32.Dockerfile new file mode 100644 index 0000000..ee3cb2f --- /dev/null +++ b/ci/ci-fedora-rawhide-cross-mingw32.Dockerfile @@ -0,0 +1,80 @@ +FROM fedora:rawhide + +RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ + dnf update -y && \ + dnf install -y \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check-devel \ + chrony \ + cppi \ + gcc \ + gdb \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + glibc-devel \ + glibc-langpack-en \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + json-glib-devel \ + libarchive-devel \ + libsoup-devel \ + libtool \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconfig \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + rpm-build \ + screen \ + strace \ + sudo \ + vala \ + vim && \ + dnf autoremove -y && \ + dnf clean all -y && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-$(basename /usr/bin/gcc) + +RUN dnf install -y \ + mingw32-glib2 \ + mingw32-json-glib \ + mingw32-libarchive \ + mingw32-libsoup \ + mingw32-libxml2 \ + mingw32-libxslt \ + wget && \ + dnf clean all -y + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" + +ENV ABI "i686-w64-mingw32" +ENV CONFIGURE_OPTS "--host=i686-w64-mingw32" diff --git a/ci/ci-fedora-rawhide-cross-mingw64.Dockerfile b/ci/ci-fedora-rawhide-cross-mingw64.Dockerfile new file mode 100644 index 0000000..19ea93f --- /dev/null +++ b/ci/ci-fedora-rawhide-cross-mingw64.Dockerfile @@ -0,0 +1,80 @@ +FROM fedora:rawhide + +RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ + dnf update -y && \ + dnf install -y \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check-devel \ + chrony \ + cppi \ + gcc \ + gdb \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + glibc-devel \ + glibc-langpack-en \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + json-glib-devel \ + libarchive-devel \ + libsoup-devel \ + libtool \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconfig \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + rpm-build \ + screen \ + strace \ + sudo \ + vala \ + vim && \ + dnf autoremove -y && \ + dnf clean all -y && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-$(basename /usr/bin/gcc) + +RUN dnf install -y \ + mingw64-glib2 \ + mingw64-json-glib \ + mingw64-libarchive \ + mingw64-libsoup \ + mingw64-libxml2 \ + mingw64-libxslt \ + wget && \ + dnf clean all -y + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" + +ENV ABI "x86_64-w64-mingw32" +ENV CONFIGURE_OPTS "--host=x86_64-w64-mingw32" diff --git a/ci/ci-fedora-rawhide.Dockerfile b/ci/ci-fedora-rawhide.Dockerfile new file mode 100644 index 0000000..c487d5d --- /dev/null +++ b/ci/ci-fedora-rawhide.Dockerfile @@ -0,0 +1,67 @@ +FROM fedora:rawhide + +RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ + dnf update -y && \ + dnf install -y \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check-devel \ + chrony \ + cppi \ + gcc \ + gdb \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + glibc-devel \ + glibc-langpack-en \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + json-glib-devel \ + libarchive-devel \ + libsoup-devel \ + libtool \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconfig \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + rpm-build \ + screen \ + strace \ + sudo \ + vala \ + vim && \ + dnf autoremove -y && \ + dnf clean all -y && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-opensuse-151.Dockerfile b/ci/ci-opensuse-151.Dockerfile new file mode 100644 index 0000000..05ab919 --- /dev/null +++ b/ci/ci-opensuse-151.Dockerfile @@ -0,0 +1,68 @@ +FROM opensuse/leap:15.1 + +RUN zypper update -y && \ + zypper install -y \ + autoconf \ + automake \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check-devel \ + chrony \ + cppi \ + gcc \ + gdb \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + glibc-devel \ + glibc-locale \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + json-glib-devel \ + libarchive-devel \ + libsoup-devel \ + libtool \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + lsof \ + make \ + net-tools \ + ninja \ + patch \ + perl \ + pkgconfig \ + python3 \ + python3-lxml \ + python3-pip \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + rpm-build \ + screen \ + strace \ + sudo \ + vala \ + vim && \ + zypper clean --all && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +RUN pip3 install \ + meson==0.49.0 + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-ubuntu-1804.Dockerfile b/ci/ci-ubuntu-1804.Dockerfile new file mode 100644 index 0000000..6cd6f74 --- /dev/null +++ b/ci/ci-ubuntu-1804.Dockerfile @@ -0,0 +1,72 @@ +FROM ubuntu:18.04 + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get dist-upgrade -y && \ + apt-get install --no-install-recommends -y \ + autoconf \ + automake \ + autopoint \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check \ + chrony \ + gcc \ + gdb \ + gettext \ + git \ + gtk-doc-tools \ + hwdata \ + intltool \ + itstool \ + libarchive-dev \ + libc6-dev \ + libgirepository1.0-dev \ + libglib2.0-dev \ + libjson-glib-dev \ + libsoup2.4-dev \ + libtool \ + libtool-bin \ + libxml2-dev \ + libxml2-utils \ + libxslt1-dev \ + locales \ + lsof \ + make \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconf \ + python3 \ + python3-lxml \ + python3-pip \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + screen \ + strace \ + sudo \ + valac \ + vim && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ + dpkg-reconfigure locales && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +RUN pip3 install \ + meson==0.49.0 + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/ci-ubuntu-2004.Dockerfile b/ci/ci-ubuntu-2004.Dockerfile new file mode 100644 index 0000000..c77ae51 --- /dev/null +++ b/ci/ci-ubuntu-2004.Dockerfile @@ -0,0 +1,69 @@ +FROM ubuntu:20.04 + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get dist-upgrade -y && \ + apt-get install --no-install-recommends -y \ + autoconf \ + automake \ + autopoint \ + bash \ + bash-completion \ + ca-certificates \ + ccache \ + check \ + chrony \ + gcc \ + gdb \ + gettext \ + git \ + gtk-doc-tools \ + hwdata \ + intltool \ + itstool \ + libarchive-dev \ + libc6-dev \ + libgirepository1.0-dev \ + libglib2.0-dev \ + libjson-glib-dev \ + libsoup2.4-dev \ + libtool \ + libtool-bin \ + libxml2-dev \ + libxml2-utils \ + libxslt1-dev \ + locales \ + lsof \ + make \ + meson \ + net-tools \ + ninja-build \ + patch \ + perl \ + pkgconf \ + python3 \ + python3-lxml \ + python3-pytest \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + screen \ + strace \ + sudo \ + valac \ + vim && \ + apt-get autoremove -y && \ + apt-get autoclean -y && \ + sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ + dpkg-reconfigure locales && \ + mkdir -p /usr/libexec/ccache-wrappers && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc) + +ENV LANG "en_US.UTF-8" + +ENV MAKE "/usr/bin/make" +ENV NINJA "/usr/bin/ninja" +ENV PYTHON "/usr/bin/python3" + +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/refresh b/ci/refresh new file mode 100755 index 0000000..82f4131 --- /dev/null +++ b/ci/refresh @@ -0,0 +1,30 @@ +#!/bin/sh + +if test -z "$1" +then + echo "syntax: $0 PATH-TO-LCITOOL" + exit 1 +fi + +LCITOOL=$1 + +if ! test -x "$LCITOOL" +then + echo "$LCITOOL is not executable" + exit 1 +fi + +HOSTS=$($LCITOOL hosts | grep -v freebsd) + +for host in $HOSTS +do + name="ci-${host#libvirt-}" + + if test "$host" = "libvirt-fedora-rawhide" + then + $LCITOOL dockerfile $host osinfo-db-tools,osinfo-db,libosinfo --cross mingw32 >$name-cross-mingw32.Dockerfile + $LCITOOL dockerfile $host osinfo-db-tools,osinfo-db,libosinfo --cross mingw64 >$name-cross-mingw64.Dockerfile + fi + + $LCITOOL dockerfile $host osinfo-db-tools,osinfo-db,libosinfo >$name.Dockerfile +done |