Files
Freya Gustavsson fd980a6b48 packit: Use empty string for fix-spec-file
We had another failure with Packit release infra where Packit workflow
failed due to type incorrectly being `None` where it needs to be either
string or list.

Checking with Packit team again and they apologized and proposed we just
use empty string. This took place in ther Matrix.

Signed-off-by: Freya Gustavsson <freya@venefilyn.se>
2026-04-23 10:04:38 +02:00

129 lines
3.8 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 .
# 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"
'
fix-spec-file: ""
- 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