Bug 2278226

Summary: rpmautospec fails with KeyError: 'commit-id'
Product: [Fedora] Fedora Reporter: Troy Dawson <tdawson>
Component: python-rpmautospecAssignee: Nils Philippsen <nphilipp>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: asaleh, epel-packagers-sig, infra-sig, michel, nphilipp, sgallagh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: python-rpmautospec-0.6.5-1.fc40 python-rpmautospec-0.6.5-1.el9 python-rpmautospec-0.6.5-1.fc39 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-06-26 01:56:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Troy Dawson 2024-05-01 17:43:58 UTC
I am getting rpmautospec failures during Fedora koji builds.  It's happened on two different builds, that have similar git commits.

https://koji.fedoraproject.org/koji/taskinfo?taskID=117112494
https://koji.fedoraproject.org/koji/taskinfo?taskID=117117201

---------------
CallbackError: Error running postSCMCheckout callback from rpmautospec_koji.rpmautospec_builder:
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/koji/plugin.py", line 223, in run_callbacks
    func(cbtype, *cb_args, **cb_kwargs)
  File "/usr/lib/python3.12/site-packages/rpmautospec_koji/rpmautospec_builder.py", line 19, in process_distgit_cb
    if not process_distgit(srcdir, enable_caching=False):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/rpmautospec/subcommands/process_distgit.py", line 96, in process_distgit
    result = processor.run(visitors=visitors)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/rpmautospec/pkg_history.py", line 720, in run
    visited_results = self._run_on_history(head, visitors=visitors, seed_info=seed_info)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/rpmautospec/pkg_history.py", line 686, in _run_on_history
    visited_results[commit] = reduce(
                              ^^^^^^^
  File "/usr/lib/python3.12/site-packages/rpmautospec/pkg_history.py", line 687, in <lambda>
    lambda commit_result, visitor: visitor.send((commit_result, parent_results)),
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/rpmautospec/pkg_history.py", line 446, in changelog_visitor
    if candidate["commit-id"] == parent_to_follow.id:
       ~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'commit-id'
---------------

This is what the git repo looks like

---------------
kde-partitionmanager (epel9)]$ git log -n2
commit e8f4b3bd55c0c76b41e5943747d89e1507bf9ca3 (HEAD -> epel9, origin/epel9)
Merge: cc3166b 77a9fcc
Author: Troy Dawson <tdawson>
Date:   Tue Apr 30 10:20:21 2024 -0700

    Merge branch epel9-next into epel9

commit 77a9fcc36350c2bb54f4971c5fb9a5ab4dc1b23a (origin/f39, origin/f38, origin/epel9-next, f39, epel9-next)
Author: Alessandro Astone <ales.astone>
Date:   Fri Feb 16 00:34:34 2024 +0100

    23.08.5
---------------
kpmcore (epel9)]$ git log -n2
commit 0ae7de895cc2b9aca799397350b5df1440c0005d (HEAD -> epel9, origin/epel9)
Merge: b49ef6d 9c04183
Author: Troy Dawson <tdawson>
Date:   Tue Apr 30 11:36:57 2024 -0700

    Merge branch epel9-next into epel9

commit 9c04183c9c74d100c662639c3811a672ca66f3a7 (origin/f39, origin/f38, origin/epel9-next, epel9-next)
Author: Alessandro Astone <ales.astone>
Date:   Fri Feb 16 00:34:34 2024 +0100

    23.08.5
---------------

Reproducible: Always

Steps to Reproduce:
1. koji build --scratch epel9 git+https://src.fedoraproject.org/rpms/kde-partitionmanager.git#e8f4b3bd55c0c76b41e5943747d89e1507bf9ca3
2. koji build --scratch epel9 git+https://src.fedoraproject.org/rpms/kpmcore.git#0ae7de895cc2b9aca799397350b5df1440c0005d
3.
Actual Results:  
Traceback and failures

Expected Results:  
A package builds

Comment 1 Nils Philippsen 2024-06-10 15:42:15 UTC
I’ll work on this upstream: https://github.com/fedora-infra/rpmautospec/issues/139

Comment 2 Nils Philippsen 2024-06-18 12:17:53 UTC
Here’s the upstream fix: https://github.com/fedora-infra/rpmautospec/pull/141

I need to roll a new release and deploy it to infra now.

Comment 3 Fedora Update System 2024-06-18 13:18:57 UTC
FEDORA-2024-d785f88580 (python-rpmautospec-0.6.5-1.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-d785f88580

Comment 4 Fedora Update System 2024-06-18 13:18:58 UTC
FEDORA-2024-fd291f0b1a (python-rpmautospec-0.6.5-1.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-fd291f0b1a

Comment 5 Fedora Update System 2024-06-18 13:18:58 UTC
FEDORA-EPEL-2024-599ba2f6ce (python-rpmautospec-0.6.5-1.el9) has been submitted as an update to Fedora EPEL 9.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2024-599ba2f6ce

Comment 6 Fedora Update System 2024-06-19 01:45:44 UTC
FEDORA-2024-fd291f0b1a has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-fd291f0b1a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-fd291f0b1a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2024-06-19 02:05:39 UTC
FEDORA-2024-d785f88580 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-d785f88580`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-d785f88580

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2024-06-19 02:12:42 UTC
FEDORA-EPEL-2024-599ba2f6ce has been pushed to the Fedora EPEL 9 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2024-599ba2f6ce

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2024-06-26 01:56:18 UTC
FEDORA-2024-d785f88580 (python-rpmautospec-0.6.5-1.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 10 Fedora Update System 2024-06-27 02:47:46 UTC
FEDORA-EPEL-2024-599ba2f6ce (python-rpmautospec-0.6.5-1.el9) has been pushed to the Fedora EPEL 9 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 11 Fedora Update System 2024-07-04 01:22:10 UTC
FEDORA-2024-fd291f0b1a (python-rpmautospec-0.6.5-1.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.