From bd6e6bde56d048e1ea994b7239644529a0262e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Budai?= Date: Fri, 21 Feb 2020 08:54:10 +0100 Subject: [PATCH] ci: run the rpm build tests in Fedora containers Building rpm directly on Ubuntu is somewhat possible but it's fragile and it cannot cover all quirks of rpm build. This commit switches the rpm build tests to using fedora containers. This isn't also the best solution but imho it's much better than the previous one. --- .travis.yml | 19 ++++++++++++------- Makefile | 18 +----------------- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index 84e1ee94..f5e0ab0f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,13 +13,18 @@ jobs: script: - python3 -m unittest test.test_osbuild - python3 -m unittest test.test_objectstore - - name: rpm - before_install: - - sudo apt-get install -y rpm python3-setuptools - - sudo wget --directory-prefix=/usr/lib/rpm/macros.d https://src.fedoraproject.org/rpms/python-rpm-macros/raw/master/f/macros.python-srpm - - sudo wget --directory-prefix=/usr/lib/rpm/macros.d https://src.fedoraproject.org/rpms/python-rpm-macros/raw/master/f/macros.python - - sudo wget --directory-prefix=/usr/lib/rpm/macros.d https://src.fedoraproject.org/rpms/python-rpm-macros/raw/master/f/macros.python3 - script: make rpm-nodeps + - name: rpm-f31 + services: + - docker + script: docker run --rm -v $(pwd):/src fedora:31 sh -c "cd /src && dnf install -y 'dnf-command(builddep)' make git rpm-build && dnf builddep -y osbuild.spec && make rpm" + - name: rpm-f32 + services: + - docker + script: docker run --rm -v $(pwd):/src fedora:32 sh -c "cd /src && dnf install -y 'dnf-command(builddep)' make git rpm-build && dnf builddep -y osbuild.spec && make rpm" + - name: rpm-f33 + services: + - docker + script: docker run --rm -v $(pwd):/src fedora:33 sh -c "cd /src && dnf install -y 'dnf-command(builddep)' make git rpm-build && dnf builddep -y osbuild.spec && make rpm" - name: pipeline-noop before_install: sudo apt-get install -y systemd-container script: diff --git a/Makefile b/Makefile index d9ebd44c..35eeddb6 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ srpm: $(PACKAGE_NAME).spec check-working-directory tarball --define "_srcrpmdir $(CURDIR)" \ $(PACKAGE_NAME).spec -rpm: $(PACKAGE_NAME).spec check-working-directory tarball +rpm: $(PACKAGE_NAME).spec check-working-directory tarball - rm -r "`pwd`/output" mkdir -p "`pwd`/output" mkdir -p "`pwd`/rpmbuild" @@ -31,22 +31,6 @@ rpm: $(PACKAGE_NAME).spec check-working-directory tarball rm -r "`pwd`/rpmbuild" rm -r "`pwd`/build" -rpm-nodeps: $(PACKAGE_NAME).spec tarball - - rm -r "`pwd`/output" - mkdir -p "`pwd`/output" - mkdir -p "`pwd`/rpmbuild" - /usr/bin/rpmbuild -bb \ - --nodeps \ - --define "_sourcedir `pwd`" \ - --define "_specdir `pwd`" \ - --define "_builddir `pwd`/rpmbuild" \ - --define "_srcrpmdir `pwd`" \ - --define "_rpmdir `pwd`/output" \ - --define "_buildrootdir `pwd`/build" \ - $(PACKAGE_NAME).spec - rm -r "`pwd`/rpmbuild" - rm -r "`pwd`/build" - copy-rpms-to-test: rpm - rm test/testing-rpms/*.rpm find `pwd`/output -name '*.rpm' -printf '%f\n' -exec cp {} test/testing-rpms/ \;