diff --git a/.packit.sh b/.packit.sh old mode 100644 new mode 100755 diff --git a/.packit.yaml b/.packit.yaml index 942b3b08..69b50018 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -11,6 +11,11 @@ srpm_build_deps: actions: fix-spec-file: - bash .packit.sh + - git clone https://github.com/containers/qm /tmp/qm + - cd /tmp/qm && make rpm + - sudo dnf install -y ./rpmbuild/RPMS/noarch/qm*.rpm + - bash tests/setup-test/test_setup.sh + jobs: - job: copr_build @@ -60,7 +65,6 @@ jobs: disk: - size: ">= 20 GB" - - job: tests trigger: pull_request identifier: e2e-ffi @@ -77,7 +81,6 @@ jobs: hardware: disk: - size: ">= 20 GB" - - size: ">= 20 GB" - job: tests trigger: pull_request diff --git a/Makefile b/Makefile index 7abe711d..785d111a 100644 --- a/Makefile +++ b/Makefile @@ -105,8 +105,8 @@ codespell: ## - Runs codespell to check for spelling errors @codespell -S tmp,.git -L te -w clean: ## - Removes generated files and dirs - rm -f *~ *.tc *.pp *.pp.bz2 - rm -rf tmp *.tar.gz ${RPM_TOPDIR} + @rm -f *~ *.tc *.pp *.pp.bz2 + @rm -rf tmp *.tar.gz ${RPM_TOPDIR} man: qm.8.md ## - Generates the QM man page go-md2man --in qm.8.md --out qm.8 @@ -114,20 +114,20 @@ man: qm.8.md ## - Generates the QM man page .PHONY: dist dist: ## - Creates the QM distribution package tar cvz \ - --exclude='.git' \ - --dereference \ - --exclude='.gitignore' \ - --exclude='demos' \ - --exclude='.github' \ - --transform s/qm/qm-${VERSION}/ \ - -f /tmp/v${VERSION}.tar.gz ../qm - mv /tmp/v${VERSION}.tar.gz ./rpm + --exclude='.git' \ + --dereference \ + --exclude='.gitignore' \ + --exclude='demos' \ + --exclude='.github' \ + --transform s/qm/qm-${VERSION}/ \ + -f $${HOME}/rpmbuild/SOURCES/v${VERSION}.tar.gz ../qm .PHONY: rpm rpm: clean dist ## - Creates a local RPM package, useful for development mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES/qm-${VERSION}.tar.gz + ln -s ${RPM_TOPDIR}/SOURCES/qm-${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES/v${VERSION}.tar.gz rpmbuild -ba \ --define="u_enable_qm_dropin_img_tempdir ${EN_QM_DROP_IMG_TMPDIR}" \ --define="u_enable_qm_window_manager ${EN_QM_WINDOW_MGR}" \ @@ -136,7 +136,7 @@ rpm: clean dist ## - Creates a local RPM package, useful for develop --define="u_enable_qm_mount_bind_sound ${EN_QM_MNT_BIND_SOUND}" \ --define="u_enable_qm_mount_bind_kvm ${EN_QM_MNT_BIND_KVM}" \ --define="u_enable_qm_mount_bind_input ${EN_QM_MNT_BIND_INPUT}" \ - --define="u_enable_qm_mount_bind_video ${EN_QM_MNT_BIND_VIDEO}" \ + --define="u_enable_qm_mount_bind_video ${EN_QM_MNT_BIND_VIDEO}" \ --define="_topdir ${RPM_TOPDIR}" \ --define="version ${VERSION}" \ ${SPECFILE} diff --git a/rpm/.gitignore b/rpm/.gitignore index 8999a8b0..335ec957 100644 --- a/rpm/.gitignore +++ b/rpm/.gitignore @@ -1 +1 @@ -v*.tar.gz +*.tar.gz diff --git a/tests/setup-test/.gitignore b/tests/setup-test/.gitignore new file mode 100644 index 00000000..5bccdecd --- /dev/null +++ b/tests/setup-test/.gitignore @@ -0,0 +1 @@ +qm/ diff --git a/tests/setup-test/test_setup.sh b/tests/setup-test/test_setup.sh new file mode 100755 index 00000000..a6482362 --- /dev/null +++ b/tests/setup-test/test_setup.sh @@ -0,0 +1,37 @@ +#!/bin/bash -ex + +# Define variables for repository URL and directory +REPO_URL="https://github.com/containers/qm.git" +REPO_DIR="qm" + +# Step 1: Clone the repository +rm -rf "$REPO_DIR" +echo "Cloning the repository..." +git clone "$REPO_URL" "$REPO_DIR" +cd "$REPO_DIR" || exit 1 + +# Step 2: Build the RPM package +echo "Building the RPM package..." +make rpm +if [ $? -ne 0 ]; then + echo "RPM build failed." + exit 1 +fi + +# Optional: Install the RPM package to test it fully +echo "Installing the RPM package..." +sudo dnf install -y rpmbuild/RPMS/noarch/qm*.rpm +if [ $? -ne 0 ]; then + echo "RPM installation failed." + exit 1 +fi + +# Step 3: Run the setup script and check its exit status +echo "Running /usr/share/qm/setup..." +if /usr/share/qm/setup; then + echo "Setup script ran successfully." + rm -rf qm && exit 0 +else + echo "Setup script failed." + rm -rf qm && exit 1 +fi