Compare commits
8 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d5e407b09 | ||
|
|
449c102d24 | ||
|
|
6359079f7d | ||
|
|
81d7a320ce | ||
|
|
bda92e5513 | ||
|
|
b3d968f9ab | ||
|
|
a77ce5f908 | ||
|
|
9fe4e04e95 |
13 changed files with 394 additions and 0 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/packitos-1.15.0.tar.gz
|
||||
/packitos-1.15.1.tar.gz
|
||||
/packitos-1.15.2.tar.gz
|
||||
/packitos-1.15.3.tar.gz
|
||||
/packitos-1.16.0.tar.gz
|
||||
/packitos-1.16.1.tar.gz
|
||||
/packitos-1.16.2.tar.gz
|
||||
/packitos-1.16.3.tar.gz
|
||||
146
.packit.yaml
Normal file
146
.packit.yaml
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
---
|
||||
# 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"]
|
||||
|
||||
packages:
|
||||
packit:
|
||||
downstream_package_name: packit
|
||||
# packit was already taken on PyPI
|
||||
upstream_package_name: packitos
|
||||
upstream_project_url: https://github.com/packit/packit
|
||||
paths:
|
||||
- ./
|
||||
specfile_path: packit.spec
|
||||
files_to_sync:
|
||||
- packit.spec
|
||||
- .packit.yaml
|
||||
- src: plans/
|
||||
dest: plans/
|
||||
- src: .fmf/
|
||||
dest: .fmf/
|
||||
|
||||
version_update_mask: '\d+\.'
|
||||
|
||||
copy_upstream_release_description: true
|
||||
issue_repository: https://github.com/packit/packit
|
||||
|
||||
actions:
|
||||
create-archive:
|
||||
- "sh -c 'hatch build -t sdist 2>&1 | tee hatch_build.log'"
|
||||
- "tail -n1 hatch_build.log"
|
||||
get-current-version:
|
||||
- "hatch version"
|
||||
pre-sync:
|
||||
# FMF has to be installed on system where you are calling this tool.
|
||||
- python3 plans/git_reference.py
|
||||
|
||||
allowed_gpg_keys:
|
||||
- 5DE3E0509C47EA3CF04A42D34AEE18F83AFDEB23
|
||||
|
||||
srpm_build_deps:
|
||||
- python3-build
|
||||
- hatch
|
||||
- python3-hatch-vcs
|
||||
|
||||
jobs:
|
||||
- job: propose_downstream
|
||||
trigger: release
|
||||
# Use the stage instance once it works in downstream.
|
||||
dist_git_branches:
|
||||
rawhide:
|
||||
fast_forward_merge_into: [fedora-branched]
|
||||
epel-10:
|
||||
fast_forward_merge_into: [epel-10-branched]
|
||||
- job: copr_build
|
||||
trigger: pull_request
|
||||
targets:
|
||||
- fedora-all
|
||||
- fedora-all-aarch64
|
||||
- epel-10-all
|
||||
packages:
|
||||
- packit
|
||||
|
||||
- job: tests
|
||||
trigger: pull_request
|
||||
targets:
|
||||
- fedora-all
|
||||
- epel-10-all
|
||||
packages:
|
||||
- packit
|
||||
|
||||
- job: copr_build
|
||||
trigger: commit
|
||||
branch: main
|
||||
targets:
|
||||
- fedora-all
|
||||
- fedora-all-aarch64
|
||||
- epel-10-all
|
||||
project: packit-dev
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
|
||||
- job: copr_build
|
||||
trigger: commit
|
||||
branch: stable
|
||||
targets:
|
||||
- fedora-stable
|
||||
- fedora-stable-aarch64
|
||||
project: packit-stable
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
|
||||
- job: copr_build
|
||||
trigger: release
|
||||
targets:
|
||||
- fedora-stable
|
||||
- fedora-stable-aarch64
|
||||
- epel-10-all
|
||||
project: packit-releases
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
|
||||
# downstream automation:
|
||||
- job: pull_from_upstream
|
||||
trigger: release
|
||||
dist_git_branches:
|
||||
rawhide:
|
||||
fast_forward_merge_into: [fedora-branched]
|
||||
epel-10:
|
||||
fast_forward_merge_into: [epel-10-branched]
|
||||
|
||||
- job: koji_build
|
||||
trigger: commit | koji_build
|
||||
packit_instances: ["stg"]
|
||||
allowed_pr_authors: ["packit-stg", "packit"]
|
||||
sidetag_group: packit-specfile-ogr-releases
|
||||
dependencies:
|
||||
- python-ogr
|
||||
- python-specfile
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- epel-10-all
|
||||
|
||||
- job: bodhi_update
|
||||
trigger: koji_build
|
||||
packit_instances: ["stg"]
|
||||
allowed_builders: ["packit-stg", "packit"]
|
||||
sidetag_group: packit-specfile-ogr-releases
|
||||
dependencies:
|
||||
- python-ogr
|
||||
- python-specfile
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- epel-10-all
|
||||
# - job: vm_image_build
|
||||
# trigger: pull_request
|
||||
# packit_instances: ["stg"]
|
||||
# image_distribution: rhel-8
|
||||
# image_type: aws
|
||||
# image_architecture: x86_64
|
||||
# image_account_id: "727920394381"
|
||||
# packages_to_install: [packit]
|
||||
# owner: packit
|
||||
# project: packit-dev
|
||||
# targets: [epel-8]
|
||||
3
README.packit
Normal file
3
README.packit
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
This repository is maintained by packit.
|
||||
https://packit.dev/
|
||||
The file was generated using packit 1.16.2.post1.dev18+g099fa292c.
|
||||
111
packit.spec
Normal file
111
packit.spec
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
# Testing dependencies: deepdiff, flexmock are missing on EPEL 9. Cannot use testing environment
|
||||
%if 0%{?el9}
|
||||
%bcond_with tests
|
||||
%else
|
||||
%bcond_without tests
|
||||
%endif
|
||||
|
||||
Name: packit
|
||||
Version: 1.16.3
|
||||
Release: 1%{?dist}
|
||||
Summary: A tool for integrating upstream projects with Fedora operating system
|
||||
|
||||
License: MIT
|
||||
URL: https://github.com/packit/packit
|
||||
Source0: %{pypi_source packitos}
|
||||
BuildArch: noarch
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3dist(click-man)
|
||||
Requires: python3-packit = %{version}-%{release}
|
||||
|
||||
%description
|
||||
This project provides tooling and automation to integrate upstream open source
|
||||
projects into Fedora operating system.
|
||||
|
||||
%package -n python3-packit
|
||||
Summary: %{summary}
|
||||
# new-sources
|
||||
Requires: fedpkg
|
||||
Requires: git-core
|
||||
# kinit
|
||||
Requires: krb5-workstation
|
||||
# rpmbuild
|
||||
Requires: rpm-build
|
||||
# bumpspec
|
||||
Requires: rpmdevtools
|
||||
# Copying files between repositories
|
||||
Requires: rsync
|
||||
|
||||
Recommends: osh-cli
|
||||
|
||||
%description -n python3-packit
|
||||
Python library for Packit,
|
||||
check out packit package for the executable.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n packitos-%{version}
|
||||
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires %{?with_tests:-x testing}
|
||||
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%pyproject_save_files packit
|
||||
PYTHONPATH="%{buildroot}%{python3_sitelib}" click-man packit --target %{buildroot}%{_mandir}/man1
|
||||
|
||||
install -d -m 755 %{buildroot}%{bash_completions_dir}
|
||||
cp files/bash-completion/packit %{buildroot}%{bash_completions_dir}/packit
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_bindir}/packit
|
||||
%{_mandir}/man1/packit*.1*
|
||||
%{bash_completions_dir}/packit
|
||||
|
||||
%files -n python3-packit -f %{pyproject_files}
|
||||
# Epel9 does not tag the license file in pyproject_files as a license. Manually install it in this case
|
||||
%if 0%{?el9}
|
||||
%license LICENSE
|
||||
%endif
|
||||
%doc README.md
|
||||
|
||||
%changelog
|
||||
* Fri Sep 4 2026 Packit <hello@packit.dev> - 1.16.3-1
|
||||
- Packit now retries when it encounters connection errors during authentication when attempting to create a Bodhi update. (#2749)
|
||||
- Fixed an issue where a relative `--dist-git-path` (e.g. `.`) could cause packit to incorrectly identify a dist-git directory as an upstream repository. (#2736)
|
||||
- Resolves: rhbz#2528471
|
||||
|
||||
* Mon Jul 20 2026 Packit <hello@packit.dev> - 1.16.2-1
|
||||
- Add HTTP timeouts and make `get_monitoring_metadata()` unauthenticated which should improve the UX of `packit validate`. (#2730)
|
||||
- Resolves: rhbz#2502899
|
||||
|
||||
* Sun Jun 14 2026 Packit <hello@packit.dev> - 1.16.1-1
|
||||
- Fixed a couple of Copr-related issues. (#2721, #2727)
|
||||
- Resolves: rhbz#2488767
|
||||
|
||||
* Fri Apr 24 2026 Packit <hello@packit.dev> - 1.16.0-1
|
||||
- Packit CLI has a new option `--[no-]update-release` that, by default, follows the value of the option set in the config, and also allows you to override manually, if necessary. (#2713)
|
||||
- In addition to `version_update_mask`, users can now use a new `version_update_specifiers` configuration option to control the upstream versions allowed to be release-synced. The option accepts [PEP440 version specifier sets](https://packaging.pypa.io/en/stable/specifiers.html), for example `version_update_specifiers: >=1.0,~=1.0`. (#2710)
|
||||
- Resolves: rhbz#2461103
|
||||
|
||||
* Wed Apr 1 2026 Packit <hello@packit.dev> - 1.15.3-1
|
||||
- We've fixed the formatting of the strings Packit appends to the changelog. Now there will be at most one blank line before or after the Packit comment. (#2707)
|
||||
- Resolves: rhbz#2453842
|
||||
|
||||
* Tue Mar 24 2026 Packit <hello@packit.dev> - 1.15.2-1
|
||||
- Packit now uses the specfile library's sanitization when parsing spec files.
|
||||
- Resolves: rhbz#2450841
|
||||
|
||||
* Fri Mar 6 2026 Packit <hello@packit.dev> - 1.15.1-1
|
||||
- We have fixed a bug that prevented running `sync_release()` on a `PackitAPI` instance initialized with `non_git_upstream=True` repeatedly due to an improper clean-up. (#2691)
|
||||
|
||||
* Mon Feb 23 2026 Packit Team <hello@packit.dev> - 1.15.0-1
|
||||
- First release in EPEL 10
|
||||
15
plans/README.md
Normal file
15
plans/README.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
Run tests locally:
|
||||
|
||||
$ tmt -v run -a provision -h local
|
||||
|
||||
Run tests in a container using podman:
|
||||
|
||||
$ sudo dnf install tmt-provision-container
|
||||
$ tmt -v run -a provision -h container
|
||||
|
||||
For more info see:
|
||||
|
||||
- https://packit.dev/docs/testing-farm/
|
||||
- [tmt @ DevConf 2021 slides](https://static.sched.com/hosted_files/devconfcz2021/37/tmt-slides.pdf)
|
||||
- [fmf docs](https://fmf.readthedocs.io)
|
||||
- [tmt docs](https://tmt.readthedocs.io)
|
||||
38
plans/full.fmf
Normal file
38
plans/full.fmf
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
summary: Unit, integration & functional tests.
|
||||
|
||||
discover+:
|
||||
filter: tag:full
|
||||
|
||||
# marshmallow-jsonschema has no Fedora/EPEL package, install it from PyPI
|
||||
prepare:
|
||||
- how: install
|
||||
package: python3-pip
|
||||
- how: shell
|
||||
script: pip3 install marshmallow-jsonschema
|
||||
|
||||
adjust:
|
||||
- when: "initiator == packit"
|
||||
because: "have the latest builds of ogr and specfile available for upstream test jobs"
|
||||
prepare+:
|
||||
# enable packit-dev Copr repo to get the latest builds of ogr and specfile
|
||||
- how: install
|
||||
copr: packit/packit-dev
|
||||
# make sure the Copr repo has higher priority than TF Tag Repository
|
||||
- how: shell
|
||||
script: sed -i -n '/^priority=/!p;$apriority=5' /etc/yum.repos.d/*:packit:packit-dev.repo
|
||||
|
||||
# upgrade or install ‹ogr›, if needed
|
||||
- how: shell
|
||||
script: dnf -y upgrade python3-ogr || dnf -y install python3-ogr
|
||||
|
||||
# upgrade or install ‹specfile›, if needed
|
||||
- how: shell
|
||||
script: dnf -y upgrade python3-specfile || dnf -y install python3-specfile
|
||||
|
||||
- when: "distro == rhel-9 or distro == centos-9 or distro == centos-stream-9"
|
||||
because: "build and deepdiff are not in EPEL 9"
|
||||
prepare+:
|
||||
- how: install
|
||||
package: python3-pip
|
||||
- how: shell
|
||||
script: pip3 install build deepdiff
|
||||
17
plans/git_reference.py
Normal file
17
plans/git_reference.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
# Copyright Contributors to the Packit project.
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
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/packit.git"
|
||||
data["discover"]["ref"] = (
|
||||
subprocess.check_output(["git", "rev-parse", "HEAD"]).decode().strip()
|
||||
)
|
||||
6
plans/main.fmf
Normal file
6
plans/main.fmf
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
discover:
|
||||
how: fmf
|
||||
url: https://github.com/packit/packit.git
|
||||
ref: 868f8f6b5f04b0dfc5f4e42aa466721ffc0e4b15
|
||||
execute:
|
||||
how: tmt
|
||||
14
plans/rpmlint.fmf
Normal file
14
plans/rpmlint.fmf
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
summary:
|
||||
Execute rpmlint on the spec file
|
||||
|
||||
discover:
|
||||
how: shell
|
||||
tests:
|
||||
- name: rpmlint
|
||||
test: rpmlint packit.spec
|
||||
|
||||
prepare:
|
||||
- name: packages
|
||||
how: install
|
||||
package:
|
||||
- rpmlint
|
||||
30
plans/session-recording.fmf
Normal file
30
plans/session-recording.fmf
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
summary: Session recording testcases
|
||||
|
||||
discover+:
|
||||
filter: tag:requre
|
||||
|
||||
adjust:
|
||||
- when: "initiator == packit"
|
||||
because: "have the latest builds of ogr and specfile available for upstream test jobs"
|
||||
prepare+:
|
||||
# enable packit-dev Copr repo to get the latest builds of ogr and specfile
|
||||
- how: install
|
||||
copr: packit/packit-dev
|
||||
|
||||
# make sure the Copr repo has higher priority than TF Tag Repository
|
||||
- how: shell
|
||||
script: sed -i -n '/^priority=/!p;$apriority=5' /etc/yum.repos.d/*:packit:packit-dev.repo
|
||||
|
||||
# upgrade or install ‹ogr›, if needed
|
||||
- how: shell
|
||||
script: dnf -y upgrade python3-ogr || dnf -y install python3-ogr
|
||||
|
||||
# upgrade or install ‹specfile›, if needed
|
||||
- how: shell
|
||||
script: dnf -y upgrade python3-specfile || dnf -y install python3-specfile
|
||||
|
||||
- when: "distro <= rhel-9 or distro <= centos-9 or distro == centos-stream-8 or distro == centos-stream-9"
|
||||
prepare+:
|
||||
- how: install
|
||||
name: Enable the Copr-repo for Requre
|
||||
copr: packit/packit-dev
|
||||
4
plans/smoke.fmf
Normal file
4
plans/smoke.fmf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
summary: Basic simple tests
|
||||
|
||||
discover+:
|
||||
filter: tier:0
|
||||
1
sources
Normal file
1
sources
Normal file
|
|
@ -0,0 +1 @@
|
|||
SHA512 (packitos-1.16.3.tar.gz) = 0bf3d8a574f09d78261044e6b66447363e6c1d14f77c610b73773565aeac696aac952a2fc777aafc769023c211436ac18a84dce935f0da006fec02f981313758
|
||||
Loading…
Add table
Add a link
Reference in a new issue