- 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
%changelog
with the subject lines of the commits since the last tag.
- Commands from actions run in a shell by default; adding
bash -c
is 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-config
subcommand. - 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-build
command, 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-stable
alias and Fedora 30 is no longer included in the stable variant. - There is an
epel-all
alias available.
- The logs which packit produces are now more consistent and have unified format.
- When doing
propose-update
while 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_branches
and it accepts also a list of values.- New
scratch
option that will be used for Koji builds. - New
branch
option 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.yaml
are now being validated.dist-git-branch
key has been renamed todist_git_branch
- We no longer inspect archive extension set in
Source
and create.tar.gz
by default.- This should be more flexible and prevent issues for “non-standard” archive names.
propose-update
creates 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-build
command. - Packit learned how to look for RPM spec files on its own, so specifying
specfile_path
in the configuration is not mandatory anymore. - Default configuration has
tests
job enabled from now on. You still need to usefmf
to create some tests, otherwise testing-farm only tests the success of the installation. - We don't touch
Version
in spec files and changeRelease
only by default.
- Improved documentation (README & CONTRIBUTING).
copr-build
CLI command has new--upstrem-ref
option.- As a result of
keys.fedoraproject.org
being turned off, Packit now tries a list of GPG keyservers when downloading keys to check commit signatures. generate
CLI command is now deprecated in favor of theinit
command.- When executing
copr-build
command, you don't need to set project name if this value is defined incopr_build
job 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-git
related 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-describe
output 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 file
andspec file
are synced by default.- We use testing farm for sanity tests.
packit status
command shows latest copr builds.- Target aliases (currently fedora-development, fedora-stable, fedora-all) can now be used in the packit config file.
upstream_package_name
anddownstream_package_name
are 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-archive
uses 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_url
from 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_name
option 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_url
to 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
Source
andSource0
macros to define upstream sources. - The configuration of the authentication was reworked: it nested under
authentication
key.- The scheme now supports multiple git services.
- Packit now verifies the output of the
create-archive
action.
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_token
is 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-updates
to 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]setup
macro in%prep
so that the generated archive is correctly unpacked - this behavior matches what tito does. - There is a new action
fix-spec
which 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-spec
andcreate-archive
actions. 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
version
no longer exists and is now replaced with a--version
option. (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
status
command which should yield more consistent results. - Comments in generated .packit.yaml (using
generate
command) should be now more accurate. - Command
sync-from-downstream
no 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.
status
command 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_username
in 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
build
command. - There is a new command
copr-build
which enables you to submit builds into Fedora COPR build system. - The config file now has a new attribute called
create_pr
which tells packit whether it should create pull requests in dist-git or push directly. build
command 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-update
can now push directly to dist-git. This can be controlled via a CLI option--nopr
or in a config usingcreate_pr
value. - 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 status
now displays also a latest rawhide koji build.- The command
propose-update
does 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]
srpm
command now works also with Source-git. - Fedmsg parsing has been unified into a single
listen-to-fedmsg
command. - 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]
status
command now access remote APIs asynchronously in parallel, which should speed up the execution. - CLI now has
--dry-run
option 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
status
command 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-downstream
command 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_name
upstream_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-downstream
is the command. - An SRPM can be created out of the current content in your upstream repository
— please check out the
srpm
command. - Packit is able to create bodhi updates using the
create-update
command. - 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-sources
option to propose-update update command to bypass our caching optimization. propose-update
command now has option--local-content
which 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-update
command.
- 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-update
brings a new upstream release into Fedora rawhide. For more info, please check out the documentation. -
packit watch-releases
listens 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.