- Reverted "invoke all commands in shell" change that had been introduced in 0.13.0.
- Fix a programming error in
validate-config, which caused the sub-command to fail when checking Packit configuration files. - Prioritize including the PR ID in the release field over the Git ref when creating a SRPM from the current checkout.
- Fix a programming error when updating the
%changelogwith the subject lines of the commits since the last tag.
- Commands from actions run in a shell by default; adding
bash -cis no longer required. - The name of the branch is included in the release field when creating a SRPM from current checkout.
- Packit configuration can be checked using the new
validate-configsubcommand. - If possible, use the subject lines of the commits since the last tag when
updating
%changelog. - Use patch metadata when generating patch files for dist-git.
- Improved logs by adding
__repr__()to multiple classes. - Fixed setting of default values in job configurations.
- Users are now able to set some additional properties for COPR projects created via
copr-buildcommand, e.g. visibility on the Copr homepage and persistence.
- Log RebaseHelper error messages.
- Enabled copr build against master branch. For more details please check readme.
- Error and log messages improvements.
- Fedora 32 is now part of the
fedora-stablealias and Fedora 30 is no longer included in the stable variant. - There is an
epel-allalias available.
- The logs which packit produces are now more consistent and have unified format.
- When doing
propose-updatewhile upstream and downstream spec files differ, it could happen that the downstream spec would not be processed correctly. This is now fixed, for more info see packit#828. - Kerberos-related code was re-organized for sake of the upcoming koji work - this shouldn't affect any functionality.
- Fixed test error caused by missing git configuration #794
A patch release, which fixes/improves some job metadata fields:
dist_git_branch(see 0.10.0) has been renamed todist_git_branchesand it accepts also a list of values.- New
scratchoption that will be used for Koji builds. - New
branchoption that will be used for specifying a branch for which we want to run builds.
- We are able to linearize (and create patches from) extremely complex source-git repos.
- Job metadata in
.packit.yamlare now being validated.dist-git-branchkey has been renamed todist_git_branch
- We no longer inspect archive extension set in
Sourceand create.tar.gzby default.- This should be more flexible and prevent issues for “non-standard” archive names.
propose-updatecreates downstream spec if it’s not there- This used to happen when using packit on a newly created package in Fedora which did not have spec file added yet.
- Fix for web URLs for Copr builds owned by groups.
- Marshmallow v3 is now supported as well.
- CLI has a new
local-buildcommand. - Packit learned how to look for RPM spec files on its own, so specifying
specfile_pathin the configuration is not mandatory anymore. - Default configuration has
testsjob enabled from now on. You still need to usefmfto create some tests, otherwise testing-farm only tests the success of the installation. - We don't touch
Versionin spec files and changeReleaseonly by default.
- Improved documentation (README & CONTRIBUTING).
copr-buildCLI command has new--upstrem-refoption.- As a result of
keys.fedoraproject.orgbeing turned off, Packit now tries a list of GPG keyservers when downloading keys to check commit signatures. generateCLI command is now deprecated in favor of theinitcommand.- When executing
copr-buildcommand, you don't need to set project name if this value is defined incopr_buildjob in configuration file. - When loading authentication in the config file - users are warned only if deprecated keys are used, no more confusing messages when you do not have authentication key in the configuration.
- Several
source-gitrelated fixes & improvements are applied. - A bug which was causing SRPM-build failures in Packit Service for projects which had their spec files stored in a subdirectory is fixed.
- We handle
git-describeoutput better: it should help when tags contain dashes.
- Packit is able to build in Koji from upstream/source-git.
- CLI has bash-completion.
- Configuration can use a new option (
patch_generation_ignore_paths) to exclude paths from patching.
Packit has a new logo!
- Marshmallow object schema was implemented.
config fileandspec fileare synced by default.- We use testing farm for sanity tests.
packit statuscommand shows latest copr builds.- Target aliases (currently fedora-development, fedora-stable, fedora-all) can now be used in the packit config file.
upstream_package_nameanddownstream_package_nameare no longer required in package config. github repository name is the default value both.- If no jobs are defined in .packit.yaml, packit by default runs build job on fedora-stable targets and propose_downstream on fedora-all branches.
- Image version of packit is now fedora 31
- packit can now download URL package sources before SRPM build.
- When doing a new update in Fedora dist-git, packit now by default creates a new pull request instead of pushing directly to dist-git.
- Build command has nicer output.
create-archiveuses fullpath for validation and splits long lines of output.- SRPM runs also in a repo with detached head.
- Log output from subprocesses is in realtime.
- Specfile is refreshed after each run of the propose-update.
- When there is no copr project owner, exception is raised
- While building specfile from custom specfile, the archive is linked from the spec-directory.
- Setting cwd in command handlers is allowed.
- SRPM build is run from the folder containing specfile.
- Consecutive API call for status works.
- rebase-helper breaking changes in new version is fixed.
- fixed updating version on srpm build
- pre-commit check requires rebased branch.
- fedora version in .packit.yaml config is updated.
- Code related to copr id now extracted to dedicated class.
- There is a warning in logs when there is no packit config in repository.
- Tests are now restructured and use new structure or
requre, also containing tests for copr. - The stale bot is now set with up-to-date config.
- The imports of packit are simplier.
- The preparation of SRPM build has been refactored including new exceptions.
- The "Developer Certificate of Origin" was added to the git repository.
- Packit will determine
upstream_project_urlfrom git remote if not specified in the config.
See our website for up-to-date documentation on how to use the new features described below.
- Rename
upstream_project_nameoption toupstream_package_name.- The old one is now deprecated and will be ignored in the future.
- Packit is now able to be used from a distgit repository.
- You need to specify
upstream_project_urlto make it work.
- You need to specify
- New option (
upstream_tag_template) was added to the configuration file to support more versioning schemes. - You can now use
SourceandSource0macros to define upstream sources. - The configuration of the authentication was reworked: it nested under
authenticationkey.- The scheme now supports multiple git services.
- Packit now verifies the output of the
create-archiveaction.
This patch release contains only few bug-fixes on top of 0.6.0.
We keep our documentation up to date: https://packit.dev/docs - you can learn how to use all the latest features.
pagure_fork_tokenis no longer needed given a change which happened in pagure (src.fedoraproject.org); Pierre rocks!- New COPR projects created by packit are no longer listed in the COPR dashboard and are set to be deleted after 180 days upon being created.
- There is a new command
push-updatesto mark bodhi updates for stable. - Packit now sets description and instructions for newly created COPR projects.
- There is a new config option to set ID of a spec file Source which packit
should operate on (defaults to 0). Packit now also updates the
%[auto]setupmacro in%prepso that the generated archive is correctly unpacked - this behavior matches what tito does. - There is a new action
fix-specwhich by default sets Source0, %version and %setup macros in spec file - you can override it with your own implementation. Documentation - Packit now sets certain environment variables during
fix-specandcreate-archiveactions. You can read more about this in the documentation for actions.
- Packit can be again installed as an RPM: it correctly depends on koji client library now.
- If an error happens in a section while doing
status, the section is now skipped and rest of the information is printed. - Packit is able to handle URLs to git repo if they end with a slash.
- Command
versionno longer exists and is now replaced with a--versionoption. (thanks to @FrNecas)
- Fix creation of SRPMs - they can be rebuilt now properly.
- Don't update %changelog if it's not present in the spec file.
- Koji builds are now obtained using koji, not bodhi, in
statuscommand which should yield more consistent results. - Comments in generated .packit.yaml (using
generatecommand) should be now more accurate. - Command
sync-from-downstreamno longer creates a branch when using option--no-pr. - Building in copr now yields an URL to frontend instead of a link to log files.
statuscommand now displays one update per stable Fedora release.
- We are using softwarefactory.io Zuul now instead of Centos CI jenkins.
- CONTRIBUTING.md file is now fully up to date when it comes to CI testing.
- Updates to our testing scripts.
All the documentation was moved to our site: https://packit.dev/docs
- If you set up
fas_usernamein your config, packit will perform kinit before doing an authenticated dist-git clone. - You can now specify a koji target when building in koji using the
buildcommand. - There is a new command
copr-buildwhich enables you to submit builds into Fedora COPR build system. - The config file now has a new attribute called
create_prwhich tells packit whether it should create pull requests in dist-git or push directly. buildcommand now waits for the build to finish and has a--nowait.- Packit now supports the most popular archive formats, not just .tar.gz (thanks to @FrNecas for contributing this feature)
- Command
propose-updatecan now push directly to dist-git. This can be controlled via a CLI option--nopror in a config usingcreate_prvalue. - When doing a
propose-update, packit no longer does a 1:1 copy, instead it copies everything from the upstream spec except for %changelog and then performsrpmdev-bumpspec.
- SRPMs are now being correctly created from source-git repos.
- Packit is now able to clone a dist-git repo using authentication (
fedpkg clone) and push to it afterwards. packit statusnow displays also a latest rawhide koji build.- The command
propose-updatedoes no longer fail when looking for an upstream archive. - Packit no longer discards changes in the local git repo if it's dirty.
- Several improvements to text printed by packit.
- We are now using Zuul for testing and have multiple jobs set up to verify packit works against different versions of dependant software.
- Packit now uses Sandcastle to run untrusted commands in a sandbox.
- Service code has been moved to separate repo.
- Actions now support more commands per action.
- Lots of code, documentation and tests fixes.
- Patch release with few fixes/minor changes.
- Packit service now submits builds in copr and once they're done it adds a GitHub status and comment with instructions how to install the builds.
- Packit service is now configurable via jobs defined in configuration file.
- Packit is now able to check GPG signatures of the upstream commits against configured fingerprints.
- [CLI]
srpmcommand now works also with Source-git. - Fedmsg parsing has been unified into a single
listen-to-fedmsgcommand. - Packit service: Github webhook now reacts to ping event and validates payload signature.
- More source-git related changes have been applied.
- Few tracebacks when using CLI have been fixed.
- RPM package now really contains generated man pages.
- Packit service runs on httpd server.
- [CLI]
statuscommand now access remote APIs asynchronously in parallel, which should speed up the execution. - CLI now has
--dry-runoption to not perform any remote changes (pull requests or comments). - Repository now includes Dockerfile and we by default use Docker instead of ansible-bender to build container image.
- Repository now includes Vagranfile.
- List of on-boarded projects has been moved to README.md
We have a brand new website: https://packit.dev/! packit.dev repo contains source content for Hugo website engine.
- Packit supports Source-git.
- You can now specify your own actions to replace default packit behavior.
- Packit supports pagure.io-based upstream projects.
- Packit {propose-update, sync-from-downstream} supports copying directories.
- A new
statuscommand to display useful upstream/downstream info. - You can now have a config file for packit in your home directory(
~/.config/packit.yaml). - Packit installed from an RPM now has manpages.
- Downstream pull requests titles now have correct version numbers.
sync-from-downstreamcommand constructs a PR correctly when origin is a fork.
- Improved documentation.
- Code refactoring.
- Added MIT license notice into python files.
- CI shows code coverage and runs linters/checkers defined in pre-commit config file.
- We've started work on packit service by implementing a handler for a Github webhook. More to come in the next cycle!
- Packit is able to authenticate as a GitHub App.
- We have renamed two variables in our configuration file:
package_name→downstream_package_nameupstream_name→upstream_project_name
- You can now use packit to sync files from your dist-git repo into upstream
(mainly to keep spec files in sync).
sync-from-downstreamis the command. - An SRPM can be created out of the current content in your upstream repository
— please check out the
srpmcommand. - Packit is able to create bodhi updates using the
create-updatecommand. - You can ask packit to build the latest content of your dist-git
repository in koji: the command is
build. - We have added
--force-new-sourcesoption to propose-update update command to bypass our caching optimization. propose-updatecommand now has option--local-contentwhich disables checking out the tag with the upstream release. This is useful if you forget to bump your spec file when doing a release.- You are now able to pick a specific upstream release version in
propose-updatecommand.
- Packit checks if the upstream tarball is already present in the lookaside cache so it's not uploaded twice. We have fixed a behavior when the upload part was skipped while having old tarball specified in dist-git. Packit now does the right thing - checks if sources file has the correct tarball referenced.
- We have updated several error messages which were coming from GitPython and it was not clear what's wrong.
- We have added CONTRIBUTING.md to ease contribution to packit. All your patches are welcome!
- We are now using black, flake8 and mypy to improve code quality.
- We have moved some info from README to dedicated doc. Also, all the documentation should be up to date.
The first official release of packit!
-
packit propose-updatebrings a new upstream release into Fedora rawhide. For more info, please check out the documentation. -
packit watch-releaseslistens to github events for new upstream releases. If an upstream project uses packit, it would bring the upstream release into Fedora, the same way aspackit propose-update. Please make sure that your upstream project is set up using github2fedmsg.