Bug 2278226

Summary: rpmautospec fails with KeyError: 'commit-id'
Product: [Fedora] Fedora Reporter: Troy Dawson <tdawson>
Component: python-rpmautospecAssignee: Nils Philippsen <nphilipp>
Status: ASSIGNED --- 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: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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