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 84b1258..023784b 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -10,6 +10,10 @@ specfile_path: fedora/python-specfile.spec files_to_sync: - fedora/python-specfile.spec - .packit.yaml + - src: plans/ + dest: plans/ + - src: .fmf/ + dest: .fmf/ # name in upstream package repository or registry (e.g. in PyPI) upstream_package_name: specfile @@ -29,6 +33,9 @@ actions: - python3 setup.py sdist --dist-dir ./fedora/ - bash -c "ls -1t ./fedora/*.tar.gz | head -n 1" get-current-version: python3 setup.py --version + pre-sync: + # FMF has to be installed on system where you are calling this tool. + - python3 plans/git_reference.py srpm_build_deps: - python3-pip # "python3 setup.py --version" needs it @@ -39,30 +46,39 @@ jobs: trigger: release dist_git_branches: - fedora-all + - epel-9 - job: propose_downstream trigger: release - specfile_path: epel/python-specfile.spec + specfile_path: epel8/python-specfile.spec files_to_sync: - - epel/python-specfile.spec + - epel8/python-specfile.spec - .packit.yaml + - src: plans/ + dest: plans/ + - src: .fmf/ + dest: .fmf/ dist_git_branches: - epel-8 - job: copr_build trigger: pull_request - identifier: fedora + identifier: fedora-and-epel targets: - fedora-all - - &copr_build_pr_epel + - epel-9 + - &copr_build_pr_epel8 job: copr_build trigger: pull_request - specfile_path: epel/python-specfile.spec - identifier: epel + specfile_path: epel8/python-specfile.spec + identifier: epel8 actions: create-archive: - - python3 setup.py sdist --dist-dir ./epel/ - - bash -c "ls -1t ./epel/*.tar.gz | head -n 1" + - python3 setup.py sdist --dist-dir ./epel8/ + - bash -c "ls -1t ./epel8/*.tar.gz | head -n 1" get-current-version: python3 setup.py --version + pre-sync: + # FMF has to be installed on system where you are calling this tool. + - python3 plans/git_reference.py targets: - epel-8 @@ -71,10 +87,11 @@ jobs: branch: main targets: - fedora-all + - epel-9 project: packit-dev list_on_homepage: True preserve_project: True - - <<: *copr_build_pr_epel + - <<: *copr_build_pr_epel8 trigger: commit branch: main targets: @@ -88,10 +105,11 @@ jobs: branch: stable targets: - fedora-stable + - epel-9 project: packit-stable list_on_homepage: True preserve_project: True - - <<: *copr_build_pr_epel + - <<: *copr_build_pr_epel8 trigger: commit branch: stable targets: @@ -104,10 +122,11 @@ jobs: trigger: release targets: - fedora-all + - epel-9 project: packit-releases list_on_homepage: True preserve_project: True - - <<: *copr_build_pr_epel + - <<: *copr_build_pr_epel8 trigger: release targets: - epel-8 @@ -119,12 +138,15 @@ jobs: - job: koji_build trigger: commit packit_instances: ["stg"] + allowed_pr_authors: ["packit-stg", "packit"] dist_git_branches: - fedora-all + - epel-9 - epel-8 - job: bodhi_update trigger: commit packit_instances: ["stg"] dist_git_branches: - - fedora-stable # rawhide and branched updates are created automatically + - fedora-branched # rawhide updates are created automatically + - epel-9 - epel-8 diff --git a/README.packit b/README.packit index a131695..a723bcb 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.58.1.dev6+gfae3705. +The file was generated using packit 0.59.2.dev19+gc1f0788. diff --git a/plans/full.fmf b/plans/full.fmf new file mode 100644 index 0000000..0b0a12f --- /dev/null +++ b/plans/full.fmf @@ -0,0 +1,12 @@ +summary: + Unit & integration tests +discover+: + filter: tier:1 +adjust: + - when: "distro == rhel-9 or distro == centos-9 or distro == centos-stream-9" + because: "flexmock is not in EPEL 9: https://bugzilla.redhat.com/show_bug.cgi?id=2120251" + prepare: + - how: install + package: python3-pip + - how: shell + script: pip3 install flexmock diff --git a/plans/git_reference.py b/plans/git_reference.py new file mode 100644 index 0000000..29b8721 --- /dev/null +++ b/plans/git_reference.py @@ -0,0 +1,14 @@ +#!/usr/bin/python + +import subprocess +from pathlib import Path + +import fmf + +tree_root = Path.cwd().absolute() +node = fmf.Tree(tree_root).find("/plans") +with node as data: + data["discover"]["url"] = "https://github.com/packit/specfile.git" + data["discover"]["ref"] = ( + subprocess.check_output(["git", "rev-parse", "HEAD"]).decode().strip() + ) diff --git a/plans/main.fmf b/plans/main.fmf new file mode 100644 index 0000000..d2feac5 --- /dev/null +++ b/plans/main.fmf @@ -0,0 +1,6 @@ +discover: + how: fmf + url: https://github.com/packit/specfile.git + ref: e121363bba69e8fcc49eac8df4d6ef60ef1acf69 +execute: + how: tmt diff --git a/plans/smoke.fmf b/plans/smoke.fmf new file mode 100644 index 0000000..578e8ba --- /dev/null +++ b/plans/smoke.fmf @@ -0,0 +1,4 @@ +summary: + Basic smoke test +discover+: + filter: tier:0 diff --git a/python-specfile.spec b/python-specfile.spec index 1536af6..067232a 100644 --- a/python-specfile.spec +++ b/python-specfile.spec @@ -1,3 +1,11 @@ +%if 0%{?rhel} == 9 +# RHEL 9 is missing python-flexmock +%bcond_with tests +%else +%bcond_without tests +%endif + + %global desc %{expand: Python library for parsing and manipulating RPM spec files. Main focus is on modifying existing spec files, any change should result @@ -5,7 +13,7 @@ in a minimal diff.} Name: python-specfile -Version: 0.6.0 +Version: 0.7.0 Release: 1%{?dist} Summary: A library for parsing and manipulating RPM spec files @@ -38,7 +46,7 @@ sed -i 's/rpm-py-installer/rpm/' setup.cfg %generate_buildrequires -%pyproject_buildrequires -x testing +%pyproject_buildrequires %{?with_tests: -x testing} %build @@ -50,8 +58,10 @@ sed -i 's/rpm-py-installer/rpm/' setup.cfg %pyproject_save_files specfile +%if 0%{?with_tests} %check %pytest +%endif %files -n python%{python3_pkgversion}-specfile -f %{pyproject_files} @@ -59,8 +69,12 @@ sed -i 's/rpm-py-installer/rpm/' setup.cfg %changelog +* Fri Oct 07 2022 Packit - 0.7.0-1 +- It is now possible to filter changelog entries by specifying lower bound EVR, upper bound EVR or both. (#104) +- Added support for filenames specified in source URL fragments, for example: `https://example.com/foo/1.0/download.cgi#/%{name}-%{version}.tar.gz` (#100) + * Thu Aug 25 2022 Packit - 0.6.0-1 -- Switched to our own implementation of working with `%changelog` timestamps and removed dependency on arrow (#88) +- Switched to our own implementation of working with `%changelog` timestamps and removed dependency on arrow (#88) - Fixed requires of EPEL 8 rpm (#86) * Wed Aug 10 2022 Packit - 0.5.1-1 diff --git a/sources b/sources index 4bbf891..3f9e35d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (specfile-0.6.0.tar.gz) = 8115bce63d8a2ab695f6a3db213f3e3d448581ed92c95f7f37dc671caf4760c03aa7b81e0031b8db8fc9b21984b4e2712c85d63951908bb112b4f6ec121d48bc +SHA512 (specfile-0.7.0.tar.gz) = f07a99ea5f999cfd6b6f88c454381de1c0934a10c88c3359c53a85ea84ede235f1c1ce82ba0c8283354e59905bafbe96032a5fdf16aafceed081f94747a469d6