This is achieved using "jobs" from packit-as-a-service, more specifically the propose_downstream job. Furthermore sync_from_downstream job is configured to keep the spec file synchronized and prevent merge conflicts for new releases. Also a small change in Makefile was necessary as it does not reflect the current state of the spec file in Fedora dist-git (tarball name is different). The spec file itself is not modified in this commit, because it will be synchronized automatically using Packit.
34 lines
1.2 KiB
YAML
34 lines
1.2 KiB
YAML
# we have the specfile in the root of our repository
|
|
specfile_path: osbuild.spec
|
|
# when doing an update in Fedora, we want to copy the spec file and the config file
|
|
synced_files:
|
|
- osbuild.spec
|
|
- .packit.yaml
|
|
upstream_project_name: osbuild
|
|
downstream_package_name: osbuild
|
|
create_tarball_command: ["make", "tarball"]
|
|
current_version_command: ["python3", "setup.py", "--version"]
|
|
jobs:
|
|
# trigger a COPR build for push events in open PRs
|
|
- job: copr_build
|
|
trigger: pull_request
|
|
metadata:
|
|
targets:
|
|
- fedora-30-x86_64
|
|
- fedora-rawhide-x86_64
|
|
# this is triggered by a commit on src.fedoraproject.org, not Github!
|
|
# e.g. in case of mass rebuild or automated changes of spec file (e.g. Python packagers)
|
|
# it will create a PR on Github with changes in synchronized files
|
|
- job: sync_from_downstream
|
|
trigger: commit
|
|
# create a PR on src.fedoraproject.org containing updated spec file and new sources (tarball)
|
|
# triggered by Github release
|
|
- job: propose_downstream
|
|
trigger: release
|
|
metadata:
|
|
dist-git-branch: master
|
|
# The same as above only for f30
|
|
- job: propose_downstream
|
|
trigger: release
|
|
metadata:
|
|
dist-git-branch: f30
|