Skip to main content

2021

· 19 min read

Let's see what happened in Packit in 2021.

Week 1 (January 4th - January 8th)

  • Name of the job/command/comment to propose update of downstream package has been synced between CLI and service to propose-downstream. propose-update is now deprecated. (packit#1065, packit-service#913)

Week 2 (January 11th - January 15th)

Week 3 (January 18th - January 22th)

  • We have temporarily disabled the testing-farm support because the cluster with old runner has died and the new runner is not ready. The tests are now skipped and you get Testing farm is temporarily disabled. status until we have the new runner available. (packit-service#929)

Week 4 (January 25th - January 29th)

  • The CLI and the service now detect name of the default branch of a repository instead of assuming it to be called master. (packit#1074, packit-service#924)
  • Build status page now points to the built SRPM uploaded to COPR. (packit-service#889)
  • propose-downstream on source-git repositories now always uses --local-content. (packit#1093)
  • Hunor fixed bug packit#1089 which caused a wrong revision to be used for certain jobs in Packit Service.
  • Tomas improved the reliability of our sandboxing service. (sandcastle#95)
  • Default branches in all our repositories have been renamed from master to main.

Week 5 (February 1st - February 5th)

  • The service uses new Testing Farm (API). We are still working on better user experience and fixing bugs. (packit-service#875)
  • MatejF refactored permission system on pull requests and issues comments and renamed whitelist to allowlist. (packit-service#936)
  • The service now retries failed tasks. (packit-service#931)
  • --koji-target option of the CLI's build command now accepts aliases. (packit#1052)
  • The service runs on Fedora 33 now.

Week 6 (February 8th - February 12th)

  • --dist-git-branches option in the CLI's propose-downstream command was fixed, it now respects set branches. (packit#1094)
  • The way Packit adds patches to spec-file in source-git repo was improved, now it shouldn't fail if patches are sparsely numbered. (packit#1100)

Week 7 (February 15th - February 19th)

Week 8 (February 22th - February 25th)

Week 9 (March 1st - March 5th)

  • Tomas improved the performance of sandcastle, all the user-defined actions now run in one sandbox. This should also speed up the SRPM builds. (packit#1129)
  • You can view the results of jobs directly in our dashboard, kudos to Anchit. (dashboard#73)
  • Jirka implemented setting of the environment context when running the Testing farm tests. (packit-service#1008)
  • In Packit there is a new configuration option sources which overrides the URLs defined in specfiles. (packit#1131, packit#1143)

Week 10 (March 8th - March 12th)

  • Jirka worked on setting up GitHub Workflows across all of the Packit repositories to build the container images for Packit Service and push them to Quay.io.
  • Tomáš fixed a bug in the linearization mechanism used when generating patch files from a series of Git commits. (packit#1144)
  • Hunor implemented a way for packit to detect if patch-files generated from Git are identical with the ones already in dist-git. This should help avoiding superfluous changes done by propose-downstream. (packit#1133)
  • Jirka increased the delay (to 3 minutes in total) for Packit Service when retrying downloading the sources during a propose-downstream job. This should give more time for the sources to become available after a release is created. (packit-service#1019)
  • Matěj fixed an ugly bug which caused Packit Service not to react to installation events. (packit-service#1018)

Week 11 (March 15th - March 19th)

  • Laura fixed a bug in the processing of GitHub App installations. (packit-service#1020)
  • Jirka fixed a bug that caused improper numbering of patches for source-git. (packit#1164)

Week 12 (March 22th - March 26th)

  • Franta improved database schema. It will help us match builds and tests together more easily and solve some UX problems. (packit-service#954)
  • packit init CLI command has been updated to
    • place downstream packaging files in a subdirectory .distro instead of fedora. (packit#1165)
    • enable using Stream 9 dist-git as a source. (packit#1177)
  • Laura reworked how specfiles are being synced from downstream dist-git repositories and we are running a PoC for packit's projects to test the new approach. (packit-service#1023)
  • It's possible to specify a distinct test repository for tests in a test job. (packit#1155) (packit-service#1021)
  • centos-stream target is temporarily resolved to centos-stream-8 to reflect a change in Copr. (packit#1167)

Week 13 (March 29th - April 1st)

  • Jirka fixed a bug in packit push-update (packit#1191).
  • Matěj introduced the fedora-latest alias for build and test targets, which resolves to the latest branched Fedora Linux (packit#1187).
  • A custom path for the package config (aka packit.yaml) can be specified using a new, top-level -c, --config option (packit#1184).

Week 14 (April 4th - April 9th)

  • Honza converted packit's test suite from STI to FMF and configured packit to synchronize the suite to Fedora dist-git (packit#1192).
  • Franta fixed a bug in packit which kept only appending targets to an existing COPR project which is no longer a case - dropped targets are now being removed (packit#1197).

Week 15 (April 12th - April 16th)

  • Tomáš fixed an issue in chaining variable definitions in the RPM macros used to set up source-git repositories with packit init (packit#1206).
  • Jirka improved the error message Packit Service emits when the request to start a test in Testing Farm fails (packit-service#1055).
  • Laura made Packit Service to set a status for jobs as soon as the requests are received, and before starting any of the jobs (packit-service#1046). This way users will receive a more immediate feedback about the Service handling their requests.

Week 16 (April 19th - April 23th)

  • The current_version_command and create_tarball_command config options are being deprecated in favour of actions. An issue will be created in the affected repositories if we find those options in use. (packit-service#1064)
  • The result pages have been replaced by the views on our dashboard. Let us know what do you think about that and what information do you want to see there. You can expect more changes on this field.

Week 17 (April 26th - April 30th)

  • When initiating a new source-git repo, packit adds info about sources to packit.yaml. Also dist-git sources from the lookaside cache are not commited. (packit#1208, packit#1216).
  • Franta added support for git repository cache into packit. The service part is yet to be done (packit#1214).
  • Service reacts to /packit commands only when they appear alone on a line (packit-service#1065, packit-service#1083).
  • Service doesn't create duplicate issues when configuration is invalid (packit-service#1075).
  • We deprecated current_version_command and create_tarball_command in packit config (packit#1212).

Week 18 (May 3rd - May 7th)

Week 19 (May 10th - May 14th)

  • Jirka added support for creating Bugzilla bugs for newly created MRs on GitLab (packit-service#1087).
  • The installation instructions for failed or unfinished COPR builds are not displayed on the results page (dashboard#104).

Week 20 (May 17th - May 21st)

  • Hunor created an update-dist-git command (packit#1228).
  • Jan: use packit config as a place to create reference to tests (packit#1245).

Week 21 (May 24th - May 28th)

  • Jirka added attribute for update-dist-git command to specify the packaging tool (e.g. centpkg). By default, fedpkg is used. (packit#1257, packit-service#1105).
  • Tomáš added support for patch_id in the metadata of source-git commits. (packit#1252)
  • Hunor improved the strategy of checking Copr results when we don't receive that information over message-bus. (packit-service#1104)

Week 22 (May 31st - June 4th)

  • We have a new status page, kudos to Jirka!
  • Franta fixed a bug that if some action during propose-downstream caused an upstream git repository to be dirty, the sync for other branches failed. (packit-service#1111)
  • packit generate is not supported anymore. (packit#1269)
  • Tomáš improved the patch ordering. (packit#1263)

Week 23 (June 7th - June 11th)

  • Tomáš improved the way changelog is passed from source-git repo to dist-git. (packit#1265)
  • Hunor created a new subcommand source-git to group source-git related commands init and update-dist-git. (packit#1273)
  • František improved API by adding submitted_time to the test result. (packit-service#1113)

Week 24 (June 14th - June 19th)

  • Franta started working on packit-service being able to submit test jobs to internal testing farm so teams can test upstream changes against RHEL. (packit-service#1124packit#1280)
  • Hunor continues working on packit source-git init: CLI is now more streamlined and simplified, and the command produces source-git repos matching [our documentation]({{< ref "create-source-git.md" >}}). (packit#1277)
  • Maťo Focko finished his refactoring of the Upstream class - should not have impact on our users, but make the code easier to work with. (packit#1157)

Week 25 (June 21st - June 26th)

  • Hunor made several improvements to source-git init's CLI. (packit#1284)
  • Thanks to Frantisek there is now one COPR project/repo used for all releases. (packit-service#1128)
  • Laura fixed a bug in syncing downstream to upstream. (packit#1285)

Week 26+27 (June 28th - July 9th)

Summer is here and vacations with it. Most of the work done in this sprint is either internal (not user facing) or not finished yet.

  • Thanks to MaťejM Packit Service now triggers a new Copr build if no suitable build has been found. That fixes an issue that the service sometimes did not react to /packit test. (packit-service#1132)

Week 28 (July 12th - July 16th)

  • We have a new API endpoint for obtaining projects of a given forge. (packit-service#1159)
  • The bug causing that some projects couldn't be loaded in our dashboard was fixed. (packit-service#1161)

Week 29 (July 19th - July 23th)

  • Various improvements on our dashboard were done; mainly:
  • Newly, we use the Checks API to show results on GitHub. You can still see the results on the bottom of the pull-request page, but also in the Checks tab. This gives us more options like status with a neutral state (e.g. currently, for permission errors) or a place for showing more details. Don't forget to give our GitHub application permissions to use it. You can expect more improvements in this field. (packit-service#1167)

Week 30 (July 26th - July 30th)

  • Source-git patch metadata: the squash_commits key is deprecated. Instead of using this, set the same patch_name in the commit message of adjacent commits, which should end up in the same patch file. (packit#1309)
  • packit init can now find a spec file inside of a git repository and set it in .packit.yaml. (packit#1313)
  • A lot of work has been done on our dashboard:
    • Status labels on dashboard have been reworked.
    • New pipelines view for dashboard has been released, where you can see all builds and tests that were recently run for your pull request, release or branch push. Each row represents one pipeline of builds and tests from SRPM all the way to the Testing Farm.
      (dashboard#128)

Week 31 (August 2nd - August 6th)

  • sync_release in API allows specifying a suffix for the newly created branch in a dist-git repo fork, so that there can be more open update PRs for the same dist-git branch at the same time. (packit#1326)
  • The behaviour of running tests triggered by /packit test comment was improved. If there is no existing Copr build when the tests are triggered, Packit service should now react and create a new build. Also when the last Copr build status is failed, tests are not submitted and users are informed about this. (packit-service#1188)
  • You can use oraclelinux-7/oraclelinux-8 chroots for build and test of your package on Oracle Linux. (packit-service#1186)

Week 32 (August 9th - August 13th)

  • status command of Packit's CLI has been refactored and now provides much cleaner output. (packit#1329)

Week 33 (August 16th - August 20th)

  • When reacting to /packit test, Packit service sets a status before starting the job to unify the behaviour with reacting to triggering builds. (packit-service#1187)
  • packit validate-config now checks also the value of the specfile_path configuration option and shows warning if the specified file is not present in the repository. (packit#1342)

Week 34 (August 23rd - August 27th)

  • Packit by default locally merges checked out pull requests into target branch. Logging for checking out pull requests was improved to contain hashes and summaries of last commit on both source and target branches. (packit#1344)
  • Packit Service now runs Copr and Koji builds and following tests on Testing Farm for pull requests on the code that would be a result of merging into the target branch. In case merge conflicts occur during preparation of SRPM, you can find more info in the SRPM logs. (packit-service#1206)
  • Packit's CLI source-git update-dist-git now supports using Git trailers to define patch metadata, which will control how patches are generated and added to the spec-file. source-git init uses this format to capture patch metadata when setting up a source-git repo, instead of the YAML one. To maintain backwards compatibility, the YAML format is still parsed, but only if none of the patches defines metadata using Git trailers. (packit#1336)
  • These changes will be applied next week (not this week as usual).

Week 35 (August 30th - September 3rd)

  • A bug in Packit that caused purging or syncing upstream changelog (when not configured) from specfile when running propose-downstream was fixed. New behavior preserves downstream changelog and in case there are either no entries or no %changelog section present, it is created with a new entry. (packit#1349)

Week 36 (September 6th - September 10th)

  • packit source-git init was updated to try to apply patches with git am first, and use patch only when this fails, in order to keep the commit message of Git-formatted (mbox) patch files in the source-git history. (packit#1358)

Week 37 (September 13th - September 17th)

  • Now you can find URL pointing directly to testing farm results on GitHub Checks page. (packit-service#1215)
  • Ogr now supports reacting to the comment with a given reaction, getting them in list and deleting them (only when reaction is added by using ogr API). (ogr#636)
  • Packit now provides PACKIT_RPMSPEC_RELEASE environment variable in actions. (packit#1363)
  • Dashboard no longer shrinks Copr/Koji icons when being open in narrow view. (dashboard#140)

Week 38 (September 20th - September 24th)

  • Dashboard now shows more readable format of time, e.g. "just now", "a minute ago", etc. If you wish to see exact date-time of the run, you can either hover over the time and tooltip with details appear. In case of result pages more readable format is present in the tooltip rather than by default. Also times are now shown in your local time zone. (dashboard#142)
  • Packit can now read commit messages from a patch to support characters which cannot be encoded with UTF-8. (packit#1372)
  • EPEL targets are now being mapped to CentOS Linux inside the internal Testing Farm runs. (packit-service#1225)

Week 39 (September 27th - October 1st)

  • Clicking on logo on dashboard no longer opens a new page, but rather reloads the current one.
  • We consider Pipelines view on dashboard to be ready for production use. We're planning to improve the user experience when using pipelines with easier navigation and filtering options.
  • Building the latest development versions of packit and ogr was moved to the packit/packit-dev Copr repo.

Week 40 (October 4th - October 8th)

  • A bug in Packit causing issues with local build when the branch was named with prefix rpm has been fixed.
  • To fulfill requests regarding updating targets on Copr repositories, Packit Service will sync targets for the projects created by Packit Service (e.g. pull requests, or non-set Copr repository for releases and branch builds) and for Copr repositories not owned by Packit will try to extend the list if necessary.
  • If you trigger packit jobs with one of /packit _ commands, our bot gives you a 👍 reaction to let you know that we are working on it.
  • Rerunning of failed tasks via GitHub Checks interface is now supported. You are now free to click those "Re-run" links.
  • ogr documentation is converted to Google-style docstrings. In case there are any discrepancies, missing docs or docstrings in different format, please open an issue.

Week 41 (October 11th - October 15th)

  • We have added a new option to Packit CLI when creating Bodhi updates, you can use -b or --resolve- bugzillas and specify IDs (separated by comma, e.g. -b 1 or -b 1,2,3) of bugzillas that are being closed by the update. (packit#1383)
  • Packit will deduce the version for SRPM from the spec file, if there are no git tags or action for acquiring current version defined. (packit#1388)
  • It is possible to use aarch64 architecture in the Testing Farm. (packit-service#1247)
  • Running tests via Testing Farm now supports centos-6 target. (packit-service#1244)

Week 42 (October 18th - October 22th)

  • We have introduced new options for generating SRPM packages: (packit#1396)
    • --no-bump that prevents changing of the release in the SRPM, which can be used for creating SRPMs on checked out tags/releases.
    • --release-suffix that allows you to customize the suffix after the release number, e.g. reference bugzilla or specific branch of the build.
  • Copr build installation instructions now contain detailed info about the built packages, so you can install the precise build from your pull request. (dashboard#149)

Week 43 (October 25th - November 1st)

  • We have introduced a new configuration option merge_pr_in_ci that allows you to disable merging of PR into the base branch before creating SRPM in service. (packit#1395, packit-service#1261)
  • If the upstream spec file is located in a subdirectory (such as packaging/fedora/pkg.spec), it is now correctly synced to the root of the downstream repository, since that's where rpmbuild will look for it. (packit#1402)
  • The "Congratulations!" comment no longer has a disclaimer about our intentions to stop posting it by default. We have already made that move earlier this year, so the disclaimer is no longer relevant. (packit-service#1260)
  • Deprecated configuration options current_version_command and create_tarball_command have been removed and are no longer supported. They are superseded by actions get-current-version and create-archive. (packit#1397)

Week 44 (November 1st - November 5th)

  • We have fixed several issues in packit when it's periodically checking statuses of jobs. You should now reliably see up to date check statuses for Copr RPM builds and Testing Farm runs. (packit-service#1267), (packit-service#1265)
  • Fixed an issue, which raised a UnicodeEncodingError, when working with dist-git patch files with an encoding other than UTF-8. (packit#1406)
  • Backup alias definitions now reflect the official release of Fedora 35. (packit#1405)

Week 45 (November 8th - November 12th)

  • You can now specify skip_build option in the test job metadata in the Packit configuration file. This will cause no Copr build to be built and installed into the testing environment, but only trigger the tests in Testing Farm (the selected components to be installed should be part of the TMT definitions). (packit-service#1256)
  • Packit supports changelog-entry action that is used when creating SRPM. The action is supposed to generate whole changelog entry (including - at the start of the lines) and has a priority over any other way we modify the changelog with. (packit#1367)

Week 46 (November 15th - November 19th)

  • A new env config option has been added for specifying environment variables, which are then passed to Testing Farm along with some more pre-defined variables (e.g. name of the project, URL, etc). (packit#1411) (packit-service#1275)
  • The GitHub check run names are now shorter and easier to read. (packit-service#1281)

Week 47 (November 22th - November 26th)

  • You can set up a new koji_build job using the commit trigger to submit a Koji build for a new commit in a dist-git branch. The configuration file needs to be present in the dist-git for now (the state for the new commit is used). (packit-service#1278)

Week 48 (November 29th - December 3rd)

  • External contributors can't trigger internal tests initially. Project maintainers need to trigger the action via /packit test comment to run the job. (packit-service#1302) (packit-service#1305)
  • A new packit prepare-sources command has been implemented for preparing sources for an SRPM build using the content of an upstream repository. (packit#1424)
  • Packit now visibly informs about an ongoing cloning process to remove potential confusion. (packit#1431)
  • The upstream_package_name config option is now checked for illegal characters and an error is thrown if it contains them. (packit#1434)

Week 49 (December 6th - December 12th)

  • Packit now correctly finds the release event if you don't use the version as a release title. (packit#1437)