public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Luya Tshimbalanga <luya@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/ImageMagick] f45: Enable Packit release automation and integration tests
Date: Fri, 18 Sep 2026 08:53:06 GMT [thread overview]
Message-ID: <178972158659.1.4335590035223843207.rpms-ImageMagick-32613803f8e2@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/ImageMagick
Branch : f45
Commit : 32613803f8e25504880c79ecf0653eb629a44def
Author : Luya Tshimbalanga <luya@fedoraproject.org>
Date : 2026-09-17T18:39:09-04:00
Stats : +105/-22 in 5 file(s)
URL : https://src.fedoraproject.org/rpms/ImageMagick/c/32613803f8e25504880c79ecf0653eb629a44def?branch=f45
Log:
Enable Packit release automation and integration tests
---
diff --git a/.fmf/version b/.fmf/version
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/.fmf/version
@@ -0,0 +1 @@
+1
diff --git a/packit.yaml b/packit.yaml
index fb5714d..bf10275 100644
--- a/packit.yaml
+++ b/packit.yaml
@@ -2,27 +2,37 @@
# https://packit.dev/docs/configuration/
jobs:
-- job: pull_from_upstream
- trigger: release
- dist_git_branches:
- rawhide:
- fast_forward_merge_into:
- - fedora-all
- epel-10: {}
-
-- job: koji_build
- trigger: commit
- allowed_pr_authors:
- - all_admins
- - packit
- dist_git_branches:
- - fedora-all
- - epel-10
-
-- job: bodhi_update
- trigger: commit
- dist_git_branches:
- - fedora-all
- - epel-10
+ # Update Rawhide first and reuse the exact release commit for active
+ # Fedora branches to keep dist-git history non-divergent.
+ #
+ # EPEL 10 is updated independently because its dependency set and
+ # feature policy can differ from Fedora.
+ - job: pull_from_upstream
+ trigger: release
+ dist_git_branches:
+ rawhide:
+ fast_forward_merge_into:
+ - fedora-all
+ epel-10: {}
+ # Automatically build merged Packit release PRs and PRs opened by
+ # ImageMagick dist-git administrators.
+ #
+ # Direct maintainer pushes intentionally do not trigger Packit builds,
+ # leaving side-tag/rebuild workflows under manual control.
+ - job: koji_build
+ trigger: commit
+ allowed_pr_authors:
+ - packit
+ - all_admins
+ dist_git_branches:
+ - fedora-all
+ - epel-10
+ # Rawhide builds do not require the normal Bodhi update workflow.
+ # Create updates only for versioned Fedora branches and EPEL 10.
+ - job: bodhi_update
+ trigger: commit
+ dist_git_branches:
+ - fedora-branched
+ - epel-10
diff --git a/plans/image-formats.fmf b/plans/image-formats.fmf
new file mode 100644
index 0000000..d484221
--- /dev/null
+++ b/plans/image-formats.fmf
@@ -0,0 +1,8 @@
+summary: Validate the installed ImageMagick RPM and key delegates
+
+discover:
+ how: fmf
+ test: /tests/smoke
+
+execute:
+ how: tmt
diff --git a/tests/smoke/main.fmf b/tests/smoke/main.fmf
new file mode 100644
index 0000000..5b4502d
--- /dev/null
+++ b/tests/smoke/main.fmf
@@ -0,0 +1,13 @@
+summary: Exercise ImageMagick commands, delegates, and common formats
+description: |
+ Verify the installed Fedora RPM rather than the build tree. The test
+ checks essential delegates and performs round-trip conversions through
+ representative raster and modern image formats.
+test: ./test.sh
+framework: shell
+duration: 5m
+tier: 1
+require:
+ - ImageMagick
+ - ImageMagick-djvu
+ - ImageMagick-heic
diff --git a/tests/smoke/test.sh b/tests/smoke/test.sh
new file mode 100755
index 0000000..7cc2e25
--- /dev/null
+++ b/tests/smoke/test.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/bash
+set -euo pipefail
+
+magick_path="$(command -v magick)"
+test -x "$magick_path"
+
+version_output="$(magick -version)"
+printf '%s\n' "$version_output"
+printf '\n=== AVAILABLE FORMATS ===\n'
+magick -list format
+
+delegates="$({ printf '%s\n' "$version_output"; } | sed -n 's/^Delegates (built-in):[[:space:]]*//p')"
+test -n "$delegates"
+
+for delegate in djvu freetype heic jp2 jpeg jxl lcms png raw tiff webp xml; do
+ if ! grep -Eq "(^|[[:space:]])${delegate}([[:space:]]|$)" <<<"$delegates"; then
+ printf 'Missing required delegate: %s\n' "$delegate" >&2
+ exit 1
+ fi
+done
+
+# Ultra HDR is enabled by the Fedora spec on supported Fedora releases, but
+# intentionally remains optional on EPEL until its dependency is available.
+. /etc/os-release
+if [[ "${ID:-}" == fedora ]] && ! grep -Eq '(^|[[:space:]])uhdr([[:space:]]|$)' <<<"$delegates"; then
+ printf 'Missing required Fedora delegate: uhdr\n' >&2
+ exit 1
+fi
+
+workdir="$(mktemp -d)"
+trap 'rm -rf "$workdir"' EXIT
+cd "$workdir"
+
+# Generate deterministic input without network access or external fixtures.
+magick -size 96x64 gradient:'#163a70-#51a2da' source.png
+magick identify source.png
+
+for format in jpg webp tiff jxl jp2 heic; do
+ output="roundtrip.${format}"
+ magick source.png "$output"
+ test -s "$output"
+ magick identify "$output"
+ magick "$output" "decoded-${format}.png"
+ test -s "decoded-${format}.png"
+ magick identify "decoded-${format}.png"
+done
+
+# Confirm the split DjVu module is installed and visible to ImageMagick.
+magick -list format | grep -Eq '^[[:space:]]*DJVU\*?[[:space:]]'
+
+printf '\nImageMagick installed-RPM smoke test passed.\n'
reply other threads:[~2026-09-18 8:53 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178972158659.1.4335590035223843207.rpms-ImageMagick-32613803f8e2@fedoraproject.org \
--to=luya@fedoraproject.org \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox