Let's see what happened in Packit in 2023.
Week 0 ๐ (December 20th 2022 โ January 2nd 2023)โ
- ogr now raises
GitForgeInternalError
rather thanPagureAPIException
when getting 50x response from the Pagure API. This should increase usability as those tasks will be retried. (ogr#762) - Packit now puts the correct release number into the changelog when the Release tag is reset during propose-downstream. (packit#1816))
Week 1 (January 3rd โ January 9th)โ
- SRPMs for projects that installed the GitHub App before September 6th and
don't have
srpm_build_deps
defined are now built in Copr as well. (packit-service#1822) - We have fixed a bug in dashboard that linked
null
as a Copr build for Testing Farm runs that do not require any Copr build. (dashboard#200) - All classes including
Specfile
itself can now be copied using the standardcopy()
anddeepcopy()
functions fromcopy
module. (specfile#176)
Week 2 (January 10th โ January 16th)โ
- When configuring Copr chroot (target in Packit terminology) specific configuration, make sure to specify additional_modules as a string: module names separated with a comma, example: "httpd:2.4,python:4". (packit#1826)
- We have fixed a bug which caused long Copr build end reporting time on a few occurrences. (packit-service#1838)
- A few fixes has been implemented to make it possible to use
propose-downstream
job on GitLab. (packit-service#1842, packit-service#1844, packit-service#1845, packit-service#1846)
Week 3-4 (January 17th โ January 30th)โ
- Users can now re-trigger bodhi_update and koji_build jobs by
/packit create-update
and/packit koji-update
comments in an issue opened by Packit in the configuredissue_repository
if anything went wrong during these jobs. (packit-service#1796) - All Copr projects created by Packit now default to
enable_net=False
: our documentation stated this, but it wasn't the case. This is now corrected. (packit#1825) - You can now specify
update_release: false
in the configuration to tell Packit not to change the Version and Release in the spec file. It works the same as--no-update-release
(renamed from now deprecated--no-bump
) in the CLI. (packit#1827) - Packit now supports setting
module_hotfixes
for Copr projects. (packit#1829) - Packit now also allows passing in free-form parameters to Testing Farm in order to support all of its
options immediately once they are added. The parameters can be passed through the
tf_extra_params
config option. The free-form dictionary must follow the structure of Testing Farm POST requests. See our documentation and examples for more information. (packit-service#1853) - Fixed a bug in section parsing that caused sections to be ignored when there were macro definitions spread across the spec file and not cumulated at the top. (specfile#191)
- Also fixed the infinite loop that occurred when section options were followed by whitespace. (specfile#197)
Weeks 5โ6 (February 1st โ February 13th)โ
- You can now use
--srpm
option with thepackit build locally
CLI command. (packit#1810) - You will newly see news about Packit as a footer of the GitHub check runs summary. (packit-service#1881)
- Packit now groups related builds and test runs (e.g. triggered by the same event, just different chroots) together. In the future, this will allow better presentation of the overall pipelines (e.g. in the dashboard). We now also create database entries before sending requests to external service (e.g. Testing Farm), therefore failures will be more visible in the dashboard. (packit-service#1787)
Week 7 (February 14th โ February 20th)โ
- Packit now provides
PACKIT_PROJECT_VERSION
environment variable when runningchangelog-entry
action. (packit#1853) - Packit CLI now requires bodhi in version 7.0.0 at minimum. (packit#1844)
- You can now specify branches for a job triggered by a commit with a regex. (packit-service#1909)
Week 8 (February 21st โ February 27th)โ
packit validate-config
CLI command now provides details about errors when it cannot parse the config file. (packit#1861)--update-release
/--no-update-release
CLI flag now affects onlyRelease
, notVersion
. (packit#1857)- Packit does fewer API calls when searching for the package configuration file in remote repositories. (packit#1846)
- Commit statuses/check names will now contain the name of the branch or release for the build and test jobs with
commit
orrelease
trigger. This will prevent the collision of the names. (packit-service#1920)
Week 9 (February 28th โ March 6th)โ
- Aliases logic was updated to account for the upcoming Fedora release (Bodhi now marks such release as
frozen
). From now on, Fedora 38 updates will be created even when the release is frozen. (packit#1863) packit validate-config
now correctly checks glob-patterns in 'files_to_sync' (packit#1865) and provides details about errors when it cannot parse a config file. (packit#1861)- Pull-from-upstream jobs are now displayed on our dashboard ๐ฅณ https://dashboard.packit.dev/jobs/pull-from-upstreams (packit-service#1951, packit-service#1939)
- Packit will no longer automatically request access to the forks on GitLab. This will prevent us from spamming one-time contributors with requesting the access, whereas the regular contributors can add Packit following the instructions from the comments on the MRs, so they can receive the results of Packit pipeline right from the commit statuses. (packit-service#1946)
- Packit will retry tasks that are interrupted by a worker shutdown. This should improve throughput and reduce cases where there is no outcome, i.e. "builds should have been done but nothing happened". (packit-service#1935)
- OGR now understands a few community-hosted GitLab instances that could not be determined automatically from the hostname. Thanks to that, you don't need to hardcode these instances to be mapped correctly. (ogr#775)
Thank you, @SpyTec for so many wonderful changes in our dasbhoard.
Week 10 (March 7th โ March 13th)โ
- Parsing the spec file by RPM is now performed only if really necessary, greatly improving performance in certain scenarios. (specfile#212)
Week 11 (March 14th โ March 20th)โ
- Packit now uses the
get_current_version
action defined by the user to retrieve version before updating the specfile %setup macro (if any). (packit#1886)
Week 12 (March 21st โ March 27th)โ
- 'upstream_tag_template' is now also used when looking for the latest version tag in Git. This allows upstream repositories to mix different tag-patterns in the same repository, but consider only one to tell the latest version. (packit#1891)
Week 13 (March 28th โ April 3rd)โ
- Packit now preserves
%autorelease
duringpropose_downstream
andpull_from_upstream
. (packit#1904) - Since in GitLab, it is not possible to overwrite the pending statuses, Packit now provides more generic descriptions and URLs when setting the first pending status. (packit-service#1975)
Weeks 14โ15 (April 3rd โ April 17th)โ
packit source-git
related commands can skip dist-git repos, where the git trailer is not found, when looking for the right dist-git dir where to work. (packit#1938)- Tmt tests can now be run with fmf root outside of git root (packit#1936)
- Commits created by Packit no longer contain the "Signed-off-by" tag. (packit#1934)
- Packit's source_git functionality installs/loads the
_packitpatch
script in a more reliable manner that doesn't rely on deprecated setuptools functionality. (packit#1926) - Packit now supports monorepo configuration in CLI (packit#1864)
- Packit should now correctly catch the logs if any of the user actions fail during
propose_downstream
. (packit#1939) - Packit now resets
Release
field in dist-git spec file to 1 when the version in upstream spec file is not up-to-date with the release that triggeredpropose_downstream
. (packit#1940)
Week 16 (April 18th โ April 24th)โ
- Packit now complies with PEP 621 and stores project metadata in
pyproject.toml
. (packit#1913) - Packit now properly respects
upstream_ref
for tags that start with "a", "b", "c", "e", "n", "r", "s". (packit#1943) - Packit Service now supports multi package configuration (a.k.a. monorepo configuration). (packit-service#1982)
Week 17-18 (April 25th โ May 3rd)โ
- Detection of
%autorelease
usage in dist-git spec file duringpropose-downstream
andpull-from-upstream
has been improved and Packit will always preserve it. (packit#1949) - We have fixed an issue that prevented you from building in Copr and Koji on release in the GitLab upstream. (packit-service#2027)
- TMT tests can now be run with FMF root outside of git root. (packit-service#2007)
- When reacting to branch pushes, Packit now correctly checks whether the branch name matches the configuration for the test jobs with configured
commit
trigger. (packit-service#2015) - The
propose-downstream
job triggered by an issue comment now correctly loads the configuration from the upstream repository. (packit-service#2021) - Packit is newly on Mastodon. Or, more specifically, on Fosstodon. Follow @packit@fosstodon.org and be one of the first to know about all the news!
Week 18 (May 4th - May 9th)โ
We have experienced issues with automatic Bodhi updates that we are investigating.
In case you miss a Bodhi update, you can
retrigger the job via /packit create-update
comment in a dist-git pull request.
Besides that, during this short week (another Czech Republic public holiday) we didn't manage to implement
any significant new features.
Week 19 (May 9th โ May 15th)โ
- Packit now doesn't react to its own comments on Pagure and GitLab (on GitHub, this was already implemented). (packit-service#2048)
Week 20 (May 16th โ May 22nd)โ
- We have implemented a denylisting mechanism allowing us to denylist namespaces/projects to prevent misuse of our service. (packit-service#2046)
- Packit will now additionally require for each test job requiring build a build job definition to be present in the Packit configuration file. (packit-service#2012)
- Packit now checks whether the configured architecture for the test target is supported by Testing Farm and in case it's not supported, Packit doesn't submit these test requests. (packit-service#2053)
Week 21 (May 23rd โ May 29th)โ
- Unsuccessful Image Builder requests now provide error details so you can fix the Image configuration. (packit#1981)
- Copr projects created by Packit will not follow the Fedora branching from now. This decision has been made to lower the load on Copr from the temporary Copr projects created, mainly, for the PR builds. If you are releasing your packages to the Copr, please use the new setting
follow_fedora_branching
. Already existing projects are not affected by this change and it is also not enforced with the custom Copr repositories. (packit#1970) - Additional artifact(s) passed as
artifacts
in thetf_extra_params
dictionary will be now combined with the artifact passed by Packit instead of rewriting it. (packit-service#2056) - Specfile library now handles multiple
%changelog
sections. (specfile#230)
Week 22 (May 30th โ June 5th)โ
- Packit will now filter the pull requests based on the target branch if the
branch
is specified in the particular job configuration. (packit-service#2074) - Packit now supports
manual_trigger
in the configuration that allows you to make jobs run only when explicitly triggered by a comment. (packit-service#2069)
Week 23 (June 6th โ June 12th)โ
Our dashboard now shows projects in a table instead of the cards. (dashboard#267)
/packit test
command has two new options:With
--identifier
option, Testing Farm will trigger only jobs with that identifier. (packit-service#2079)Also, it is now possible to specify labels for a job and trigger tests based on labels using a
--labels
option of the/packit test
command. (packit#1988, packit-service#2088)If the
vm_image_build job
doesn't have Copr project/owner configured, Copr project used for the latest Copr build of the pull request will be now used. (packit-service#2080)Fixed filters in
files_to_sync
not being applied properly. (packit#1977)The issue that could've caused inconsistencies when tests from a PR were supposed to be merged during the test runs on the Testing Farm has been fixed. (packit-service#2090)
Week 24 (June 13th โ June 19th)โ
Packit now includes dist-git branch in the title of the PRs for
propose-downstream
andpull-from-upstream
. (packit#1996)Many dashboard issues have been fixed during the Contribute to an Open Source Service workshop at DevConf.CZ. Stef Walter, Erik Gustavsson, Roman Braunstingl, Jaroslav Reznik, Christophe de Dinechin, Gris Ge and David Duncan, thank you for your contribution! (dashboard#291, dashboard#292, dashboard#293, dashboard#294, dashboard#295)
Week 25 (June 21st โ June 27th)โ
- If you are interested about the manual triggering deployed two weeks ago, David Kornel and Jakub Stejskal published a blog post about this on fedoramagazine.org.
- Copr builds configured as a monorepo job will now be built in one Copr project together. The bug with overwriting the statuses for monorepo jobs has been fixed as well. (packit-service#2097)
Week 26 (June 27th โ July 3rd)โ
- The bug which prevented errors on Testing Farm request submission from being correctly propagated to the user was fixed. (packit-service#2103)
pull_from_upstream
jobs can now be retriggered with a comment/packit pull-from-upstream
in a dist-git pull request. (packit-service#2087)
Week 27 (July 4th โ July 10th)โ
- Packit now correctly reloads upstream specfile after running
pre-sync
action. (packit#2006)
Week 28 (July 11th โ July 17th)โ
- Packit now includes instructions on how to checkout the dist-git PR locally when syncing the release. (packit-service#2116)
- We have fixed a bug in processing options of
%prep
macros in ourspecfile
library. For instance, when a quoted string appeared inside an expression expansion, it could lead to improper parsing, rendering the spec file invalid after accessing the options. (specfile#253) - packit.dev has a new format! As the content has expanded a lot in the recent year, we decided to switch to using Docosaurus: now all the documentation is in one place and this format also enables additional features for our blog posts. (packit.dev#694)
Weeks 29โ30 (July 18th โ July 31st)โ
- With plenty of team members on vacation, we didn't manage to implement any significant new features during these two weeks.
Week 31 (August 1st โ August 7th)โ
- Licenses in Packit specfiles are now confirmed to be SPDX-compatible. (example PR: packit#2026) If you are interested in more details, see a talk from Flock 2023 by Mirek.
Week 32 (August 8th โ August 14th)โ
- Two new configuration options for filtering when getting latest upstream release tag were introduced:
upstream_tag_include
andupstream_tag_exclude
. They should contain a Python regex that can be used as an argument inre.match
. (packit#2030, packit-service#2138) - Retriggering of
pull-from-upstream
via a comment will now use the correct configuration file from the default dist-git branch. (packit-service#2140) - The
pull-from-upstream
job can now be used with upstream repos that are not hosted on a supported git forge. (packit-service#2137)
Week 34 (August 22nd โ August 28th)โ
- We have fixed a bug in
packit source-git init
caused by the changed behaviour in the newer version of rpmbuild. (packit#2048) - We have fixed an issue in our API endpoint that could cause DoS until manual intervention from our team. (packit-service#2164)
- We have fixed a bug causing broken retriggering of Github checks. (packit-service#2161)
- SRPM build commit statuses, for monorepos projects, are now being correctly updated. (packit-service#2157)
- We have fixed the bug resulting in incorrect reporting for tests when retriggering a build of a different target that was not configured for tests. (packit-service#2144)
- We have fixed an issue that caused retriggers of Testing Farm to fail, if you specified any labels in the comment and had one or more test job definitions without any labels specified. (packit-service#2156)
- Macro definitions and tags gained a new
valid
attribute. A macro definition/tag is considered valid if it doesn't appear in a false branch of any condition appearing in the spec file. (specfile#276)
Week 35 (August 29th โ September 4th)โ
- Now Packit exposes
PACKIT_PACKAGE_NAME
,PACKIT_UPSTREAM_PACKAGE_NAME
andPACKIT_DOWNSTREAM_PACKAGE_NAME
env variables to all the actions. (packit#2061) - Packit now sets
PACKIT_UPSTREAM_REPO
andPACKIT_DOWNSTREAM_REPO
environment variables for release syncing actions. The variables represent paths where the respective git repositories are cloned (packit-service#2166) - We have fixed a bug causing issues with displaying some
Project
views on our dashboard. (packit-service#2165)
Week 36 (September 5th โ September 11th)โ
- Packit now supports
commit-message
action that can be used to override the default commit message produced by Packit duringpropose-downstream
orpull-from-upstream
. Please pay attention to our documentation with regards to the usage of this action. (packit#2070) - Packit CLI now supports testing the
pull-from-upstream
workflow. Use thepackit pull-from-upstream
command from thepackit
RPM package. (packit#2063) - Packit now passes
initiator
context for tmt to the Testing Farm. You can use this option to run or skip certain tests when they're run by Packit. (packit-service#2176) - Testing Farm started additionally exposing regexes on top of the exact compose names in the /composes/ endpoints, and we now support this as well when checking the validity of compose. (packit-service#2168)
- We have disabled the jitter for retrying Bodhi update tasks to prevent race conditions causing not created updates. (packit-service#2170)
- We have fixed a bug in
get_fork
method for Pagure about checking the usernames for a match when going through existing forks. (ogr#800)
Week 37 (September 12th โ September 18th)โ
- If you have concerns about Packit uploading new archives to lookaside cache before creating a pull request, you can newly set
upload_sources
to False to disable this. (packit#2086) - We have introduced a new configuration option
notifications.failure_comment.message
that enables notifying users on failure via a comment using the configured message. (packit-service#2182)
Week 38 (September 19th โ September 25th)โ
- As part of the effort of implementing release syncing for CentOS Stream,
Packit now supports the
pkg_tool
option in the config (at the top-level or with specific packages when using the monorepo syntax). This option can be used for switching betweenfedpkg
orcentpkg
. (packit#2085) - When updating the
Version
tag duringpropose_downstream
orpull_from_upstream
, Packit now tries to update referenced macros (if any) rather than overwriting the references. (packit#2087)
Week 39 (September 26th โ October 2nd)โ
- When using packit CLI you can now specify bugs resolved by an update by
-b
or--resolve-bug
option forpropose-downstream
andpull-from-upstream
commands. The values will be added by default to the changelog and commit message and provided incommit-message
andchangelog-entry
actions asPACKIT_RESOLVED_BUGS
env variable. (packit#2094) - Packit-service now automatically adds bugzilla created by Upstream Release Monitoring as
- Resolves {bugzilla}
to the changelog (or commit if autochangelog is used) and provides the value incommit-message
andchangelog-entry
actions asPACKIT_RESOLVED_BUGS
env variable. When retriggering thepull-from-upstream
from comment, one can also specify the bug(s) as/packit pull-from-upstream --resolved-bugs rhbz#123,rhbz#125
and Packit will do the same. (packit-service#2193) - You can now configure
notifications.failure_comment.message
also for downstream jobs, where the configured message will be used as an extension of the comment added by default by Packit. (packit-service#2199)
Week 40 (October 3rd โ October 9th)โ
- We have fixed an issue that you could encounter when running the Packit from the CLI that caused misinterpretation of the repository to be an upstream repo instead of a downstream. (packit#2117)
- Packit now also detects resolved bugs in the default update notes (created from changelog diff) and assigns these when submitting the Bodhi updates. (packit#2111)
- We have fixed an issue that prevented automated allowlisting in the Packit Service. (packit#2113)
- Packit now exports
PACKIT_UPSTREAM_PACKAGE_NAME
,PACKIT_DOWNSTREAM_PACKAGE_NAME
andPACKIT_CONFIG_PACKAGE_NAME
also in thechangelog_entry
action. (packit#2103) - Packit now posts a comment with a link to the Packit dashboard to the pull requests created in Fedora dist-git when syncing the release. (packit-service#2215)
Week 41 (October 10th โ October 16th)โ
- (breaking) Packit no longer accepts
packit.json
or.packit.json
as a configuration file name. (packit#2123) - We have implemented several improvements in syncing the release downstream:
- Packit now updates ACL of its own dist-git forks to allow users and groups with commit rights to the original dist-git repo to push directly to a fork. (packit#2112)
- Packit now also properly cleans up the branch after syncing the release which should prevent unwanted files (e.g. tarballs) being committed to dist-git. (packit#2125)
- We have adjusted the way how Packit includes the resolved bugzillas in the commit messages created when syncing the release
downstream so that the resolved bugzillas are included in changelog when using
%autochangelog
. (packit#2126)
- Packit now reacts to retriggering comments for downstream jobs by commenting on the same issue/PR and providing information about the jobs. (packit-service#2222)
- We have fixed an issue that prevented you from running the jobs on the GitLab.com due to failing resolution of the upstream/downstream relationship for the cloned project. (packit#2120)
- Packit now triggers the build for the
/packit test
comment command if the last build was not successful. (packit-service#2228)
And special thanks to @SpyTec for multiple wonderful dashboard improvements!
Week 43 (October 24th โ October 30th)โ
- Packit no longer downloads sources excluded using spec file conditions. (packit#2132)
Week 44 (October 31st โ November 6th)โ
- Dist tag (
%{?dist}
) is now enforced when updating release during SRPM creation. (packit#2106)
Week 45 (November 7th โ November 13th)โ
- Now Packit allows
~^+
(special characters) in a tag (used for building the version string). (packit#2154) - Downstream Koji builds are now shown in a separate table in
/jobs/downstream-koji-builds
on dashboard and are also accessible via/api/koji-builds
API endpoint. (packit-service#2244, packit-service#2249, dashboard#354)
Week 46 (November 14th โ November 20th)โ
- Packit now supports pre-release version in
propose_downstream
andpull_from_upstream
. A spec file update might be required, see the documentation for more details. (packit#2149)- In relation to that, specfile library has a new method,
Specfile.update_version()
, that allows updating spec file version even if it is a pre-release. (specfile#317)
- In relation to that, specfile library has a new method,
- Packit can now check, using the new
update_version_mask
configuration option, that the proposed version of new release and the current version of the dist-git branch are compatible and sync the dist-git branch only in that case. (packit#2156) - Packit is now able to get the version from spec file even if the
Version
tag is not present in the specfile directly, but e.g. imported from another file. (packit#2157) PACKIT_COPR_PROJECT
env var that is exposed to Testing Farm now includes the Copr project of the additional build specified in comment, if present. (packit-service#2253)
Week 47 (November 21st โ November 27th)โ
- Packit now correctly sets the specfile content (e.g. changelog entry) even if it syncs the specfile from upstream for the first time. (packit#2170)
Week 48 (November 28th โ December 4th)โ
Packit now links the information related to upstream events in PRs opened when syncing a release. (packit#2173)
When accessing tags or macro definitions by name, specfile library now takes validity into account when looking for the best match. For example if there are two instances of
Version
tag, one in the true and one in the false branch of a condition,Specfile.version
will always access the one that is in the true branch. This also applies to Packit when syncing a release and updating value ofVersion
tag. (specfile#328)
Week 49 (December 5th โ December 11th)โ
We have introduced new configuration options
test_command.default_labels
andtest_command.default_identifier
that are used by default when running/packit test
comment command without any arguments (instead of specifying them via--labels
/--identifier
). (packit-service#2270)We have fixed a bug that GithubRelease.url returned an API URL. (ogr#824)
Week 50 (December 12th โ December 18th)โ
- We have fixed a bug preventing a release from being synced downstream if the changelog to be set is empty. (packit#2183)
- We have fixed a bug of not running Koji builds for Packit dist-git PRs with multiple commits if the last commit of the PR did not contain a spec file change. (packit-service#2275)
End of the year in Packitโ
- We have hit some issues with the firewall rules on the new cluster hosting our production. We are waiting for the required fix that is done outside of our team which should be deployed around January 11th. We will keep you informed about the current status. At the moment we are aware of the issues related to the:
pull-from-upstream
jobs that have sources hosted at infradead.org, sourceforge.net and gitlab.gnome.org- jobs running on the gitlab.gnome.org in general
- We have also fixed an issue that caused some Cockpit releases to fail, others might've been affected too, though there are no reports.