aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLokesh Mandvekar <lsm5@fedoraproject.org>2022-08-26 11:15:37 -0400
committerLokesh Mandvekar <lsm5@fedoraproject.org>2022-08-26 11:15:37 -0400
commit167b026e7de9892046371fbfcd614b092097b55f (patch)
tree6f680636f00531d3436a455bdb305f8959ab3f1f
parentf98215c668746e9a7b9603448428cd1301a56eac (diff)
downloadpodman-167b026e7de9892046371fbfcd614b092097b55f.tar.gz
podman-167b026e7de9892046371fbfcd614b092097b55f.tar.bz2
podman-167b026e7de9892046371fbfcd614b092097b55f.zip
[CI:BUILD] Packit: Re-introduce packit with fix-spec-file action
Any new files installed by new PRs and those present in unreleased versions of Podman will need additional manipulation of the dist-git spec file in the files section to workaround the `installed but unpackaged files` issue. The fix-spec-file packit action is useful for this. The default fix-spec-file action often has trouble guessing the correct version from upstream code, so it would be beneficial to specify the correct upstream version as well. See: https://packit.dev/docs/actions/#fix-spec-file Rename cirrus task: `Test build RPM` to `Test build podman-next Copr RPM` for clarity. [NO NEW TESTS NEEDED] Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
-rw-r--r--.cirrus.yml2
-rw-r--r--.packit.sh27
-rw-r--r--.packit.yaml20
3 files changed, 48 insertions, 1 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index e3ddc4933..aef6953ea 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -431,7 +431,7 @@ alt_build_task:
- env:
ALT_NAME: 'Build Without CGO'
- env:
- ALT_NAME: 'Test build RPM'
+ ALT_NAME: 'Test build podman-next Copr RPM'
- env:
ALT_NAME: 'Alt Arch. Cross'
# This task cannot make use of the shared repo.tbz artifact.
diff --git a/.packit.sh b/.packit.sh
new file mode 100644
index 000000000..7b404598a
--- /dev/null
+++ b/.packit.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+
+# Packit's default fix-spec-file often doesn't fetch version string correctly.
+# This script handles any custom processing of the dist-git spec file and gets used by the
+# fix-spec-file action in .packit.yaml
+
+set -eo pipefail
+
+# Get Version from HEAD
+HEAD_VERSION=$(grep 'var Version = semver.MustParse' version/version.go | cut -d\" -f2 | sed -e 's/-/~/')
+
+# Generate source tarball
+git archive --prefix=podman-$HEAD_VERSION/ -o podman-$HEAD_VERSION.tar.gz HEAD
+
+# RPM Spec modifications
+
+# Fix Version
+sed -i "s/^Version:.*/Version: $HEAD_VERSION/" podman.spec
+
+# Fix Release
+sed -i "s/^Release: %autorelease/Release: $PACKIT_RPMSPEC_RELEASE%{?dist}/" podman.spec
+
+# Fix Source0
+sed -i "s/^Source0:.*.tar.gz/Source0: %{name}-$HEAD_VERSION.tar.gz/" podman.spec
+
+# Fix autosetup
+sed -i "s/^%autosetup.*/%autosetup -Sgit -n %{name}-$HEAD_VERSION/" podman.spec
diff --git a/.packit.yaml b/.packit.yaml
new file mode 100644
index 000000000..ab284b2d5
--- /dev/null
+++ b/.packit.yaml
@@ -0,0 +1,20 @@
+# See the documentation for more information:
+# https://packit.dev/docs/configuration/
+
+upstream_package_name: podman
+downstream_package_name: podman
+
+actions:
+ post-upstream-clone:
+ - "curl -O https://src.fedoraproject.org/rpms/podman/raw/main/f/podman.spec"
+ fix-spec-file:
+ - bash .packit.sh
+
+jobs:
+ - job: production_build
+ trigger: pull_request
+ targets: &production_dist_targets
+ - fedora-36
+ - fedora-37
+ - fedora-rawhide
+ scratch: true