diff --git a/.gitignore b/.gitignore index 3a9163a..508d2d4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /specfile-0.5.1.tar.gz /specfile-0.6.0.tar.gz /specfile-0.7.0.tar.gz +/specfile-0.20.2.tar.gz diff --git a/.packit.yaml b/.packit.yaml index 023784b..3ae2f09 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -1,99 +1,82 @@ --- -# We want to use both instances for all upstream jobs including the `propose-downstream` one. -# For downstream, we need to pick just one instance (`stg` in our case) -# and redefine it for the `koji_build` and `bodhi_update` jobs. packit_instances: ["prod", "stg"] -specfile_path: fedora/python-specfile.spec - -# add or remove files that should be synced -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 -# downstream (Fedora) RPM package name -downstream_package_name: python-specfile - -copy_upstream_release_description: true - upstream_project_url: https://github.com/packit/specfile issue_repository: https://github.com/packit/specfile -actions: - # we need this b/c `git archive` doesn't put all the metadata in the tarball: - # LookupError: setuptools-scm was unable to detect version for '/builddir/build/BUILD/ogr-0.11.1'. - # Make sure you're either building from a fully intact git repository or PyPI tarballs. - create-archive: - - 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 +copy_upstream_release_description: true -srpm_build_deps: - - python3-pip # "python3 setup.py --version" needs it - - python3-setuptools_scm - -jobs: - - job: propose_downstream - trigger: release - dist_git_branches: - - fedora-all - - epel-9 - - job: propose_downstream - trigger: release - specfile_path: epel8/python-specfile.spec +packages: + specfile: + upstream_package_name: specfile + downstream_package_name: python-specfile + specfile_path: &specfile_path fedora/python-specfile.spec files_to_sync: - - epel8/python-specfile.spec + - *specfile_path - .packit.yaml - src: plans/ dest: plans/ - src: .fmf/ dest: .fmf/ - dist_git_branches: - - epel-8 - - - job: copr_build - trigger: pull_request - identifier: fedora-and-epel - targets: - - fedora-all - - epel-9 - - &copr_build_pr_epel8 - job: copr_build - trigger: pull_request - specfile_path: epel8/python-specfile.spec - identifier: epel8 + srpm_build_deps: + - python3-build + - python3-setuptools_scm actions: + pre-sync: + - python3 plans/git_reference.py + create-archive: + - python3 -m build --sdist --outdir ./fedora/ + - bash -c "ls -1t ./fedora/*.tar.gz | head -n 1" + get-current-version: python3 -m setuptools_scm + + specfile-epel8: + upstream_package_name: specfile + downstream_package_name: python-specfile + specfile_path: &specfile_path_epel8 epel8/python-specfile.spec + files_to_sync: + - *specfile_path_epel8 + - .packit.yaml + - src: plans/ + dest: plans/ + - src: .fmf/ + dest: .fmf/ + srpm_build_deps: + - python3-setuptools_scm + actions: + pre-sync: + - python3 plans/git_reference.py create-archive: - 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 + +jobs: + - job: copr_build + trigger: pull_request + packages: [specfile] + targets: + - fedora-all + - epel-9 + - job: copr_build + trigger: pull_request + packages: [specfile-epel8] targets: - epel-8 - job: copr_build trigger: commit branch: main + packages: [specfile] targets: - fedora-all - epel-9 project: packit-dev list_on_homepage: True preserve_project: True - - <<: *copr_build_pr_epel8 + - job: copr_build trigger: commit branch: main + packages: [specfile-epel8] targets: - epel-8 project: packit-dev @@ -103,15 +86,17 @@ jobs: - job: copr_build trigger: commit branch: stable + packages: [specfile] targets: - fedora-stable - epel-9 project: packit-stable list_on_homepage: True preserve_project: True - - <<: *copr_build_pr_epel8 + - job: copr_build trigger: commit branch: stable + packages: [specfile-epel8] targets: - epel-8 project: packit-stable @@ -120,21 +105,58 @@ jobs: - job: copr_build trigger: release + packages: [specfile] targets: - fedora-all - epel-9 project: packit-releases list_on_homepage: True preserve_project: True - - <<: *copr_build_pr_epel8 + - job: copr_build trigger: release + packages: [specfile-epel8] targets: - epel-8 project: packit-releases list_on_homepage: True preserve_project: True - # downstream automation: + - job: tests + trigger: pull_request + packages: [specfile] + targets: + - fedora-all + - epel-9 + - job: tests + trigger: pull_request + packages: [specfile-epel8] + targets: + - epel-8 + + - job: propose_downstream + trigger: release + packages: [specfile] + dist_git_branches: + - fedora-all + - epel-9 + - job: propose_downstream + trigger: release + packages: [specfile-epel8] + dist_git_branches: + - epel-8 + + - job: pull_from_upstream + trigger: release + packages: [specfile] + dist_git_branches: + - fedora-all + - epel-9 + - job: pull_from_upstream + trigger: release + packages: [specfile-epel8] + dist_git_branches: + - epel-8 + - job: koji_build trigger: commit packit_instances: ["stg"] @@ -143,6 +165,7 @@ jobs: - fedora-all - epel-9 - epel-8 + - job: bodhi_update trigger: commit packit_instances: ["stg"] diff --git a/README.packit b/README.packit index a723bcb..9d6cbbc 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.59.2.dev19+gc1f0788. +The file was generated using packit 0.78.1. diff --git a/plans/git_reference.py b/plans/git_reference.py index 29b8721..6517cfe 100644 --- a/plans/git_reference.py +++ b/plans/git_reference.py @@ -5,10 +5,25 @@ from pathlib import Path import fmf +# Set discover of specfile tests to a fixed commit tree_root = Path.cwd().absolute() -node = fmf.Tree(tree_root).find("/plans") -with node as data: +tree = fmf.Tree(tree_root) +main_node = tree.find("/plans") +with main_node as data: data["discover"]["url"] = "https://github.com/packit/specfile.git" data["discover"]["ref"] = ( subprocess.check_output(["git", "rev-parse", "HEAD"]).decode().strip() ) + + +# Set discover of packit integration tests to the current main +packit_node = tree.find("/plans/packit-integration") +with packit_node as data: + data["discover"]["ref"] = ( + subprocess.check_output( + ["git", "ls-remote", "https://github.com/packit/packit", "main"] + ) + .decode() + .strip() + .split()[0] + ) diff --git a/plans/main.fmf b/plans/main.fmf index d2feac5..7686ac7 100644 --- a/plans/main.fmf +++ b/plans/main.fmf @@ -1,6 +1,6 @@ discover: how: fmf url: https://github.com/packit/specfile.git - ref: e121363bba69e8fcc49eac8df4d6ef60ef1acf69 + ref: 4486a88c56fdfdea0c8b1e16f32a76056e9faba3 execute: how: tmt diff --git a/plans/packit-integration.fmf b/plans/packit-integration.fmf new file mode 100644 index 0000000..48ba7dd --- /dev/null +++ b/plans/packit-integration.fmf @@ -0,0 +1,27 @@ +discover: + how: fmf + url: https://github.com/packit/packit + filter: tier:0 | tier:1 + ref: 4b998555d18e3e7abfb7a521b3b65a34de02dc76 +prepare: + - how: install + copr: packit/packit-dev + - how: shell + script: dnf -y config-manager --save --setopt="*:packit:packit-dev.priority=5" +adjust: + - when: how == integration + because: provide latest python-specfile rpm when running locally + prepare+: + - name: python3-specfile rpm + how: install + directory: noarch/ + - when: distro == rhel-9 or distro == centos-9 or distro == centos-stream-9 + because: 'flexmock and deepdiff are 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 deepdiff + - when: distro == rhel-8 or distro == centos-8 or distro == centos-stream-8 + because: packit doesn't support EL 8 + enabled: false diff --git a/python-specfile.spec b/python-specfile.spec index f7187eb..8380848 100644 --- a/python-specfile.spec +++ b/python-specfile.spec @@ -5,7 +5,7 @@ in a minimal diff.} Name: python-specfile -Version: 0.7.0 +Version: 0.20.2 Release: 1%{?dist} Summary: A library for parsing and manipulating RPM spec files @@ -18,8 +18,9 @@ BuildArch: noarch BuildRequires: python%{python3_pkgversion}-devel BuildRequires: %{py3_dist setuptools setuptools-scm setuptools-scm-git-archive} -BuildRequires: %{py3_dist importlib-metadata rpm typing-extensions} +BuildRequires: %{py3_dist importlib-metadata dataclasses rpm typing-extensions} BuildRequires: %{py3_dist flexmock pytest} +BuildRequires: git-core %description @@ -62,8 +63,11 @@ rm -rf specfile.egg-info %changelog +* Mon Jul 31 2023 Packit - 0.20.2-1 +- Fixed Packit config to work properly with `propose-downstream` and `pull-from-upstream` jobs. (#261) + * 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) +- 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 diff --git a/sources b/sources index 3f9e35d..636f4d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (specfile-0.7.0.tar.gz) = f07a99ea5f999cfd6b6f88c454381de1c0934a10c88c3359c53a85ea84ede235f1c1ce82ba0c8283354e59905bafbe96032a5fdf16aafceed081f94747a469d6 +SHA512 (specfile-0.20.2.tar.gz) = 754a9108589822a17dce79f022c3c2edd5ae86fc3894b874afe6761f18275f7b567af8f953adc474cfe24e67672cae61df26429a5d8a087d6aff8b396f891183