cockpit/packit.yaml
Jelle van der Waa d4895c94f4 Update to upstream release 359
Related: RHEL-157464
2026-03-30 12:24:55 +02:00

142 lines
4.5 KiB
YAML

upstream_project_url: https://github.com/cockpit-project/cockpit
specfile_path: cockpit.spec
actions:
# create-archive does not work with multiple sources, so do the spec mangling ourselves
post-upstream-clone:
# we already build a spec file with correct Version, so extract it
- |
bash -exc '
mapfile -t TARBALLS < <(tools/make-dist)
# Extract spec file from main tarball (first in array)
tar -xJf "${TARBALLS[0]}" --wildcards "*/tools/cockpit.spec" --strip-components=2
# Move all tarballs to current directory for packit
mv "${TARBALLS[@]}" .
'
fix-spec-file:
# packit needs local file names, not URLs
- sed -i 's|^\(Source[0-9]*:\s*\).*\/|\1|' cockpit.spec
srpm_build_deps:
- automake
- asciidoctor
- gcc
- gettext
- glib2-devel
- jq
- make
- nodejs
- systemd-devel
# use the nicely formatted release NEWS from our upstream release, instead of git shortlog
copy_upstream_release_description: true
jobs:
- job: tests
identifier: self
trigger: pull_request
targets: &test_targets
fedora-43: {}
fedora-44: {}
fedora-latest-aarch64: {}
fedora-rawhide: {}
centos-stream-9-x86_64:
distros: ["centos-stream-9", "CentOS-Stream-9-image-mode"]
centos-stream-9-aarch64: {}
centos-stream-10-x86_64:
distros: ["centos-stream-10", "CentOS-Stream-10-image-mode"]
# current Fedora runs reverse dependency testing against https://copr.fedorainfracloud.org/coprs/g/cockpit/main-builds/
- job: tests
identifier: revdeps
trigger: pull_request
targets:
- fedora-latest-stable
tf_extra_params:
environments:
- artifacts:
- type: repository-file
id: https://copr.fedorainfracloud.org/coprs/g/cockpit/main-builds/repo/fedora-$releasever/group_cockpit-main-builds-fedora-$releasever.repo
tmt:
context:
revdeps: "yes"
# run build/unit tests on test targets
- job: copr_build
trigger: pull_request
targets: *test_targets
# run extra build/unit tests on some interesting architectures
# https://github.com/fedora-copr/copr/issues/4219
# - job: copr_build
# trigger: pull_request
# targets:
# # big-endian
# - fedora-latest-stable-s390x
# for cross-project testing
- job: copr_build
trigger: commit
branch: "^main$"
owner: "@cockpit"
project: "main-builds"
preserve_project: True
- job: copr_build
trigger: release
owner: "@cockpit"
project: "cockpit-preview"
preserve_project: True
# Don't rebuild the tarball for official releases (https://github.com/packit/packit-service/issues/1505)
actions: &official_release_actions
# the PACKIT_* variables are not yet set here; this just needs to create the declared specfile_path
post-upstream-clone:
- cp tools/cockpit.spec .
# Download the real GitHub release tarball instead of creating git archive
create-archive:
- |
bash -exc '
# Download Source0 from GitHub releases
curl -L -o "cockpit-${PACKIT_PROJECT_VERSION}.tar.xz" \
"https://github.com/cockpit-project/cockpit/releases/download/${PACKIT_PROJECT_VERSION}/cockpit-${PACKIT_PROJECT_VERSION}.tar.xz"
# Output the filename for Packit (required by create-archive)
echo "cockpit-${PACKIT_PROJECT_VERSION}.tar.xz"
'
# resolve NPM_PROVIDES, but otherwise keep packit's %changelog
post-modifications:
- |
bash -exc '
# for debugging of official runs, CLI is different from packit service
env | grep PACKIT
tar -xJf "${PACKIT_DOWNSTREAM_REPO:-${PACKIT_UPSTREAM_REPO}}/cockpit-${PACKIT_PROJECT_VERSION}.tar.xz" "cockpit-*/runtime-npm-modules.txt" --strip-components=1
tools/fix-spec "${PACKIT_DOWNSTREAM_REPO:-${PACKIT_UPSTREAM_REPO}}/cockpit.spec" "${PACKIT_PROJECT_VERSION}"
'
fix-spec-file:
# packit needs local file names, not URLs
- sed -i 's|^\(Source[0-9]*:\s*\).*\/|\1|' cockpit.spec
- job: propose_downstream
trigger: release
actions: *official_release_actions
dist_git_branches:
- fedora-development
- fedora-43
- fedora-44
- job: koji_build
trigger: commit
dist_git_branches:
- fedora-development
- fedora-43
- fedora-44
- job: bodhi_update
trigger: commit
dist_git_branches:
# rawhide updates are created automatically
- fedora-43
- fedora-44