Your message dated Sun, 17 May 2026 14:33:52 +0530
with message-id 
<CAGnrDf0AUYYH+4BdjEJHRrh4tL0OQ=gqeryppbl3rvoff8q...@mail.gmail.com>
and subject line Re: gittuf: FTBFS randomly: targets_test.go:36: failed to run 
command
has caused the Debian Bug report #1104384,
regarding gittuf: FTBFS randomly:     targets_test.go:36: failed to run command 
/usr/bin/ssh-keygen -m rfc4716 -e -f 
/build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestTargetsMetadataAndDelegations-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
 exit status 255 ssh-keygen: 
/build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestTargetsMetadataAndDelegations-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
 No such file or directory
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1104384: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104384
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: gittuf
Version: 0.9.0-5
Severity: important
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20250428 ftbfs-trixie ftbfs-randomly

Hi,

Your package fails to build randomly on amd64: In the exact same
environment, sometimes it builds fine, and sometimes it fails.

Relevant part (hopefully):
> make[1]: Entering directory '/build/reproducible-path/gittuf-0.9.0'
> mkdir -pv /build/reproducible-path/gittuf-0.9.0/debian/gotmp
> mkdir: created directory '/build/reproducible-path/gittuf-0.9.0/debian/gotmp'
> env GOTMPDIR=/build/reproducible-path/gittuf-0.9.0/debian/gotmp 
> TMPDIR=/build/reproducible-path/gittuf-0.9.0/debian/gotmp \
>       dh_auto_test
>       cd _build && go test -vet=off -v -p 8 github.com/gittuf/gittuf 
> github.com/gittuf/gittuf/experimental/gittuf 
> github.com/gittuf/gittuf/experimental/gittuf/options/github 
> github.com/gittuf/gittuf/experimental/gittuf/options/root 
> github.com/gittuf/gittuf/experimental/gittuf/options/rsl 
> github.com/gittuf/gittuf/experimental/gittuf/options/verify 
> github.com/gittuf/gittuf/experimental/gittuf/options/verifymergeable 
> github.com/gittuf/gittuf/internal/attestations 
> github.com/gittuf/gittuf/internal/attestations/authorizations 
> github.com/gittuf/gittuf/internal/attestations/authorizations/v01 
> github.com/gittuf/gittuf/internal/attestations/authorizations/v02 
> github.com/gittuf/gittuf/internal/attestations/common 
> github.com/gittuf/gittuf/internal/attestations/github 
> github.com/gittuf/gittuf/internal/attestations/github/v01 
> github.com/gittuf/gittuf/internal/cache 
> github.com/gittuf/gittuf/internal/cmd/addhooks 
> github.com/gittuf/gittuf/internal/cmd/attest 
> github.com/gittuf/gittuf/internal/cmd/attest/authorize 
> github.com/gittuf/gittuf/internal/cmd/clone 
> github.com/gittuf/gittuf/internal/cmd/common 
> github.com/gittuf/gittuf/internal/cmd/dev 
> github.com/gittuf/gittuf/internal/cmd/dev/addgithubapproval 
> github.com/gittuf/gittuf/internal/cmd/dev/attestgithub 
> github.com/gittuf/gittuf/internal/cmd/dev/authorize 
> github.com/gittuf/gittuf/internal/cmd/dev/dismissgithubapproval 
> github.com/gittuf/gittuf/internal/cmd/dev/populatecache 
> github.com/gittuf/gittuf/internal/cmd/dev/rslrecordat 
> github.com/gittuf/gittuf/internal/cmd/policy 
> github.com/gittuf/gittuf/internal/cmd/policy/addkey 
> github.com/gittuf/gittuf/internal/cmd/policy/addperson 
> github.com/gittuf/gittuf/internal/cmd/policy/addrule 
> github.com/gittuf/gittuf/internal/cmd/policy/init 
> github.com/gittuf/gittuf/internal/cmd/policy/listprincipals 
> github.com/gittuf/gittuf/internal/cmd/policy/listrules 
> github.com/gittuf/gittuf/internal/cmd/policy/persistent 
> github.com/gittuf/gittuf/internal/cmd/policy/removekey 
> github.com/gittuf/gittuf/internal/cmd/policy/removeperson 
> github.com/gittuf/gittuf/internal/cmd/policy/removerule 
> github.com/gittuf/gittuf/internal/cmd/policy/reorderrules 
> github.com/gittuf/gittuf/internal/cmd/policy/sign 
> github.com/gittuf/gittuf/internal/cmd/policy/tui 
> github.com/gittuf/gittuf/internal/cmd/policy/updaterule 
> github.com/gittuf/gittuf/internal/cmd/profile 
> github.com/gittuf/gittuf/internal/cmd/root 
> github.com/gittuf/gittuf/internal/cmd/rsl 
> github.com/gittuf/gittuf/internal/cmd/rsl/annotate 
> github.com/gittuf/gittuf/internal/cmd/rsl/log 
> github.com/gittuf/gittuf/internal/cmd/rsl/propagate 
> github.com/gittuf/gittuf/internal/cmd/rsl/record 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote/check 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote/pull 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote/push 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote/reconcile 
> github.com/gittuf/gittuf/internal/cmd/rsl/skiprewritten 
> github.com/gittuf/gittuf/internal/cmd/trust 
> github.com/gittuf/gittuf/internal/cmd/trust/addgithubapp 
> github.com/gittuf/gittuf/internal/cmd/trust/addglobalrule 
> github.com/gittuf/gittuf/internal/cmd/trust/addpolicykey 
> github.com/gittuf/gittuf/internal/cmd/trust/addpropagationdirective 
> github.com/gittuf/gittuf/internal/cmd/trust/addrootkey 
> github.com/gittuf/gittuf/internal/cmd/trust/disablegithubappapprovals 
> github.com/gittuf/gittuf/internal/cmd/trust/enablegithubappapprovals 
> github.com/gittuf/gittuf/internal/cmd/trust/init 
> github.com/gittuf/gittuf/internal/cmd/trust/persistent 
> github.com/gittuf/gittuf/internal/cmd/trust/removegithubapp 
> github.com/gittuf/gittuf/internal/cmd/trust/removeglobalrule 
> github.com/gittuf/gittuf/internal/cmd/trust/removepolicykey 
> github.com/gittuf/gittuf/internal/cmd/trust/removepropagationdirective 
> github.com/gittuf/gittuf/internal/cmd/trust/removerootkey 
> github.com/gittuf/gittuf/internal/cmd/trust/setrepositorylocation 
> github.com/gittuf/gittuf/internal/cmd/trust/sign 
> github.com/gittuf/gittuf/internal/cmd/trust/updatepolicythreshold 
> github.com/gittuf/gittuf/internal/cmd/trust/updaterootthreshold 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/apply 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/discard 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote/pull 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote/push 
> github.com/gittuf/gittuf/internal/cmd/verifymergeable 
> github.com/gittuf/gittuf/internal/cmd/verifyref 
> github.com/gittuf/gittuf/internal/cmd/version 
> github.com/gittuf/gittuf/internal/common 
> github.com/gittuf/gittuf/internal/common/set 
> github.com/gittuf/gittuf/internal/dev 
> github.com/gittuf/gittuf/internal/display 
> github.com/gittuf/gittuf/internal/git-remote-gittuf 
> github.com/gittuf/gittuf/internal/gitinterface 
> github.com/gittuf/gittuf/internal/policy 
> github.com/gittuf/gittuf/internal/rsl 
> github.com/gittuf/gittuf/internal/signerverifier/common 
> github.com/gittuf/gittuf/internal/signerverifier/dsse 
> github.com/gittuf/gittuf/internal/signerverifier/gpg 
> github.com/gittuf/gittuf/internal/signerverifier/sigstore 
> github.com/gittuf/gittuf/internal/signerverifier/sigstore/options/signer 
> github.com/gittuf/gittuf/internal/signerverifier/sigstore/options/verifier 
> github.com/gittuf/gittuf/internal/signerverifier/ssh 
> github.com/gittuf/gittuf/internal/testartifacts 
> github.com/gittuf/gittuf/internal/third_party/go-securesystemslib/dsse 
> github.com/gittuf/gittuf/internal/tuf 
> github.com/gittuf/gittuf/internal/tuf/migrations 
> github.com/gittuf/gittuf/internal/tuf/v01 
> github.com/gittuf/gittuf/internal/tuf/v02 
> github.com/gittuf/gittuf/internal/version
> ?     github.com/gittuf/gittuf        [no test files]
> === RUN   TestAddAndRemoveReferenceAuthorization
> === RUN   TestAddAndRemoveReferenceAuthorization/for_commit
> === RUN   TestAddAndRemoveReferenceAuthorization/for_tag
> --- PASS: TestAddAndRemoveReferenceAuthorization (0.64s)
>     --- PASS: TestAddAndRemoveReferenceAuthorization/for_commit (0.44s)
>     --- PASS: TestAddAndRemoveReferenceAuthorization/for_tag (0.20s)
> === RUN   TestGetGitHubPullRequestApprovalPredicateFromEnvelope
> --- PASS: TestGetGitHubPullRequestApprovalPredicateFromEnvelope (0.00s)
> === RUN   TestIndexPathToComponents
> --- PASS: TestIndexPathToComponents (0.00s)
> === RUN   TestPopulateCache
> === RUN   TestPopulateCache/successful_cache_population
> === RUN   TestPopulateCache/successful_repeated_cache_population
> --- PASS: TestPopulateCache (1.25s)
>     --- PASS: TestPopulateCache/successful_cache_population (0.64s)
>     --- PASS: TestPopulateCache/successful_repeated_cache_population (0.61s)
> === RUN   TestUpdatePrePushHook
> === RUN   TestUpdatePrePushHook/write_hook
> === RUN   TestUpdatePrePushHook/hook_exists
> === RUN   TestUpdatePrePushHook/force_overwrite_hook
> --- PASS: TestUpdatePrePushHook (0.04s)
>     --- PASS: TestUpdatePrePushHook/write_hook (0.01s)
>     --- PASS: TestUpdatePrePushHook/hook_exists (0.01s)
>     --- PASS: TestUpdatePrePushHook/force_overwrite_hook (0.01s)
> === RUN   TestLoadSigner
> --- PASS: TestLoadSigner (0.04s)
> === RUN   TestPushPolicy
> === RUN   TestPushPolicy/successful_push
> === RUN   TestPushPolicy/divergent_policies,_unsuccessful_push
> --- PASS: TestPushPolicy (1.28s)
>     --- PASS: TestPushPolicy/successful_push (0.68s)
>     --- PASS: TestPushPolicy/divergent_policies,_unsuccessful_push (0.60s)
> === RUN   TestPullPolicy
> === RUN   TestPullPolicy/successful_pull
> === RUN   TestPullPolicy/divergent_policies,_unsuccessful_pull
> --- PASS: TestPullPolicy (1.66s)
>     --- PASS: TestPullPolicy/successful_pull (0.67s)
>     --- PASS: TestPullPolicy/divergent_policies,_unsuccessful_pull (0.99s)
> === RUN   TestDiscardPolicy
> === RUN   TestDiscardPolicy/successful_discard_with_existing_policy
> === RUN   TestDiscardPolicy/discard_with_no_policy_references
> === RUN   TestDiscardPolicy/discard_after_policy_changes
> --- PASS: TestDiscardPolicy (1.48s)
>     --- PASS: TestDiscardPolicy/successful_discard_with_existing_policy 
> (0.71s)
>     --- PASS: TestDiscardPolicy/discard_with_no_policy_references (0.02s)
>     --- PASS: TestDiscardPolicy/discard_after_policy_changes (0.74s)
> === RUN   TestLoadRepository
> === RUN   TestLoadRepository/load_with_no_repo,_unsuccessful
> === RUN   TestLoadRepository/successful_load
> --- PASS: TestLoadRepository (0.04s)
>     --- PASS: TestLoadRepository/load_with_no_repo,_unsuccessful (0.00s)
>     --- PASS: TestLoadRepository/successful_load (0.03s)
> === RUN   TestUnauthorizedKey
> === RUN   TestUnauthorizedKey/test_add_targets_key
> === RUN   TestUnauthorizedKey/test_remove_targets_key
> --- PASS: TestUnauthorizedKey (0.15s)
>     --- PASS: TestUnauthorizedKey/test_add_targets_key (0.04s)
>     --- PASS: TestUnauthorizedKey/test_remove_targets_key (0.03s)
> === RUN   TestGetGitRepository
> --- PASS: TestGetGitRepository (0.02s)
> === RUN   TestInitializeRoot
> === RUN   TestInitializeRoot/no_repository_location
> === RUN   TestInitializeRoot/with_repository_location
> --- PASS: TestInitializeRoot (0.40s)
>     --- PASS: TestInitializeRoot/no_repository_location (0.18s)
>     --- PASS: TestInitializeRoot/with_repository_location (0.21s)
> === RUN   TestSetRepositoryLocation
> --- PASS: TestSetRepositoryLocation (0.26s)
> === RUN   TestAddRootKey
> --- PASS: TestAddRootKey (0.31s)
> === RUN   TestRemoveRootKey
> --- PASS: TestRemoveRootKey (0.61s)
> === RUN   TestAddTopLevelTargetsKey
> --- PASS: TestAddTopLevelTargetsKey (0.25s)
> === RUN   TestRemoveTopLevelTargetsKey
> --- PASS: TestRemoveTopLevelTargetsKey (0.44s)
> === RUN   TestAddGitHubApp
> --- PASS: TestAddGitHubApp (0.20s)
> === RUN   TestRemoveGitHubApp
> --- PASS: TestRemoveGitHubApp (0.50s)
> === RUN   TestTrustGitHubApp
> === RUN   TestTrustGitHubApp/GitHub_app_role_not_defined
> === RUN   TestTrustGitHubApp/GitHub_app_role_defined
> --- PASS: TestTrustGitHubApp (0.68s)
>     --- PASS: TestTrustGitHubApp/GitHub_app_role_not_defined (0.27s)
>     --- PASS: TestTrustGitHubApp/GitHub_app_role_defined (0.40s)
> === RUN   TestUntrustGitHubApp
> --- PASS: TestUntrustGitHubApp (0.61s)
> === RUN   TestUpdateRootThreshold
> --- PASS: TestUpdateRootThreshold (0.41s)
> === RUN   TestUpdateTopLevelTargetsThreshold
> --- PASS: TestUpdateTopLevelTargetsThreshold (0.50s)
> === RUN   TestSignRoot
> --- PASS: TestSignRoot (0.32s)
> === RUN   TestAddGlobalRuleThreshold
> --- PASS: TestAddGlobalRuleThreshold (0.31s)
> === RUN   TestAddGlobalRuleBlockForcePushes
> --- PASS: TestAddGlobalRuleBlockForcePushes (0.36s)
> === RUN   TestRemoveGlobalRule
> === RUN   TestRemoveGlobalRule/remove_threshold_global_rule
> === RUN   TestRemoveGlobalRule/remove_force_push_global_rule
> === RUN   TestRemoveGlobalRule/remove_global_rule_when_none_exist
> --- PASS: TestRemoveGlobalRule (0.95s)
>     --- PASS: TestRemoveGlobalRule/remove_threshold_global_rule (0.45s)
>     --- PASS: TestRemoveGlobalRule/remove_force_push_global_rule (0.36s)
>     --- PASS: TestRemoveGlobalRule/remove_global_rule_when_none_exist (0.15s)
> === RUN   TestAddPropagationDirective
> === RUN   TestAddPropagationDirective/with_tuf_v01_metadata
> === RUN   TestAddPropagationDirective/with_tuf_v02_metadata
> --- PASS: TestAddPropagationDirective (0.42s)
>     --- PASS: TestAddPropagationDirective/with_tuf_v01_metadata (0.20s)
>     --- PASS: TestAddPropagationDirective/with_tuf_v02_metadata (0.21s)
> === RUN   TestRemovePropagationDirective
> === RUN   TestRemovePropagationDirective/with_tuf_v01_metadata
> === RUN   TestRemovePropagationDirective/with_tuf_v02_metadata
> --- PASS: TestRemovePropagationDirective (0.77s)
>     --- PASS: TestRemovePropagationDirective/with_tuf_v01_metadata (0.36s)
>     --- PASS: TestRemovePropagationDirective/with_tuf_v02_metadata (0.41s)
> === RUN   TestRecordRSLEntryForReference
> --- PASS: TestRecordRSLEntryForReference (0.12s)
> === RUN   TestRecordRSLEntryForReferenceAtTarget
> === RUN   TestRecordRSLEntryForReferenceAtTarget/using_GPG_key
> === RUN   TestRecordRSLEntryForReferenceAtTarget/using_RSA_SSH_key
> === RUN   TestRecordRSLEntryForReferenceAtTarget/using_ECDSA_ssh_key
> --- PASS: TestRecordRSLEntryForReferenceAtTarget (0.47s)
>     --- PASS: TestRecordRSLEntryForReferenceAtTarget/using_GPG_key (0.19s)
>     --- PASS: TestRecordRSLEntryForReferenceAtTarget/using_RSA_SSH_key (0.15s)
>     --- PASS: TestRecordRSLEntryForReferenceAtTarget/using_ECDSA_ssh_key 
> (0.13s)
> === RUN   TestRecordRSLAnnotation
> --- PASS: TestRecordRSLAnnotation (0.07s)
> === RUN   TestReconcileLocalRSLWithRemote
> === RUN   TestReconcileLocalRSLWithRemote/remote_has_updates_for_local
> === RUN   TestReconcileLocalRSLWithRemote/remote_has_no_updates_for_local
> === RUN   TestReconcileLocalRSLWithRemote/local_is_ahead_of_remote
> === RUN   TestReconcileLocalRSLWithRemote/remote_and_local_have_diverged
> === RUN   
> TestReconcileLocalRSLWithRemote/remote_and_local_have_diverged_but_modify_same_ref
> --- PASS: TestReconcileLocalRSLWithRemote (0.77s)
>     --- PASS: TestReconcileLocalRSLWithRemote/remote_has_updates_for_local 
> (0.13s)
>     --- PASS: TestReconcileLocalRSLWithRemote/remote_has_no_updates_for_local 
> (0.08s)
>     --- PASS: TestReconcileLocalRSLWithRemote/local_is_ahead_of_remote (0.10s)
>     --- PASS: TestReconcileLocalRSLWithRemote/remote_and_local_have_diverged 
> (0.24s)
>     --- PASS: 
> TestReconcileLocalRSLWithRemote/remote_and_local_have_diverged_but_modify_same_ref
>  (0.22s)
> === RUN   TestCheckRemoteRSLForUpdates
> === RUN   TestCheckRemoteRSLForUpdates/remote_has_updates_for_local
> === RUN   TestCheckRemoteRSLForUpdates/remote_has_no_updates_for_local
> === RUN   TestCheckRemoteRSLForUpdates/local_is_ahead_of_remote
> === RUN   TestCheckRemoteRSLForUpdates/remote_and_local_have_diverged
> --- PASS: TestCheckRemoteRSLForUpdates (0.49s)
>     --- PASS: TestCheckRemoteRSLForUpdates/remote_has_updates_for_local 
> (0.12s)
>     --- PASS: TestCheckRemoteRSLForUpdates/remote_has_no_updates_for_local 
> (0.08s)
>     --- PASS: TestCheckRemoteRSLForUpdates/local_is_ahead_of_remote (0.11s)
>     --- PASS: TestCheckRemoteRSLForUpdates/remote_and_local_have_diverged 
> (0.17s)
> === RUN   TestPushRSL
> === RUN   TestPushRSL/successful_push
> === RUN   TestPushRSL/divergent_RSLs,_unsuccessful_push
> --- PASS: TestPushRSL (1.29s)
>     --- PASS: TestPushRSL/successful_push (0.65s)
>     --- PASS: TestPushRSL/divergent_RSLs,_unsuccessful_push (0.64s)
> === RUN   TestPullRSL
> === RUN   TestPullRSL/successful_pull
> === RUN   TestPullRSL/divergent_RSLs,_unsuccessful_pull
> --- PASS: TestPullRSL (1.09s)
>     --- PASS: TestPullRSL/successful_pull (0.55s)
>     --- PASS: TestPullRSL/divergent_RSLs,_unsuccessful_pull (0.54s)
> === RUN   TestPropagateChangesFromUpstreamRepositories
> === RUN   TestPropagateChangesFromUpstreamRepositories/single_upstream_repo
> === RUN   
> TestPropagateChangesFromUpstreamRepositories/single_upstream_repo,_multiple_upstream_refs_into_same_downstream_ref
> === RUN   
> TestPropagateChangesFromUpstreamRepositories/single_upstream_repo,_multiple_upstream_refs_into_different_downstream_refs
> === RUN   TestPropagateChangesFromUpstreamRepositories/multiple_upstream_repos
> --- PASS: TestPropagateChangesFromUpstreamRepositories (4.81s)
>     --- PASS: 
> TestPropagateChangesFromUpstreamRepositories/single_upstream_repo (1.03s)
>     --- PASS: 
> TestPropagateChangesFromUpstreamRepositories/single_upstream_repo,_multiple_upstream_refs_into_same_downstream_ref
>  (1.23s)
>     --- PASS: 
> TestPropagateChangesFromUpstreamRepositories/single_upstream_repo,_multiple_upstream_refs_into_different_downstream_refs
>  (1.21s)
>     --- PASS: 
> TestPropagateChangesFromUpstreamRepositories/multiple_upstream_repos (1.35s)
> === RUN   TestClone
> === RUN   TestClone/successful_clone_without_specifying_dir,_bare
> === RUN   TestClone/successful_clone_with_dir,_bare
> === RUN   
> TestClone/successful_clone_without_specifying_dir,_with_non-HEAD_initial_branch,_bare
> === RUN   
> TestClone/unsuccessful_clone_when_unspecified_dir_already_exists,_bare
> === RUN   TestClone/unsuccessful_clone_when_specified_dir_already_exists,_bare
> === RUN   
> TestClone/successful_clone_without_specifying_dir,_with_trailing_slashes_in_repository_path,_bare
> === RUN   
> TestClone/successful_clone_without_specifying_dir,_with_multiple_expected_root_keys,_bare
> === RUN   
> TestClone/unsuccessful_clone_without_specifying_dir,_with_expected_root_keys_not_equaling_root_keys,_bare
> === RUN   TestClone/successful_clone_without_specifying_dir,_not_bare
> === RUN   TestClone/successful_clone_with_dir,_not_bare
> === RUN   
> TestClone/successful_clone_without_specifying_dir,_with_non-HEAD_initial_branch,_not_bare
> === RUN   
> TestClone/unsuccessful_clone_when_unspecified_dir_already_exists,_not_bare
> === RUN   
> TestClone/unsuccessful_clone_when_specified_dir_already_exists,_not_bare
> === RUN   
> TestClone/successful_clone_without_specifying_dir,_with_trailing_slashes_in_repository_path,_not_bare
> === RUN   
> TestClone/successful_clone_without_specifying_dir,_with_multiple_expected_root_keys,_not_bare
> === RUN   
> TestClone/unsuccessful_clone_without_specifying_dir,_with_expected_root_keys_not_equaling_root_keys,_not_bare
> --- PASS: TestClone (1.97s)
>     --- PASS: TestClone/successful_clone_without_specifying_dir,_bare (0.08s)
>     --- PASS: TestClone/successful_clone_with_dir,_bare (0.08s)
>     --- PASS: 
> TestClone/successful_clone_without_specifying_dir,_with_non-HEAD_initial_branch,_bare
>  (0.08s)
>     --- PASS: 
> TestClone/unsuccessful_clone_when_unspecified_dir_already_exists,_bare (0.07s)
>     --- PASS: 
> TestClone/unsuccessful_clone_when_specified_dir_already_exists,_bare (0.00s)
>     --- PASS: 
> TestClone/successful_clone_without_specifying_dir,_with_trailing_slashes_in_repository_path,_bare
>  (0.12s)
>     --- PASS: 
> TestClone/successful_clone_without_specifying_dir,_with_multiple_expected_root_keys,_bare
>  (0.14s)
>     --- PASS: 
> TestClone/unsuccessful_clone_without_specifying_dir,_with_expected_root_keys_not_equaling_root_keys,_bare
>  (0.07s)
>     --- PASS: TestClone/successful_clone_without_specifying_dir,_not_bare 
> (0.09s)
>     --- PASS: TestClone/successful_clone_with_dir,_not_bare (0.11s)
>     --- PASS: 
> TestClone/successful_clone_without_specifying_dir,_with_non-HEAD_initial_branch,_not_bare
>  (0.15s)
>     --- PASS: 
> TestClone/unsuccessful_clone_when_unspecified_dir_already_exists,_not_bare 
> (0.10s)
>     --- PASS: 
> TestClone/unsuccessful_clone_when_specified_dir_already_exists,_not_bare 
> (0.00s)
>     --- PASS: 
> TestClone/successful_clone_without_specifying_dir,_with_trailing_slashes_in_repository_path,_not_bare
>  (0.14s)
>     --- PASS: 
> TestClone/successful_clone_without_specifying_dir,_with_multiple_expected_root_keys,_not_bare
>  (0.15s)
>     --- PASS: 
> TestClone/unsuccessful_clone_without_specifying_dir,_with_expected_root_keys_not_equaling_root_keys,_not_bare
>  (0.09s)
> === RUN   TestInitializeTargets
> === RUN   TestInitializeTargets/successful_initialization
> === RUN   TestInitializeTargets/invalid_role_name
> --- PASS: TestInitializeTargets (0.70s)
>     --- PASS: TestInitializeTargets/successful_initialization (0.50s)
>     --- PASS: TestInitializeTargets/invalid_role_name (0.19s)
> === RUN   TestAddDelegation
> === RUN   TestAddDelegation/valid_rule_/_delegation_name
> === RUN   TestAddDelegation/invalid_rule_name
> --- PASS: TestAddDelegation (1.36s)
>     --- PASS: TestAddDelegation/valid_rule_/_delegation_name (0.81s)
>     --- PASS: TestAddDelegation/invalid_rule_name (0.55s)
> === RUN   TestUpdateDelegation
> --- PASS: TestUpdateDelegation (0.83s)
> === RUN   TestReorderDelegations
> --- PASS: TestReorderDelegations (1.17s)
> === RUN   TestRemoveDelegation
> --- PASS: TestRemoveDelegation (0.87s)
> === RUN   TestAddPrincipalToTargets
> --- PASS: TestAddPrincipalToTargets (0.71s)
> === RUN   TestRemovePrincicpalFromTargets
> --- PASS: TestRemovePrincicpalFromTargets (0.83s)
> === RUN   TestSignTargets
> --- PASS: TestSignTargets (0.82s)
> === RUN   TestVerifyRef
> --- PASS: TestVerifyRef (1.17s)
> === RUN   TestVerifyRefFromEntry
> --- PASS: TestVerifyRefFromEntry (1.40s)
> PASS
> ok    github.com/gittuf/gittuf/experimental/gittuf    35.851s
> ?     github.com/gittuf/gittuf/experimental/gittuf/options/github     [no 
> test files]
> ?     github.com/gittuf/gittuf/experimental/gittuf/options/root       [no 
> test files]
> ?     github.com/gittuf/gittuf/experimental/gittuf/options/rsl        [no 
> test files]
> ?     github.com/gittuf/gittuf/experimental/gittuf/options/verify     [no 
> test files]
> ?     github.com/gittuf/gittuf/experimental/gittuf/options/verifymergeable    
> [no test files]
> === RUN   TestLoadCurrentAttestations
> === RUN   TestLoadCurrentAttestations/no_RSL_entry
> === RUN   TestLoadCurrentAttestations/with_RSL_entry_and_with_an_attestation
> --- PASS: TestLoadCurrentAttestations (0.09s)
>     --- PASS: TestLoadCurrentAttestations/no_RSL_entry (0.01s)
>     --- PASS: 
> TestLoadCurrentAttestations/with_RSL_entry_and_with_an_attestation (0.07s)
> === RUN   TestLoadAttestationsForEntry
> === RUN   TestLoadAttestationsForEntry/with_RSL_entry_and_no_an_attestation
> === RUN   TestLoadAttestationsForEntry/with_RSL_entry_and_with_an_attestation
> --- PASS: TestLoadAttestationsForEntry (0.10s)
>     --- PASS: 
> TestLoadAttestationsForEntry/with_RSL_entry_and_no_an_attestation (0.04s)
>     --- PASS: 
> TestLoadAttestationsForEntry/with_RSL_entry_and_with_an_attestation (0.05s)
> === RUN   TestAttestationsCommit
> --- PASS: TestAttestationsCommit (0.08s)
> === RUN   TestSetReferenceAuthorization
> === RUN   TestSetReferenceAuthorization/for_commit
> === RUN   TestSetReferenceAuthorization/for_tag
> --- PASS: TestSetReferenceAuthorization (0.04s)
>     --- PASS: TestSetReferenceAuthorization/for_commit (0.02s)
>     --- PASS: TestSetReferenceAuthorization/for_tag (0.02s)
> === RUN   TestRemoveReferenceAuthorization
> === RUN   TestRemoveReferenceAuthorization/for_commit
> === RUN   TestRemoveReferenceAuthorization/for_tag
> --- PASS: TestRemoveReferenceAuthorization (0.04s)
>     --- PASS: TestRemoveReferenceAuthorization/for_commit (0.02s)
>     --- PASS: TestRemoveReferenceAuthorization/for_tag (0.02s)
> === RUN   TestGetReferenceAuthorizationFor
> === RUN   TestGetReferenceAuthorizationFor/for_commit
> === RUN   TestGetReferenceAuthorizationFor/for_tag
> --- PASS: TestGetReferenceAuthorizationFor (0.05s)
>     --- PASS: TestGetReferenceAuthorizationFor/for_commit (0.03s)
>     --- PASS: TestGetReferenceAuthorizationFor/for_tag (0.02s)
> === RUN   TestSetGitHubPullRequestApprovalAttestation
> --- PASS: TestSetGitHubPullRequestApprovalAttestation (0.02s)
> === RUN   TestGetGitHubPullRequestApprovalAttestation
> --- PASS: TestGetGitHubPullRequestApprovalAttestation (0.03s)
> PASS
> ok    github.com/gittuf/gittuf/internal/attestations  0.463s
> ?     github.com/gittuf/gittuf/internal/attestations/authorizations   [no 
> test files]
> === RUN   TestNewReferenceAuthorization
> --- PASS: TestNewReferenceAuthorization (0.00s)
> === RUN   TestValidate
> --- PASS: TestValidate (0.00s)
> PASS
> ok    github.com/gittuf/gittuf/internal/attestations/authorizations/v01       
> 0.023s
> === RUN   TestNewReferenceAuthorization
> === RUN   TestNewReferenceAuthorization/for_commit
> === RUN   TestNewReferenceAuthorization/for_tag
> --- PASS: TestNewReferenceAuthorization (0.00s)
>     --- PASS: TestNewReferenceAuthorization/for_commit (0.00s)
>     --- PASS: TestNewReferenceAuthorization/for_tag (0.00s)
> === RUN   TestValidate
> === RUN   TestValidate/for_commit
> === RUN   TestValidate/for_tag
> === RUN   TestValidate/invalid_subject
> === RUN   TestValidate/mismatch_ref_(non_tag)_and_subject_digest_key_(commit)
> --- PASS: TestValidate (0.00s)
>     --- PASS: TestValidate/for_commit (0.00s)
>     --- PASS: TestValidate/for_tag (0.00s)
>     --- PASS: TestValidate/invalid_subject (0.00s)
>     --- PASS: 
> TestValidate/mismatch_ref_(non_tag)_and_subject_digest_key_(commit) (0.00s)
> PASS
> ok    github.com/gittuf/gittuf/internal/attestations/authorizations/v02       
> 0.030s
> ?     github.com/gittuf/gittuf/internal/attestations/common   [no test files]
> ?     github.com/gittuf/gittuf/internal/attestations/github   [no test files]
> === RUN   TestNewGitHubPullRequestApprovalAttestation
> --- PASS: TestNewGitHubPullRequestApprovalAttestation (0.00s)
> === RUN   TestValidatePullRequestApproval
> --- PASS: TestValidatePullRequestApproval (0.00s)
> PASS
> ok    github.com/gittuf/gittuf/internal/attestations/github/v01       0.026s
> ?     github.com/gittuf/gittuf/internal/cache [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/addhooks  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/attest    [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/attest/authorize  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/clone     [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/common    [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/dev       [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/dev/addgithubapproval     [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/dev/attestgithub  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/dev/authorize     [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/dev/dismissgithubapproval [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/dev/populatecache [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/dev/rslrecordat   [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy    [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/addkey     [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/addperson  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/addrule    [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/init       [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/listprincipals     [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/listrules  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/persistent [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/removekey  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/removeperson       [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/removerule [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/reorderrules       [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/sign       [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/tui        [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/policy/updaterule [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/profile   [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/root      [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl       [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/annotate      [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/log   [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/propagate     [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/record        [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/remote        [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/remote/check  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/remote/pull   [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/remote/push   [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/remote/reconcile      [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/rsl/skiprewritten [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust     [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/addgithubapp        [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/addglobalrule       [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/addpolicykey        [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/addpropagationdirective     
> [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/addrootkey  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/disablegithubappapprovals   
> [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/enablegithubappapprovals    
> [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/init        [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/persistent  [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/removegithubapp     [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/removeglobalrule    [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/removepolicykey     [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/removepropagationdirective  
> [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/removerootkey       [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/setrepositorylocation       
> [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/sign        [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/updatepolicythreshold       
> [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trust/updaterootthreshold [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trustpolicy/apply [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trustpolicy/discard       [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote        [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote/pull   [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote/push   [no 
> test files]
> ?     github.com/gittuf/gittuf/internal/cmd/verifymergeable   [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/verifyref [no test files]
> ?     github.com/gittuf/gittuf/internal/cmd/version   [no test files]
> ?     github.com/gittuf/gittuf/internal/common        [no test files]
> ?     github.com/gittuf/gittuf/internal/common/set    [no test files]
> ?     github.com/gittuf/gittuf/internal/dev   [no test files]
> === RUN   TestColorer
> === RUN   TestColorer/colorer_on
> === RUN   TestColorer/colorer_off
> --- PASS: TestColorer (0.00s)
>     --- PASS: TestColorer/colorer_on (0.00s)
>     --- PASS: TestColorer/colorer_off (0.00s)
> === RUN   TestNewDisplayWriter
> === RUN   TestNewDisplayWriter/without_paging
> === RUN   TestNewDisplayWriter/with_paging
> --- PASS: TestNewDisplayWriter (0.00s)
>     --- PASS: TestNewDisplayWriter/without_paging (0.00s)
>     --- PASS: TestNewDisplayWriter/with_paging (0.00s)
> === RUN   TestRSLLog
> --- PASS: TestRSLLog (0.21s)
> === RUN   TestWriteRSLReferenceEntry
> === RUN   TestWriteRSLReferenceEntry/simple_without_number,_no_parent
> === RUN   TestWriteRSLReferenceEntry/simple_without_number,_has_parent
> === RUN   TestWriteRSLReferenceEntry/simple_with_number,_no_parent
> === RUN   TestWriteRSLReferenceEntry/simple_with_number,_has_parent
> === RUN   TestWriteRSLReferenceEntry/with_skip_annotation,_no_parent
> === RUN   TestWriteRSLReferenceEntry/with_skip_annotation,_has_parent
> === RUN   TestWriteRSLReferenceEntry/with_non-skip_annotation,_no_parent
> === RUN   TestWriteRSLReferenceEntry/with_non-skip_annotation,_has_parent
> === RUN   
> TestWriteRSLReferenceEntry/with_non-skip_annotation,_no_parent,_annotation_message_has_trailing_newline
> === RUN   
> TestWriteRSLReferenceEntry/with_non-skip_annotation,_has_parent,_annotation_message_has_trailing_newline
> --- PASS: TestWriteRSLReferenceEntry (0.35s)
>     --- PASS: TestWriteRSLReferenceEntry/simple_without_number,_no_parent 
> (0.00s)
>     --- PASS: TestWriteRSLReferenceEntry/simple_without_number,_has_parent 
> (0.00s)
>     --- PASS: TestWriteRSLReferenceEntry/simple_with_number,_no_parent (0.00s)
>     --- PASS: TestWriteRSLReferenceEntry/simple_with_number,_has_parent 
> (0.00s)
>     --- PASS: TestWriteRSLReferenceEntry/with_skip_annotation,_no_parent 
> (0.06s)
>     --- PASS: TestWriteRSLReferenceEntry/with_skip_annotation,_has_parent 
> (0.05s)
>     --- PASS: TestWriteRSLReferenceEntry/with_non-skip_annotation,_no_parent 
> (0.06s)
>     --- PASS: TestWriteRSLReferenceEntry/with_non-skip_annotation,_has_parent 
> (0.05s)
>     --- PASS: 
> TestWriteRSLReferenceEntry/with_non-skip_annotation,_no_parent,_annotation_message_has_trailing_newline
>  (0.05s)
>     --- PASS: 
> TestWriteRSLReferenceEntry/with_non-skip_annotation,_has_parent,_annotation_message_has_trailing_newline
>  (0.07s)
> === RUN   TestWriteRSLPropagationEntry
> === RUN   TestWriteRSLPropagationEntry/simple,_without_number,_without_parent
> === RUN   TestWriteRSLPropagationEntry/simple,_with_number,_without_parent
> === RUN   TestWriteRSLPropagationEntry/simple,_without_number,_with_parent
> === RUN   TestWriteRSLPropagationEntry/simple,_with_number,_with_parent
> --- PASS: TestWriteRSLPropagationEntry (0.00s)
>     --- PASS: 
> TestWriteRSLPropagationEntry/simple,_without_number,_without_parent (0.00s)
>     --- PASS: 
> TestWriteRSLPropagationEntry/simple,_with_number,_without_parent (0.00s)
>     --- PASS: 
> TestWriteRSLPropagationEntry/simple,_without_number,_with_parent (0.00s)
>     --- PASS: TestWriteRSLPropagationEntry/simple,_with_number,_with_parent 
> (0.00s)
> PASS
> ok    github.com/gittuf/gittuf/internal/display       0.592s
> ?     github.com/gittuf/gittuf/internal/git-remote-gittuf     [no test files]
> === RUN   TestRepositoryReadBlob
> === RUN   TestRepositoryReadBlob/read_existing_blob
> === RUN   TestRepositoryReadBlob/read_non-existing_blob
> --- PASS: TestRepositoryReadBlob (0.02s)
>     --- PASS: TestRepositoryReadBlob/read_existing_blob (0.00s)
>     --- PASS: TestRepositoryReadBlob/read_non-existing_blob (0.00s)
> === RUN   TestRepositoryWriteBlob
> --- PASS: TestRepositoryWriteBlob (0.02s)
> === RUN   TestGetFilePathsChangedByCommitRepository
> === RUN   TestGetFilePathsChangedByCommitRepository/modify_single_file
> === RUN   TestGetFilePathsChangedByCommitRepository/rename_single_file
> === RUN   TestGetFilePathsChangedByCommitRepository/swap_two_files_around
> === RUN   TestGetFilePathsChangedByCommitRepository/create_new_file
> === RUN   TestGetFilePathsChangedByCommitRepository/delete_file
> === RUN   
> TestGetFilePathsChangedByCommitRepository/modify_file_and_create_new_file
> === RUN   TestGetFilePathsChangedByCommitRepository/no_parent
> === RUN   
> TestGetFilePathsChangedByCommitRepository/merge_commit_with_commit_matching_parent
> === RUN   
> TestGetFilePathsChangedByCommitRepository/merge_commit_with_no_matching_parent
> === RUN   
> TestGetFilePathsChangedByCommitRepository/merge_commit_with_overlapping_parent_trees
> --- PASS: TestGetFilePathsChangedByCommitRepository (0.50s)
>     --- PASS: TestGetFilePathsChangedByCommitRepository/modify_single_file 
> (0.03s)
>     --- PASS: TestGetFilePathsChangedByCommitRepository/rename_single_file 
> (0.04s)
>     --- PASS: TestGetFilePathsChangedByCommitRepository/swap_two_files_around 
> (0.04s)
>     --- PASS: TestGetFilePathsChangedByCommitRepository/create_new_file 
> (0.03s)
>     --- PASS: TestGetFilePathsChangedByCommitRepository/delete_file (0.05s)
>     --- PASS: 
> TestGetFilePathsChangedByCommitRepository/modify_file_and_create_new_file 
> (0.05s)
>     --- PASS: TestGetFilePathsChangedByCommitRepository/no_parent (0.02s)
>     --- PASS: 
> TestGetFilePathsChangedByCommitRepository/merge_commit_with_commit_matching_parent
>  (0.06s)
>     --- PASS: 
> TestGetFilePathsChangedByCommitRepository/merge_commit_with_no_matching_parent
>  (0.07s)
>     --- PASS: 
> TestGetFilePathsChangedByCommitRepository/merge_commit_with_overlapping_parent_trees
>  (0.10s)
> === RUN   TestRepositoryCommit
> --- PASS: TestRepositoryCommit (0.10s)
> === RUN   TestRepositoryCommitUsingSpecificKey
> --- PASS: TestRepositoryCommitUsingSpecificKey (0.10s)
> === RUN   TestCommitUsingSpecificKey
> --- PASS: TestCommitUsingSpecificKey (0.08s)
> === RUN   TestRepositoryVerifyCommit
> === RUN   TestRepositoryVerifyCommit/ssh_signed_commit,_verify_with_ssh_key
> === RUN   TestRepositoryVerifyCommit/ssh_signed_commit,_verify_with_gpg_key
> === RUN   TestRepositoryVerifyCommit/gpg_signed_commit,_verify_with_gpg_key
> === RUN   TestRepositoryVerifyCommit/gpg_signed_commit,_verify_with_ssh_key
> === RUN   
> TestRepositoryVerifyCommit/gitsign_signed_commit,_verify_with_ssh_key
> --- PASS: TestRepositoryVerifyCommit (0.08s)
>     --- PASS: 
> TestRepositoryVerifyCommit/ssh_signed_commit,_verify_with_ssh_key (0.00s)
>     --- PASS: 
> TestRepositoryVerifyCommit/ssh_signed_commit,_verify_with_gpg_key (0.00s)
>     --- PASS: 
> TestRepositoryVerifyCommit/gpg_signed_commit,_verify_with_gpg_key (0.00s)
>     --- PASS: 
> TestRepositoryVerifyCommit/gpg_signed_commit,_verify_with_ssh_key (0.00s)
>     --- PASS: 
> TestRepositoryVerifyCommit/gitsign_signed_commit,_verify_with_ssh_key (0.00s)
> === RUN   TestKnowsCommit
> === RUN   TestKnowsCommit/check_if_second_commit_knows_first
> === RUN   TestKnowsCommit/check_that_first_commit_does_not_know_second
> === RUN   TestKnowsCommit/check_that_both_commits_know_themselves
> === RUN   
> TestKnowsCommit/check_that_an_unknown_commit_can't_know_a_known_commit
> --- PASS: TestKnowsCommit (0.08s)
>     --- PASS: TestKnowsCommit/check_if_second_commit_knows_first (0.01s)
>     --- PASS: TestKnowsCommit/check_that_first_commit_does_not_know_second 
> (0.01s)
>     --- PASS: TestKnowsCommit/check_that_both_commits_know_themselves (0.01s)
>     --- PASS: 
> TestKnowsCommit/check_that_an_unknown_commit_can't_know_a_known_commit (0.01s)
> === RUN   TestRepositoryGetCommitMessage
> --- PASS: TestRepositoryGetCommitMessage (0.03s)
> === RUN   TestGetCommitTreeID
> --- PASS: TestGetCommitTreeID (0.04s)
> === RUN   TestGetCommitParentIDs
> --- PASS: TestGetCommitParentIDs (0.04s)
> === RUN   TestGetCommonAncestor
> --- PASS: TestGetCommonAncestor (0.05s)
> === RUN   TestGetGitConfig
> --- PASS: TestGetGitConfig (0.02s)
> === RUN   TestNewHash
> --- PASS: TestNewHash (0.00s)
> === RUN   TestGetCommitsBetweenRangeRepository
> === RUN   
> TestGetCommitsBetweenRangeRepository/Check_range_between_commits_1_and_5
> === RUN   TestGetCommitsBetweenRangeRepository/Pass_in_wrong_order
> === RUN   
> TestGetCommitsBetweenRangeRepository/Check_range_in_separate_branches
> === RUN   TestGetCommitsBetweenRangeRepository/Get_all_commits
> === RUN   TestGetCommitsBetweenRangeRepository/Get_commits_from_invalid_range
> === RUN   
> TestGetCommitsBetweenRangeRepository/Get_commits_from_non-existent_commit
> --- PASS: TestGetCommitsBetweenRangeRepository (0.23s)
>     --- PASS: 
> TestGetCommitsBetweenRangeRepository/Check_range_between_commits_1_and_5 
> (0.00s)
>     --- PASS: TestGetCommitsBetweenRangeRepository/Pass_in_wrong_order (0.00s)
>     --- PASS: 
> TestGetCommitsBetweenRangeRepository/Check_range_in_separate_branches (0.17s)
>     --- PASS: TestGetCommitsBetweenRangeRepository/Get_all_commits (0.00s)
>     --- PASS: 
> TestGetCommitsBetweenRangeRepository/Get_commits_from_invalid_range (0.00s)
>     --- PASS: 
> TestGetCommitsBetweenRangeRepository/Get_commits_from_non-existent_commit 
> (0.00s)
> === RUN   TestGetCommitsBetweenRangeForMergeCommits
> === RUN   TestGetCommitsBetweenRangeForMergeCommits/Test_commit_1
> === RUN   TestGetCommitsBetweenRangeForMergeCommits/Test_commit_2
> === RUN   TestGetCommitsBetweenRangeForMergeCommits/Test_commit_3
> === RUN   TestGetCommitsBetweenRangeForMergeCommits/Test_commit_4
> === RUN   
> TestGetCommitsBetweenRangeForMergeCommits/Test_commit_5,_the_merge_commit
> === RUN   TestGetCommitsBetweenRangeForMergeCommits/Test_commit_6
> --- PASS: TestGetCommitsBetweenRangeForMergeCommits (0.12s)
>     --- PASS: TestGetCommitsBetweenRangeForMergeCommits/Test_commit_1 (0.00s)
>     --- PASS: TestGetCommitsBetweenRangeForMergeCommits/Test_commit_2 (0.00s)
>     --- PASS: TestGetCommitsBetweenRangeForMergeCommits/Test_commit_3 (0.01s)
>     --- PASS: TestGetCommitsBetweenRangeForMergeCommits/Test_commit_4 (0.00s)
>     --- PASS: 
> TestGetCommitsBetweenRangeForMergeCommits/Test_commit_5,_the_merge_commit 
> (0.00s)
>     --- PASS: TestGetCommitsBetweenRangeForMergeCommits/Test_commit_6 (0.00s)
> === RUN   TestHasObject
> --- PASS: TestHasObject (0.07s)
> === RUN   TestGetReference
> --- PASS: TestGetReference (0.02s)
> === RUN   TestSetReference
> --- PASS: TestSetReference (0.04s)
> === RUN   TestCheckAndSetReference
> --- PASS: TestCheckAndSetReference (0.03s)
> === RUN   TestGetSymbolicReferenceTarget
> --- PASS: TestGetSymbolicReferenceTarget (0.02s)
> === RUN   TestSetSymbolicReference
> --- PASS: TestSetSymbolicReference (0.02s)
> === RUN   TestRepositoryRefSpec
> --- PASS: TestRepositoryRefSpec (0.04s)
> === RUN   TestBranchReferenceName
> --- PASS: TestBranchReferenceName (0.00s)
> === RUN   TestTagReferenceName
> --- PASS: TestTagReferenceName (0.00s)
> === RUN   TestDeleteReference
> --- PASS: TestDeleteReference (0.02s)
> === RUN   TestRemote
> --- PASS: TestRemote (0.03s)
> === RUN   TestRepository
> === RUN   TestRepository/repository.isBare
> === RUN   TestRepository/repository.isBare/bare=true
> === RUN   TestRepository/repository.isBare/bare=false
> --- PASS: TestRepository (0.02s)
>     --- PASS: TestRepository/repository.isBare (0.02s)
>         --- PASS: TestRepository/repository.isBare/bare=true (0.01s)
>         --- PASS: TestRepository/repository.isBare/bare=false (0.01s)
> === RUN   TestCanSign
> === RUN   TestCanSign/no_signing_method,_explicit_key
> === RUN   TestCanSign/explicit_ssh,_explicit_key
> === RUN   TestCanSign/explicit_x509,_no_key
> === RUN   TestCanSign/explicit_x509,_explicit_key
> === RUN   TestCanSign/explicit_gpg,_no_key
> === RUN   TestCanSign/explicit_gpg,_explicit_key
> --- PASS: TestCanSign (0.06s)
>     --- PASS: TestCanSign/no_signing_method,_explicit_key (0.01s)
>     --- PASS: TestCanSign/explicit_ssh,_explicit_key (0.01s)
>     --- PASS: TestCanSign/explicit_x509,_no_key (0.01s)
>     --- PASS: TestCanSign/explicit_x509,_explicit_key (0.01s)
>     --- PASS: TestCanSign/explicit_gpg,_no_key (0.01s)
>     --- PASS: TestCanSign/explicit_gpg,_explicit_key (0.01s)
> === RUN   TestStatus
> --- PASS: TestStatus (0.07s)
> === RUN   TestPushRefSpecRepository
> === RUN   
> TestPushRefSpecRepository/assert_remote_repo_does_not_have_object_until_it_is_pushed
> === RUN   
> TestPushRefSpecRepository/assert_after_push_that_src_and_dst_refs_match
> === RUN   
> TestPushRefSpecRepository/assert_no_error_when_there_are_no_updates_to_push
> --- PASS: TestPushRefSpecRepository (0.23s)
>     --- PASS: 
> TestPushRefSpecRepository/assert_remote_repo_does_not_have_object_until_it_is_pushed
>  (0.06s)
>     --- PASS: 
> TestPushRefSpecRepository/assert_after_push_that_src_and_dst_refs_match 
> (0.08s)
>     --- PASS: 
> TestPushRefSpecRepository/assert_no_error_when_there_are_no_updates_to_push 
> (0.09s)
> === RUN   TestPushRepository
> === RUN   
> TestPushRepository/assert_remote_repo_does_not_have_object_until_it_is_pushed
> === RUN   TestPushRepository/assert_after_push_that_src_and_dst_refs_match
> === RUN   TestPushRepository/assert_no_error_when_there_are_no_updates_to_push
> --- PASS: TestPushRepository (0.36s)
>     --- PASS: 
> TestPushRepository/assert_remote_repo_does_not_have_object_until_it_is_pushed 
> (0.19s)
>     --- PASS: 
> TestPushRepository/assert_after_push_that_src_and_dst_refs_match (0.08s)
>     --- PASS: 
> TestPushRepository/assert_no_error_when_there_are_no_updates_to_push (0.09s)
> === RUN   TestFetchRefSpecRepository
> === RUN   
> TestFetchRefSpecRepository/assert_local_repo_does_not_have_object_until_fetched
> === RUN   TestFetchRefSpecRepository/assert_after_fetch_that_both_refs_match
> === RUN   
> TestFetchRefSpecRepository/assert_no_error_when_there_are_no_updates_to_fetch
> --- PASS: TestFetchRefSpecRepository (0.26s)
>     --- PASS: 
> TestFetchRefSpecRepository/assert_local_repo_does_not_have_object_until_fetched
>  (0.08s)
>     --- PASS: 
> TestFetchRefSpecRepository/assert_after_fetch_that_both_refs_match (0.09s)
>     --- PASS: 
> TestFetchRefSpecRepository/assert_no_error_when_there_are_no_updates_to_fetch 
> (0.10s)
> === RUN   TestFetchRepository
> === RUN   
> TestFetchRepository/assert_local_repo_does_not_have_object_until_fetched
> === RUN   TestFetchRepository/assert_after_fetch_that_both_refs_match
> === RUN   
> TestFetchRepository/assert_no_error_when_there_are_no_updates_to_fetch
> --- PASS: TestFetchRepository (0.23s)
>     --- PASS: 
> TestFetchRepository/assert_local_repo_does_not_have_object_until_fetched 
> (0.07s)
>     --- PASS: TestFetchRepository/assert_after_fetch_that_both_refs_match 
> (0.07s)
>     --- PASS: 
> TestFetchRepository/assert_no_error_when_there_are_no_updates_to_fetch (0.10s)
> === RUN   TestCloneAndFetchRepository
> === RUN   
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository,_verify_refs_match,_not_bare
> === RUN   
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository_without_specifying_initial_branch,_verify_refs_match,_not_bare
> === RUN   
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository_with_only_one_ref,_verify_refs_match,_not_bare
> === RUN   
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository,_verify_refs_match,_bare
> === RUN   
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository_without_specifying_initial_branch,_verify_refs_match,_bare
> === RUN   
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository_with_only_one_ref,_verify_refs_match,_bare
> --- PASS: TestCloneAndFetchRepository (0.47s)
>     --- PASS: 
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository,_verify_refs_match,_not_bare
>  (0.07s)
>     --- PASS: 
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository_without_specifying_initial_branch,_verify_refs_match,_not_bare
>  (0.06s)
>     --- PASS: 
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository_with_only_one_ref,_verify_refs_match,_not_bare
>  (0.09s)
>     --- PASS: 
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository,_verify_refs_match,_bare
>  (0.11s)
>     --- PASS: 
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository_without_specifying_initial_branch,_verify_refs_match,_bare
>  (0.08s)
>     --- PASS: 
> TestCloneAndFetchRepository/clone_and_fetch_remote_repository_with_only_one_ref,_verify_refs_match,_bare
>  (0.06s)
> === RUN   TestGetTagTarget
> --- PASS: TestGetTagTarget (0.05s)
> === RUN   TestRepositoryVerifyTag
> === RUN   TestRepositoryVerifyTag/ssh_signed_tag,_verify_with_ssh_key
> === RUN   TestRepositoryVerifyTag/gpg_signed_tag,_verify_with_gpg_key
> --- PASS: TestRepositoryVerifyTag (0.10s)
>     --- PASS: TestRepositoryVerifyTag/ssh_signed_tag,_verify_with_ssh_key 
> (0.00s)
>     --- PASS: TestRepositoryVerifyTag/gpg_signed_tag,_verify_with_gpg_key 
> (0.00s)
> === RUN   TestRepositoryEmptyTree
> --- PASS: TestRepositoryEmptyTree (0.02s)
> === RUN   TestGetPathIDInTree
> === RUN   TestGetPathIDInTree/no_items
> === RUN   TestGetPathIDInTree/no_subdirectories
> === RUN   TestGetPathIDInTree/one_file_in_root_tree,_one_file_in_subdirectory
> === RUN   TestGetPathIDInTree/multiple_levels
> --- PASS: TestGetPathIDInTree (0.10s)
>     --- PASS: TestGetPathIDInTree/no_items (0.00s)
>     --- PASS: TestGetPathIDInTree/no_subdirectories (0.01s)
>     --- PASS: 
> TestGetPathIDInTree/one_file_in_root_tree,_one_file_in_subdirectory (0.02s)
>     --- PASS: TestGetPathIDInTree/multiple_levels (0.06s)
> === RUN   TestGetTreeItems
> === RUN   TestGetTreeItems/no_items
> === RUN   TestGetTreeItems/no_subdirectories
> === RUN   TestGetTreeItems/one_file_in_root_tree,_one_file_in_subdirectory
> === RUN   TestGetTreeItems/one_file_in_foo_tree,_one_file_in_bar
> --- PASS: TestGetTreeItems (0.07s)
>     --- PASS: TestGetTreeItems/no_items (0.00s)
>     --- PASS: TestGetTreeItems/no_subdirectories (0.01s)
>     --- PASS: 
> TestGetTreeItems/one_file_in_root_tree,_one_file_in_subdirectory (0.02s)
>     --- PASS: TestGetTreeItems/one_file_in_foo_tree,_one_file_in_bar (0.02s)
> === RUN   TestGetMergeTree
> === RUN   TestGetMergeTree/no_conflict
> === RUN   TestGetMergeTree/merge_conflict
> === RUN   TestGetMergeTree/fast_forward_merge
> --- PASS: TestGetMergeTree (0.18s)
>     --- PASS: TestGetMergeTree/no_conflict (0.07s)
>     --- PASS: TestGetMergeTree/merge_conflict (0.07s)
>     --- PASS: TestGetMergeTree/fast_forward_merge (0.03s)
> === RUN   TestCreateSubtreeFromUpstreamRepository
> === RUN   TestCreateSubtreeFromUpstreamRepository/subtree_into_HEAD
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_trailing_slash,_ref_does_not_exist
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_no_trailing_slash,_ref_exists
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_trailing_slash,_ref_exists
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_trailing_slash,_prior_propagation_exists
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_no_trailing_slash,_ref_does_not_exist
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_no_trailing_slash,_ref_exists
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_trailing_slash,_ref_exists
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_no_trailing_slash,_prior_propagation_exists
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_no_trailing_slash,_ref_does_not_exist
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_no_trailing_slash,_prior_propagation_exists
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_trailing_slash,_ref_does_not_exist
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_trailing_slash,_prior_propagation_exists
> === RUN   
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/empty_localPath
> --- PASS: TestCreateSubtreeFromUpstreamRepository (0.90s)
>     --- PASS: TestCreateSubtreeFromUpstreamRepository/subtree_into_HEAD 
> (0.21s)
>     --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios 
> (0.69s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_trailing_slash,_ref_does_not_exist
>  (0.05s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_no_trailing_slash,_ref_exists
>  (0.05s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_trailing_slash,_ref_exists
>  (0.06s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_trailing_slash,_prior_propagation_exists
>  (0.05s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_no_trailing_slash,_ref_does_not_exist
>  (0.03s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_no_trailing_slash,_ref_exists
>  (0.07s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_trailing_slash,_ref_exists
>  (0.06s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_no_trailing_slash,_prior_propagation_exists
>  (0.08s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_no_trailing_slash,_ref_does_not_exist
>  (0.04s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_root,_no_trailing_slash,_prior_propagation_exists
>  (0.05s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_trailing_slash,_ref_does_not_exist
>  (0.03s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/directory_in_subdirectory,_trailing_slash,_prior_propagation_exists
>  (0.06s)
>         --- PASS: 
> TestCreateSubtreeFromUpstreamRepository/various_other_subtree_scenarios/empty_localPath
>  (0.00s)
> === RUN   TestTreeBuilder
> === RUN   TestTreeBuilder/no_blobs
> === RUN   TestTreeBuilder/both_blobs_in_the_root_directory
> === RUN   TestTreeBuilder/both_blobs_in_same_subdirectory
> === RUN   TestTreeBuilder/same_blobs_in_the_multiple_directories
> === RUN   TestTreeBuilder/both_blobs_in_different_subdirectories
> === RUN   TestTreeBuilder/blobs_in_mix_of_root_directory_and_subdirectories
> === RUN   TestTreeBuilder/build_tree_from_intermediate_tree
> === RUN   TestTreeBuilder/build_tree_from_nested_intermediate_tree
> === RUN   TestTreeBuilder/build_tree_from_nested_multi-level_intermediate_tree
> --- PASS: TestTreeBuilder (0.14s)
>     --- PASS: TestTreeBuilder/no_blobs (0.00s)
>     --- PASS: TestTreeBuilder/both_blobs_in_the_root_directory (0.01s)
>     --- PASS: TestTreeBuilder/both_blobs_in_same_subdirectory (0.01s)
>     --- PASS: TestTreeBuilder/same_blobs_in_the_multiple_directories (0.02s)
>     --- PASS: TestTreeBuilder/both_blobs_in_different_subdirectories (0.02s)
>     --- PASS: 
> TestTreeBuilder/blobs_in_mix_of_root_directory_and_subdirectories (0.01s)
>     --- PASS: TestTreeBuilder/build_tree_from_intermediate_tree (0.01s)
>     --- PASS: TestTreeBuilder/build_tree_from_nested_intermediate_tree (0.02s)
>     --- PASS: 
> TestTreeBuilder/build_tree_from_nested_multi-level_intermediate_tree (0.02s)
> === RUN   TestEnsureIsTree
> --- PASS: TestEnsureIsTree (0.04s)
> PASS
> ok    github.com/gittuf/gittuf/internal/gitinterface  5.111s
> === RUN   TestListRules
> === RUN   TestListRules/no_delegations
> === RUN   TestListRules/with_delegations
> --- PASS: TestListRules (0.47s)
>     --- PASS: TestListRules/no_delegations (0.20s)
>     --- PASS: TestListRules/with_delegations (0.27s)
> === RUN   TestListPrincipals
> === RUN   TestListPrincipals/policy_exists
> === RUN   TestListPrincipals/policy_does_not_exist
> --- PASS: TestListPrincipals (0.22s)
>     --- PASS: TestListPrincipals/policy_exists (0.03s)
>     --- PASS: TestListPrincipals/policy_does_not_exist (0.03s)
> === RUN   TestLoadState
> === RUN   TestLoadState/loading_while_verifying_multiple_states
> === RUN   TestLoadState/fail_loading_while_verifying_multiple_states,_bad_sig
> --- PASS: TestLoadState (0.96s)
>     --- PASS: TestLoadState/loading_while_verifying_multiple_states (0.56s)
>     --- PASS: 
> TestLoadState/fail_loading_while_verifying_multiple_states,_bad_sig (0.40s)
> === RUN   TestLoadCurrentState
> --- PASS: TestLoadCurrentState (0.12s)
> === RUN   TestLoadFirstState
> --- PASS: TestLoadFirstState (0.28s)
> === RUN   TestLoadStateForEntry
> --- PASS: TestLoadStateForEntry (0.19s)
> === RUN   TestStateVerify
> === PAUSE TestStateVerify
> === RUN   TestStateCommit
> --- PASS: TestStateCommit (0.13s)
> === RUN   TestStateGetRootMetadata
> === PAUSE TestStateGetRootMetadata
> === RUN   TestStateFindVerifiersForPath
> === PAUSE TestStateFindVerifiersForPath
> === RUN   TestGetStateForCommit
> === PAUSE TestGetStateForCommit
> === RUN   TestStateHasFileRule
> === PAUSE TestStateHasFileRule
> === RUN   TestApply
> --- PASS: TestApply (0.42s)
> === RUN   TestDiscard
> === PAUSE TestDiscard
> === RUN   TestInitializeRootMetadata
> --- PASS: TestInitializeRootMetadata (0.01s)
> === RUN   TestRegularSearcher
> === RUN   TestRegularSearcher/policy_exists
> === RUN   TestRegularSearcher/policy_does_not_exist
> === RUN   TestRegularSearcher/first_policy
> === RUN   TestRegularSearcher/policies_in_range
> === RUN   TestRegularSearcher/attestations_exist
> === RUN   TestRegularSearcher/attestations_do_not_exist
> --- PASS: TestRegularSearcher (0.69s)
>     --- PASS: TestRegularSearcher/policy_exists (0.18s)
>     --- PASS: TestRegularSearcher/policy_does_not_exist (0.04s)
>     --- PASS: TestRegularSearcher/first_policy (0.16s)
>     --- PASS: TestRegularSearcher/policies_in_range (0.16s)
>     --- PASS: TestRegularSearcher/attestations_exist (0.12s)
>     --- PASS: TestRegularSearcher/attestations_do_not_exist (0.03s)
> === RUN   TestCacheSearcher
> === RUN   TestCacheSearcher/policy_exists
> === RUN   TestCacheSearcher/policy_does_not_exist
> === RUN   TestCacheSearcher/first_policy
> === RUN   TestCacheSearcher/policies_in_range
> === RUN   TestCacheSearcher/attestations_exist
> === RUN   TestCacheSearcher/attestations_do_not_exist
> --- PASS: TestCacheSearcher (0.77s)
>     --- PASS: TestCacheSearcher/policy_exists (0.17s)
>     --- PASS: TestCacheSearcher/policy_does_not_exist (0.06s)
>     --- PASS: TestCacheSearcher/first_policy (0.20s)
>     --- PASS: TestCacheSearcher/policies_in_range (0.18s)
>     --- PASS: TestCacheSearcher/attestations_exist (0.09s)
>     --- PASS: TestCacheSearcher/attestations_do_not_exist (0.07s)
> === RUN   TestSignatureVerifier
> === PAUSE TestSignatureVerifier
> === RUN   TestInitializeTargetsMetadata
> --- PASS: TestInitializeTargetsMetadata (0.00s)
> === RUN   TestVerifyRef
> --- PASS: TestVerifyRef (0.27s)
> === RUN   TestVerifyRefFull
> --- PASS: TestVerifyRefFull (0.24s)
> === RUN   TestVerifyRefFromEntry
> --- PASS: TestVerifyRefFromEntry (0.72s)
> === RUN   TestVerifyRelativeForRefUsingPersons
> === RUN   TestVerifyRelativeForRefUsingPersons/no_recovery
> === RUN   
> TestVerifyRelativeForRefUsingPersons/no_recovery,_first_entry_is_the_very_first_entry
> === RUN   
> TestVerifyRelativeForRefUsingPersons/no_recovery,_first_entry_is_the_very_first_entry_but_policy_is_not_applied
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_recovered_by_unauthorized_user
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery,_tree-same,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery,_tree-same,_recovered_by_unauthorized_user
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_multiple_invalid_entries,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_unskipped_invalid_entries,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_recovered_by_authorized_user,_last_good_state_is_due_to_recovery
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery,_error_because_recovery_goes_back_too_far,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_recovery_but_recovered_entry_is_also_skipped,_tree-same,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRefUsingPersons/with_annotation_but_no_fix_entry
> --- PASS: TestVerifyRelativeForRefUsingPersons (10.84s)
>     --- PASS: TestVerifyRelativeForRefUsingPersons/no_recovery (0.45s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/no_recovery,_first_entry_is_the_very_first_entry
>  (0.29s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/no_recovery,_first_entry_is_the_very_first_entry_but_policy_is_not_applied
>  (0.21s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_recovered_by_authorized_user
>  (0.68s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_recovered_by_unauthorized_user
>  (0.78s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery,_tree-same,_recovered_by_authorized_user
>  (0.88s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery,_tree-same,_recovered_by_unauthorized_user
>  (0.90s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_multiple_invalid_entries,_recovered_by_authorized_user
>  (1.00s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_unskipped_invalid_entries,_recovered_by_authorized_user
>  (0.86s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery,_commit-same,_recovered_by_authorized_user,_last_good_state_is_due_to_recovery
>  (1.35s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery,_error_because_recovery_goes_back_too_far,_recovered_by_authorized_user
>  (1.53s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_recovery_but_recovered_entry_is_also_skipped,_tree-same,_recovered_by_authorized_user
>  (1.09s)
>     --- PASS: 
> TestVerifyRelativeForRefUsingPersons/with_annotation_but_no_fix_entry (0.82s)
> === RUN   TestVerifyMergeable
> === RUN   
> TestVerifyMergeable/base_commit_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_required
> === RUN   
> TestVerifyMergeable/base_commit_zero,_mergeable_using_mixed_approvals,_RSL_entry_signature_required
> === RUN   
> TestVerifyMergeable/base_commit_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_not_required
> === RUN   TestVerifyMergeable/base_commit_zero,_not_mergeable
> === RUN   
> TestVerifyMergeable/base_commit_not_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_required
> === RUN   
> TestVerifyMergeable/base_commit_not_zero,_mergeable_using_mixed_approvals,_RSL_entry_signature_required
> === RUN   
> TestVerifyMergeable/base_commit_not_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_not_required
> === RUN   TestVerifyMergeable/base_commit_not_zero,_not_mergeable
> === RUN   TestVerifyMergeable/unprotected_base_branch
> --- PASS: TestVerifyMergeable (4.70s)
>     --- PASS: 
> TestVerifyMergeable/base_commit_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_required
>  (0.43s)
>     --- PASS: 
> TestVerifyMergeable/base_commit_zero,_mergeable_using_mixed_approvals,_RSL_entry_signature_required
>  (0.48s)
>     --- PASS: 
> TestVerifyMergeable/base_commit_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_not_required
>  (0.42s)
>     --- PASS: TestVerifyMergeable/base_commit_zero,_not_mergeable (0.50s)
>     --- PASS: 
> TestVerifyMergeable/base_commit_not_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_required
>  (0.80s)
>     --- PASS: 
> TestVerifyMergeable/base_commit_not_zero,_mergeable_using_mixed_approvals,_RSL_entry_signature_required
>  (0.66s)
>     --- PASS: 
> TestVerifyMergeable/base_commit_not_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_not_required
>  (0.50s)
>     --- PASS: TestVerifyMergeable/base_commit_not_zero,_not_mergeable (0.53s)
>     --- PASS: TestVerifyMergeable/unprotected_base_branch (0.38s)
> === RUN   TestVerifyMergeableForCommit
> === RUN   
> TestVerifyMergeableForCommit/base_commit_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_required
> === RUN   
> TestVerifyMergeableForCommit/base_commit_zero,_mergeable_using_mixed_approvals,_RSL_entry_signature_required
> === RUN   
> TestVerifyMergeableForCommit/base_commit_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_not_required
> === RUN   TestVerifyMergeableForCommit/base_commit_zero,_not_mergeable
> === RUN   
> TestVerifyMergeableForCommit/base_commit_not_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_required
> === RUN   
> TestVerifyMergeableForCommit/base_commit_not_zero,_mergeable_using_mixed_approvals,_RSL_entry_signature_required
> === RUN   
> TestVerifyMergeableForCommit/base_commit_not_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_not_required
> === RUN   TestVerifyMergeableForCommit/base_commit_not_zero,_not_mergeable
> === RUN   TestVerifyMergeableForCommit/unprotected_base_branch
> --- PASS: TestVerifyMergeableForCommit (3.70s)
>     --- PASS: 
> TestVerifyMergeableForCommit/base_commit_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_required
>  (0.35s)
>     --- PASS: 
> TestVerifyMergeableForCommit/base_commit_zero,_mergeable_using_mixed_approvals,_RSL_entry_signature_required
>  (0.43s)
>     --- PASS: 
> TestVerifyMergeableForCommit/base_commit_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_not_required
>  (0.37s)
>     --- PASS: TestVerifyMergeableForCommit/base_commit_zero,_not_mergeable 
> (0.34s)
>     --- PASS: 
> TestVerifyMergeableForCommit/base_commit_not_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_required
>  (0.45s)
>     --- PASS: 
> TestVerifyMergeableForCommit/base_commit_not_zero,_mergeable_using_mixed_approvals,_RSL_entry_signature_required
>  (0.50s)
>     --- PASS: 
> TestVerifyMergeableForCommit/base_commit_not_zero,_mergeable_using_GitHub_approval,_RSL_entry_signature_not_required
>  (0.49s)
>     --- PASS: 
> TestVerifyMergeableForCommit/base_commit_not_zero,_not_mergeable (0.43s)
>     --- PASS: TestVerifyMergeableForCommit/unprotected_base_branch (0.34s)
> === RUN   TestVerifyRelativeForRef
> === RUN   TestVerifyRelativeForRef/no_recovery
> === RUN   
> TestVerifyRelativeForRef/no_recovery,_first_entry_is_the_very_first_entry
> === RUN   
> TestVerifyRelativeForRef/no_recovery,_first_entry_is_the_very_first_entry_but_policy_is_not_applied
> === RUN   
> TestVerifyRelativeForRef/with_recovery,_commit-same,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRef/with_recovery,_commit-same,_recovered_by_unauthorized_user
> === RUN   
> TestVerifyRelativeForRef/with_recovery,_tree-same,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRef/with_recovery,_tree-same,_recovered_by_unauthorized_user
> === RUN   
> TestVerifyRelativeForRef/with_recovery,_commit-same,_multiple_invalid_entries,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRef/with_recovery,_commit-same,_unskipped_invalid_entries,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRef/with_recovery,_commit-same,_recovered_by_authorized_user,_last_good_state_is_due_to_recovery
> === RUN   
> TestVerifyRelativeForRef/with_recovery,_error_because_recovery_goes_back_too_far,_recovered_by_authorized_user
> === RUN   
> TestVerifyRelativeForRef/with_recovery_but_recovered_entry_is_also_skipped,_tree-same,_recovered_by_authorized_user
> === RUN   TestVerifyRelativeForRef/with_annotation_but_no_fix_entry
> --- PASS: TestVerifyRelativeForRef (9.59s)
>     --- PASS: TestVerifyRelativeForRef/no_recovery (0.34s)
>     --- PASS: 
> TestVerifyRelativeForRef/no_recovery,_first_entry_is_the_very_first_entry 
> (0.29s)
>     --- PASS: 
> TestVerifyRelativeForRef/no_recovery,_first_entry_is_the_very_first_entry_but_policy_is_not_applied
>  (0.22s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery,_commit-same,_recovered_by_authorized_user
>  (0.70s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery,_commit-same,_recovered_by_unauthorized_user
>  (0.67s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery,_tree-same,_recovered_by_authorized_user
>  (0.73s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery,_tree-same,_recovered_by_unauthorized_user
>  (0.75s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery,_commit-same,_multiple_invalid_entries,_recovered_by_authorized_user
>  (0.97s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery,_commit-same,_unskipped_invalid_entries,_recovered_by_authorized_user
>  (0.94s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery,_commit-same,_recovered_by_authorized_user,_last_good_state_is_due_to_recovery
>  (1.16s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery,_error_because_recovery_goes_back_too_far,_recovered_by_authorized_user
>  (1.26s)
>     --- PASS: 
> TestVerifyRelativeForRef/with_recovery_but_recovered_entry_is_also_skipped,_tree-same,_recovered_by_authorized_user
>  (0.86s)
>     --- PASS: TestVerifyRelativeForRef/with_annotation_but_no_fix_entry 
> (0.68s)
> === RUN   TestVerifyEntry
> === RUN   TestVerifyEntry/successful_verification
> === RUN   TestVerifyEntry/successful_verification_using_persons
> === RUN   
> TestVerifyEntry/successful_verification_with_higher_threshold_using_v0.1_reference_authorization
> === RUN   
> TestVerifyEntry/successful_verification_with_higher_threshold_using_latest_reference_authorization
> === RUN   
> TestVerifyEntry/successful_verification_with_higher_threshold_but_using_GitHub_approval
> === RUN   
> TestVerifyEntry/unsuccessful_verification_with_higher_threshold_but_using_GitHub_approval_due_to_invalid_app_key
> === RUN   
> TestVerifyEntry/successful_verification_with_higher_threshold_but_using_GitHub_approval_and_reference_authorization_v0.2
> === RUN   
> TestVerifyEntry/unsuccessful_verification_with_higher_threshold_but_using_GitHub_approval_from_untrusted_key_and_reference_authorization_v0.2
> === RUN   
> TestVerifyEntry/unsuccessful_verification_with_higher_threshold_but_using_GitHub_approval
> === RUN   
> TestVerifyEntry/unsuccessful_verification_with_higher_threshold_when_a_person_signs_reference_authorization_and_uses_GitHub_approval
> === RUN   
> TestVerifyEntry/successful_verification_with_global_threshold_constraint
> === RUN   
> TestVerifyEntry/unsuccessful_verification_with_global_threshold_constraint
> === RUN   TestVerifyEntry/verify_block_force_pushes_rule_for_protected_ref
> === RUN   TestVerifyEntry/verify_block_force_pushes_rule_for_unprotected_ref
> --- PASS: TestVerifyEntry (5.09s)
>     --- PASS: TestVerifyEntry/successful_verification (0.21s)
>     --- PASS: TestVerifyEntry/successful_verification_using_persons (0.21s)
>     --- PASS: 
> TestVerifyEntry/successful_verification_with_higher_threshold_using_v0.1_reference_authorization
>  (0.33s)
>     --- PASS: 
> TestVerifyEntry/successful_verification_with_higher_threshold_using_latest_reference_authorization
>  (0.31s)
>     --- PASS: 
> TestVerifyEntry/successful_verification_with_higher_threshold_but_using_GitHub_approval
>  (0.35s)
>     --- PASS: 
> TestVerifyEntry/unsuccessful_verification_with_higher_threshold_but_using_GitHub_approval_due_to_invalid_app_key
>  (0.36s)
>     --- PASS: 
> TestVerifyEntry/successful_verification_with_higher_threshold_but_using_GitHub_approval_and_reference_authorization_v0.2
>  (0.46s)
>     --- PASS: 
> TestVerifyEntry/unsuccessful_verification_with_higher_threshold_but_using_GitHub_approval_from_untrusted_key_and_reference_authorization_v0.2
>  (0.37s)
>     --- PASS: 
> TestVerifyEntry/unsuccessful_verification_with_higher_threshold_but_using_GitHub_approval
>  (0.31s)
>     --- PASS: 
> TestVerifyEntry/unsuccessful_verification_with_higher_threshold_when_a_person_signs_reference_authorization_and_uses_GitHub_approval
>  (0.48s)
>     --- PASS: 
> TestVerifyEntry/successful_verification_with_global_threshold_constraint 
> (0.27s)
>     --- PASS: 
> TestVerifyEntry/unsuccessful_verification_with_global_threshold_constraint 
> (0.32s)
>     --- PASS: 
> TestVerifyEntry/verify_block_force_pushes_rule_for_protected_ref (0.57s)
>     --- PASS: 
> TestVerifyEntry/verify_block_force_pushes_rule_for_unprotected_ref (0.53s)
> === RUN   TestVerifyTagEntry
> === RUN   TestVerifyTagEntry/no_tag_specific_policy
> === RUN   TestVerifyTagEntry/with_tag_specific_policy
> === RUN   TestVerifyTagEntry/with_threshold_tag_specific_policy
> === RUN   TestVerifyTagEntry/with_tag_specific_policy,_unauthorized
> === RUN   TestVerifyTagEntry/with_threshold_tag_specific_policy,_unauthorized
> --- PASS: TestVerifyTagEntry (1.98s)
>     --- PASS: TestVerifyTagEntry/no_tag_specific_policy (0.31s)
>     --- PASS: TestVerifyTagEntry/with_tag_specific_policy (0.35s)
>     --- PASS: TestVerifyTagEntry/with_threshold_tag_specific_policy (0.62s)
>     --- PASS: TestVerifyTagEntry/with_tag_specific_policy,_unauthorized 
> (0.31s)
>     --- PASS: 
> TestVerifyTagEntry/with_threshold_tag_specific_policy,_unauthorized (0.39s)
> === RUN   TestGetCommits
> --- PASS: TestGetCommits (0.33s)
> === RUN   TestStateVerifyNewState
> === PAUSE TestStateVerifyNewState
> === CONT  TestStateVerify
> === RUN   TestStateVerify/only_root
> === PAUSE TestStateVerify/only_root
> === CONT  TestGetStateForCommit
> === CONT  TestStateHasFileRule
> === RUN   TestStateHasFileRule/with_file_rules
> === CONT  TestStateVerifyNewState
> === RUN   TestStateVerifyNewState/valid_policy_transition
> === PAUSE TestStateVerifyNewState/valid_policy_transition
> === RUN   TestStateVerifyNewState/invalid_policy_transition
> === PAUSE TestStateVerifyNewState/invalid_policy_transition
> === CONT  TestStateVerifyNewState/valid_policy_transition
> === CONT  TestSignatureVerifier
> === CONT  TestDiscard
> === RUN   TestDiscard/discard_changes_when_policy_ref_exists
> === PAUSE TestDiscard/discard_changes_when_policy_ref_exists
> === CONT  TestStateFindVerifiersForPath
> === RUN   TestStateFindVerifiersForPath/with_delegated_policy
> === PAUSE TestStateFindVerifiersForPath/with_delegated_policy
> === RUN   TestStateFindVerifiersForPath/without_policy
> === PAUSE TestStateFindVerifiersForPath/without_policy
> === RUN   TestStateVerify/only_root,_remove_root_keys
> === CONT  TestStateVerifyNewState/invalid_policy_transition
> === PAUSE TestStateVerify/only_root,_remove_root_keys
> === RUN   TestStateVerify/with_policy
> === PAUSE TestStateVerify/with_policy
> === RUN   TestStateVerify/with_delegated_policy
> === PAUSE TestStateVerify/with_delegated_policy
> === RUN   TestDiscard/discard_changes_when_policy_ref_does_not_exist
> === PAUSE TestDiscard/discard_changes_when_policy_ref_does_not_exist
> === CONT  TestStateGetRootMetadata
> === CONT  TestStateFindVerifiersForPath/without_policy
> === CONT  TestStateFindVerifiersForPath/with_delegated_policy
> === CONT  TestStateVerify/only_root
> --- PASS: TestStateGetRootMetadata (0.03s)
> === CONT  TestStateVerify/with_delegated_policy
> === RUN   TestStateHasFileRule/with_no_file_rules
> === PAUSE TestStateHasFileRule/with_no_file_rules
> === CONT  TestStateVerify/with_policy
> === CONT  TestStateVerify/only_root,_remove_root_keys
> --- PASS: TestStateFindVerifiersForPath (0.00s)
>     --- PASS: TestStateFindVerifiersForPath/without_policy (0.03s)
>     --- PASS: TestStateFindVerifiersForPath/with_delegated_policy (0.07s)
> === CONT  TestDiscard/discard_changes_when_policy_ref_exists
> === CONT  TestDiscard/discard_changes_when_policy_ref_does_not_exist
> --- PASS: TestStateVerifyNewState (0.00s)
>     --- PASS: TestStateVerifyNewState/invalid_policy_transition (0.07s)
>     --- PASS: TestStateVerifyNewState/valid_policy_transition (0.08s)
> === CONT  TestStateHasFileRule/with_no_file_rules
> --- PASS: TestStateHasFileRule (0.07s)
>     --- PASS: TestStateHasFileRule/with_file_rules (0.07s)
>     --- PASS: TestStateHasFileRule/with_no_file_rules (0.02s)
> --- PASS: TestStateVerify (0.00s)
>     --- PASS: TestStateVerify/only_root (0.04s)
>     --- PASS: TestStateVerify/only_root,_remove_root_keys (0.02s)
>     --- PASS: TestStateVerify/with_policy (0.04s)
>     --- PASS: TestStateVerify/with_delegated_policy (0.08s)
> --- PASS: TestSignatureVerifier (0.20s)
> --- PASS: TestDiscard (0.00s)
>     --- PASS: TestDiscard/discard_changes_when_policy_ref_does_not_exist 
> (0.03s)
>     --- PASS: TestDiscard/discard_changes_when_policy_ref_exists (0.17s)
> --- PASS: TestGetStateForCommit (0.49s)
> PASS
> ok    github.com/gittuf/gittuf/internal/policy        42.225s
> === RUN   TestRSLCache
> --- PASS: TestRSLCache (0.00s)
> === RUN   TestNewReferenceEntry
> --- PASS: TestNewReferenceEntry (0.09s)
> === RUN   TestReferenceUpdaterEntry
> === RUN   TestReferenceUpdaterEntry/reference_entry
> === RUN   TestReferenceUpdaterEntry/propagation_entry
> --- PASS: TestReferenceUpdaterEntry (0.00s)
>     --- PASS: TestReferenceUpdaterEntry/reference_entry (0.00s)
>     --- PASS: TestReferenceUpdaterEntry/propagation_entry (0.00s)
> === RUN   TestGetLatestEntry
> --- PASS: TestGetLatestEntry (0.08s)
> === RUN   TestGetLatestReferenceUpdaterEntry
> === RUN   TestGetLatestReferenceUpdaterEntry/with_ref_name
> === RUN   TestGetLatestReferenceUpdaterEntry/with_invalid_conditions
> === RUN   
> TestGetLatestReferenceUpdaterEntry/with_ref_name_and_until_entry_number
> === RUN   TestGetLatestReferenceUpdaterEntry/with_ref_name_and_before_entry_ID
> === RUN   
> TestGetLatestReferenceUpdaterEntry/with_ref_name,_before_entry_ID,_and_annotations
> === RUN   
> TestGetLatestReferenceUpdaterEntry/with_ref_name,_before_entry_ID_and_until_entry_number
> === RUN   
> TestGetLatestReferenceUpdaterEntry/with_ref_name_but_before_entry_ID_is_not_found_in_initial_walk
> === RUN   
> TestGetLatestReferenceUpdaterEntry/with_ref_name,_before_entry_ID,_until_entry_number_and_with_annotations
> === RUN   TestGetLatestReferenceUpdaterEntry/with_ref_name_and_unskipped
> === RUN   
> TestGetLatestReferenceUpdaterEntry/with_ref_name,_unskipped,_and_before_entry_ID
> === RUN   
> TestGetLatestReferenceUpdaterEntry/with_non_gittuf_option,_mix_of_gittuf_and_non_gittuf_entries
> === RUN   
> TestGetLatestReferenceUpdaterEntry/with_non_gittuf_option,_only_gittuf_entries
> === RUN   
> TestGetLatestReferenceUpdaterEntry/transitioning_from_no_numbers_to_numbers
> --- PASS: TestGetLatestReferenceUpdaterEntry (1.37s)
>     --- PASS: TestGetLatestReferenceUpdaterEntry/with_ref_name (0.10s)
>     --- PASS: TestGetLatestReferenceUpdaterEntry/with_invalid_conditions 
> (0.09s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_ref_name_and_until_entry_number 
> (0.10s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_ref_name_and_before_entry_ID (0.16s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_ref_name,_before_entry_ID,_and_annotations
>  (0.26s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_ref_name,_before_entry_ID_and_until_entry_number
>  (0.09s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_ref_name_but_before_entry_ID_is_not_found_in_initial_walk
>  (0.04s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_ref_name,_before_entry_ID,_until_entry_number_and_with_annotations
>  (0.18s)
>     --- PASS: TestGetLatestReferenceUpdaterEntry/with_ref_name_and_unskipped 
> (0.10s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_ref_name,_unskipped,_and_before_entry_ID
>  (0.06s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_non_gittuf_option,_mix_of_gittuf_and_non_gittuf_entries
>  (0.08s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/with_non_gittuf_option,_only_gittuf_entries
>  (0.05s)
>     --- PASS: 
> TestGetLatestReferenceUpdaterEntry/transitioning_from_no_numbers_to_numbers 
> (0.06s)
> === RUN   TestGetEntry
> --- PASS: TestGetEntry (0.05s)
> === RUN   TestGetParentForEntry
> === RUN   TestGetParentForEntry/regular_test
> === RUN   TestGetParentForEntry/transition_from_no_number_to_with_number
> --- PASS: TestGetParentForEntry (0.11s)
>     --- PASS: TestGetParentForEntry/regular_test (0.07s)
>     --- PASS: TestGetParentForEntry/transition_from_no_number_to_with_number 
> (0.04s)
> === RUN   TestGetNonGittufParentReferenceUpdaterEntryForEntry
> === RUN   
> TestGetNonGittufParentReferenceUpdaterEntryForEntry/mix_of_gittuf_and_non_gittuf_entries
> === RUN   
> TestGetNonGittufParentReferenceUpdaterEntryForEntry/only_gittuf_entries
> --- PASS: TestGetNonGittufParentReferenceUpdaterEntryForEntry (0.18s)
>     --- PASS: 
> TestGetNonGittufParentReferenceUpdaterEntryForEntry/mix_of_gittuf_and_non_gittuf_entries
>  (0.12s)
>     --- PASS: 
> TestGetNonGittufParentReferenceUpdaterEntryForEntry/only_gittuf_entries 
> (0.06s)
> === RUN   TestGetFirstEntry
> === PAUSE TestGetFirstEntry
> === RUN   TestGetFirstReferenceUpdaterEntryForRef
> --- PASS: TestGetFirstReferenceUpdaterEntryForRef (0.34s)
> === RUN   TestSkipAllInvalidReferenceEntriesForRef
> === RUN   TestSkipAllInvalidReferenceEntriesForRef/skip_latest_entry
> === RUN   TestSkipAllInvalidReferenceEntriesForRef/skip_multiple_entries
> === RUN   
> TestSkipAllInvalidReferenceEntriesForRef/just_one_entry,_nothing_should_change
> === RUN   
> TestSkipAllInvalidReferenceEntriesForRef/multiple_entries,_nothing_should_change
> --- PASS: TestSkipAllInvalidReferenceEntriesForRef (0.40s)
>     --- PASS: TestSkipAllInvalidReferenceEntriesForRef/skip_latest_entry 
> (0.11s)
>     --- PASS: TestSkipAllInvalidReferenceEntriesForRef/skip_multiple_entries 
> (0.16s)
>     --- PASS: 
> TestSkipAllInvalidReferenceEntriesForRef/just_one_entry,_nothing_should_change
>  (0.08s)
>     --- PASS: 
> TestSkipAllInvalidReferenceEntriesForRef/multiple_entries,_nothing_should_change
>  (0.06s)
> === RUN   TestGetFirstReferenceUpdaterEntryForCommit
> --- PASS: TestGetFirstReferenceUpdaterEntryForCommit (0.55s)
> === RUN   TestGetReferenceUpdaterEntriesInRange
> --- PASS: TestGetReferenceUpdaterEntriesInRange (0.24s)
> === RUN   TestGetReferenceUpdaterEntriesInRangeForRef
> --- PASS: TestGetReferenceUpdaterEntriesInRangeForRef (0.15s)
> === RUN   TestPropagateChangesFromUpstreamRepository
> --- PASS: TestPropagateChangesFromUpstreamRepository (0.22s)
> === RUN   TestAnnotationEntryRefersTo
> --- PASS: TestAnnotationEntryRefersTo (0.04s)
> === RUN   TestReferenceEntryCreateCommitMessage
> === RUN   TestReferenceEntryCreateCommitMessage/entry,_fully_resolved_ref
> === RUN   TestReferenceEntryCreateCommitMessage/entry,_non-zero_commit
> === RUN   
> TestReferenceEntryCreateCommitMessage/entry,_fully_resolved_ref,_small_number
> === RUN   
> TestReferenceEntryCreateCommitMessage/entry,_fully_resolved_ref,_large_number
> --- PASS: TestReferenceEntryCreateCommitMessage (0.00s)
>     --- PASS: TestReferenceEntryCreateCommitMessage/entry,_fully_resolved_ref 
> (0.00s)
>     --- PASS: TestReferenceEntryCreateCommitMessage/entry,_non-zero_commit 
> (0.00s)
>     --- PASS: 
> TestReferenceEntryCreateCommitMessage/entry,_fully_resolved_ref,_small_number 
> (0.00s)
>     --- PASS: 
> TestReferenceEntryCreateCommitMessage/entry,_fully_resolved_ref,_large_number 
> (0.00s)
> === RUN   TestAnnotationEntryCreateCommitMessage
> === RUN   
> TestAnnotationEntryCreateCommitMessage/annotation,_no_message,_small_number
> === RUN   
> TestAnnotationEntryCreateCommitMessage/annotation,_no_message,_large_number
> === RUN   TestAnnotationEntryCreateCommitMessage/annotation,_no_message
> === RUN   TestAnnotationEntryCreateCommitMessage/annotation,_with_message
> === RUN   
> TestAnnotationEntryCreateCommitMessage/annotation,_with_multi-line_message
> === RUN   
> TestAnnotationEntryCreateCommitMessage/annotation,_no_message,_skip_false
> === RUN   
> TestAnnotationEntryCreateCommitMessage/annotation,_no_message,_skip_false,_multiple_entry_IDs
> --- PASS: TestAnnotationEntryCreateCommitMessage (0.00s)
>     --- PASS: 
> TestAnnotationEntryCreateCommitMessage/annotation,_no_message,_small_number 
> (0.00s)
>     --- PASS: 
> TestAnnotationEntryCreateCommitMessage/annotation,_no_message,_large_number 
> (0.00s)
>     --- PASS: TestAnnotationEntryCreateCommitMessage/annotation,_no_message 
> (0.00s)
>     --- PASS: TestAnnotationEntryCreateCommitMessage/annotation,_with_message 
> (0.00s)
>     --- PASS: 
> TestAnnotationEntryCreateCommitMessage/annotation,_with_multi-line_message 
> (0.00s)
>     --- PASS: 
> TestAnnotationEntryCreateCommitMessage/annotation,_no_message,_skip_false 
> (0.00s)
>     --- PASS: 
> TestAnnotationEntryCreateCommitMessage/annotation,_no_message,_skip_false,_multiple_entry_IDs
>  (0.00s)
> === RUN   TestPropagationEntryCreateCommitMessage
> === RUN   TestPropagationEntryCreateCommitMessage/entry,_fully_resolved_ref
> === RUN   TestPropagationEntryCreateCommitMessage/entry,_non-zero_commit
> === RUN   
> TestPropagationEntryCreateCommitMessage/entry,_fully_resolved_ref,_small_number
> === RUN   
> TestPropagationEntryCreateCommitMessage/entry,_fully_resolved_ref,_large_number
> --- PASS: TestPropagationEntryCreateCommitMessage (0.00s)
>     --- PASS: 
> TestPropagationEntryCreateCommitMessage/entry,_fully_resolved_ref (0.00s)
>     --- PASS: TestPropagationEntryCreateCommitMessage/entry,_non-zero_commit 
> (0.00s)
>     --- PASS: 
> TestPropagationEntryCreateCommitMessage/entry,_fully_resolved_ref,_small_number
>  (0.00s)
>     --- PASS: 
> TestPropagationEntryCreateCommitMessage/entry,_fully_resolved_ref,_large_number
>  (0.00s)
> === RUN   TestParseRSLEntryText
> === RUN   TestParseRSLEntryText/entry,_non-zero_commit
> === RUN   TestParseRSLEntryText/entry,_missing_information
> === RUN   TestParseRSLEntryText/annotation,_with_multi-line_message
> === RUN   TestParseRSLEntryText/annotation,_no_message,_skip_false
> === RUN   
> TestParseRSLEntryText/annotation,_no_message,_skip_false,_multiple_entry_IDs
> === RUN   TestParseRSLEntryText/annotation,_missing_information
> === RUN   TestParseRSLEntryText/propagation_entry,_missing_information
> === RUN   TestParseRSLEntryText/entry,_fully_resolved_ref
> === RUN   TestParseRSLEntryText/entry,_missing_header
> === RUN   TestParseRSLEntryText/annotation,_no_message
> === RUN   TestParseRSLEntryText/annotation,_with_message
> === RUN   TestParseRSLEntryText/annotation,_missing_header
> === RUN   TestParseRSLEntryText/propagation_entry,_fully_resolved_ref
> === RUN   TestParseRSLEntryText/propagation_entry,_non-zero_commit
> --- PASS: TestParseRSLEntryText (0.00s)
>     --- PASS: TestParseRSLEntryText/entry,_non-zero_commit (0.00s)
>     --- PASS: TestParseRSLEntryText/entry,_missing_information (0.00s)
>     --- PASS: TestParseRSLEntryText/annotation,_with_multi-line_message 
> (0.00s)
>     --- PASS: TestParseRSLEntryText/annotation,_no_message,_skip_false (0.00s)
>     --- PASS: 
> TestParseRSLEntryText/annotation,_no_message,_skip_false,_multiple_entry_IDs 
> (0.00s)
>     --- PASS: TestParseRSLEntryText/annotation,_missing_information (0.00s)
>     --- PASS: TestParseRSLEntryText/propagation_entry,_missing_information 
> (0.00s)
>     --- PASS: TestParseRSLEntryText/entry,_fully_resolved_ref (0.00s)
>     --- PASS: TestParseRSLEntryText/entry,_missing_header (0.00s)
>     --- PASS: TestParseRSLEntryText/annotation,_no_message (0.00s)
>     --- PASS: TestParseRSLEntryText/annotation,_with_message (0.00s)
>     --- PASS: TestParseRSLEntryText/annotation,_missing_header (0.00s)
>     --- PASS: TestParseRSLEntryText/propagation_entry,_fully_resolved_ref 
> (0.00s)
>     --- PASS: TestParseRSLEntryText/propagation_entry,_non-zero_commit (0.00s)
> === CONT  TestGetFirstEntry
> --- PASS: TestGetFirstEntry (0.19s)
> PASS
> ok    github.com/gittuf/gittuf/internal/rsl   4.045s
> ?     github.com/gittuf/gittuf/internal/signerverifier/common [no test files]
> === RUN   TestCreateEnvelope
> --- PASS: TestCreateEnvelope (0.00s)
> === RUN   TestSignEnvelope
> --- PASS: TestSignEnvelope (0.02s)
> === RUN   TestVerifyEnvelope
> --- PASS: TestVerifyEnvelope (0.02s)
> PASS
> ok    github.com/gittuf/gittuf/internal/signerverifier/dsse   0.055s
> === RUN   TestLoadGPGKeyFromBytes
> --- PASS: TestLoadGPGKeyFromBytes (0.00s)
> PASS
> ok    github.com/gittuf/gittuf/internal/signerverifier/gpg    0.005s
> ?     github.com/gittuf/gittuf/internal/signerverifier/sigstore       [no 
> test files]
> ?     
> github.com/gittuf/gittuf/internal/signerverifier/sigstore/options/signer      
>   [no test files]
> ?     
> github.com/gittuf/gittuf/internal/signerverifier/sigstore/options/verifier    
>   [no test files]
> === RUN   TestSSH
> === RUN   TestSSH/rsa
> === RUN   TestSSH/rsa.pub
> === RUN   TestSSH/rsa_enc
> === RUN   TestSSH/rsa_enc.pub
> === RUN   TestSSH/ecdsa
> === RUN   TestSSH/ecdsa.pub
> === RUN   TestSSH/ecdsa_enc
> === RUN   TestSSH/ecdsa_enc.pub
> === RUN   TestSSH/ed25519
> === RUN   TestSSH/ed25519.pub
> === RUN   TestSSH/ed25519_enc
> === RUN   TestSSH/ed25519_enc.pub
> --- PASS: TestSSH (1.69s)
>     --- PASS: TestSSH/rsa (0.03s)
>     --- PASS: TestSSH/rsa.pub (0.03s)
>     --- PASS: TestSSH/rsa_enc (0.27s)
>     --- PASS: TestSSH/rsa_enc.pub (0.26s)
>     --- PASS: TestSSH/ecdsa (0.03s)
>     --- PASS: TestSSH/ecdsa.pub (0.02s)
>     --- PASS: TestSSH/ecdsa_enc (0.24s)
>     --- PASS: TestSSH/ecdsa_enc.pub (0.24s)
>     --- PASS: TestSSH/ed25519 (0.02s)
>     --- PASS: TestSSH/ed25519.pub (0.02s)
>     --- PASS: TestSSH/ed25519_enc (0.26s)
>     --- PASS: TestSSH/ed25519_enc.pub (0.25s)
> === RUN   TestParseSSH2Key
> --- PASS: TestParseSSH2Key (0.00s)
> === RUN   TestNewVerifierFromKey
> --- PASS: TestNewVerifierFromKey (0.00s)
> PASS
> ok    github.com/gittuf/gittuf/internal/signerverifier/ssh    1.690s
> ?     github.com/gittuf/gittuf/internal/testartifacts [no test files]
> ?     github.com/gittuf/gittuf/internal/third_party/go-securesystemslib/dsse  
> [no test files]
> ?     github.com/gittuf/gittuf/internal/tuf   [no test files]
> ?     github.com/gittuf/gittuf/internal/tuf/migrations        [no test files]
> === RUN   TestRootMetadata
> === RUN   TestRootMetadata/test_SetExpires
> === RUN   TestRootMetadata/test_addRole
> === RUN   TestRootMetadata/test_SchemaVersion
> === RUN   TestRootMetadata/test_GetPrincipals
> === RUN   TestRootMetadata/test_rootLocation
> === RUN   TestRootMetadata/test_propagation_directives
> === RUN   TestRootMetadata/test_multi-repository
> --- PASS: TestRootMetadata (0.01s)
>     --- PASS: TestRootMetadata/test_SetExpires (0.00s)
>     --- PASS: TestRootMetadata/test_addRole (0.00s)
>     --- PASS: TestRootMetadata/test_SchemaVersion (0.00s)
>     --- PASS: TestRootMetadata/test_GetPrincipals (0.00s)
>     --- PASS: TestRootMetadata/test_rootLocation (0.00s)
>     --- PASS: TestRootMetadata/test_propagation_directives (0.00s)
>     --- PASS: TestRootMetadata/test_multi-repository (0.00s)
> === RUN   TestRootMetadataWithSSHKey
> --- PASS: TestRootMetadataWithSSHKey (0.02s)
> === RUN   TestAddRootPrincipal
>     root_test.go:216: failed to run command /usr/bin/ssh-keygen -m rfc4716 -e 
> -f 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestAddRootPrincipal-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  exit status 255 ssh-keygen: 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestAddRootPrincipal-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  No such file or directory
> 
>         
> --- FAIL: TestAddRootPrincipal (0.01s)
> === RUN   TestDeleteRootPrincipal
> --- PASS: TestDeleteRootPrincipal (0.02s)
> === RUN   TestAddPrimaryRuleFilePrincipal
> --- PASS: TestAddPrimaryRuleFilePrincipal (0.02s)
> === RUN   TestDeletePrimaryRuleFilePrincipal
> --- PASS: TestDeletePrimaryRuleFilePrincipal (0.02s)
> === RUN   TestAddGitHubAppPrincipal
> --- PASS: TestAddGitHubAppPrincipal (0.03s)
> === RUN   TestDeleteGitHubAppPrincipal
> --- PASS: TestDeleteGitHubAppPrincipal (0.03s)
> === RUN   TestEnableGitHubAppApprovals
> --- PASS: TestEnableGitHubAppApprovals (0.02s)
> === RUN   TestDisableGitHubAppApprovals
> --- PASS: TestDisableGitHubAppApprovals (0.01s)
> === RUN   TestUpdateAndGetRootThreshold
> --- PASS: TestUpdateAndGetRootThreshold (0.01s)
> === RUN   TestUpdateAndGetPrimaryRuleFileThreshold
> --- PASS: TestUpdateAndGetPrimaryRuleFileThreshold (0.02s)
> === RUN   TestGetRootPrincipals
> === RUN   TestGetRootPrincipals/root_role_exists
> === RUN   TestGetRootPrincipals/root_role_does_not_exist
> --- PASS: TestGetRootPrincipals (0.01s)
>     --- PASS: TestGetRootPrincipals/root_role_exists (0.01s)
>     --- PASS: TestGetRootPrincipals/root_role_does_not_exist (0.00s)
> === RUN   TestGetPrimaryRuleFilePrincipals
>     root_test.go:429: failed to run command /usr/bin/ssh-keygen -m rfc4716 -e 
> -f 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestGetPrimaryRuleFilePrincipals-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  exit status 255 ssh-keygen: 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestGetPrimaryRuleFilePrincipals-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  No such file or directory
> 
>         
> --- FAIL: TestGetPrimaryRuleFilePrincipals (0.01s)
> === RUN   TestGetGitHubAppPrincipals
> === RUN   TestGetGitHubAppPrincipals/role_exists
> === RUN   TestGetGitHubAppPrincipals/role_does_not_exist
> --- PASS: TestGetGitHubAppPrincipals (0.01s)
>     --- PASS: TestGetGitHubAppPrincipals/role_exists (0.01s)
>     --- PASS: TestGetGitHubAppPrincipals/role_does_not_exist (0.00s)
> === RUN   TestIsGitHubAppApprovalTrusted
> --- PASS: TestIsGitHubAppApprovalTrusted (0.02s)
> === RUN   TestGlobalRules
> --- PASS: TestGlobalRules (0.01s)
> === RUN   TestNewGlobalRuleBlockForcePushes
> --- PASS: TestNewGlobalRuleBlockForcePushes (0.00s)
> === RUN   TestPropagationDirective
> --- PASS: TestPropagationDirective (0.00s)
> === RUN   TestTargetsMetadataAndDelegations
> === RUN   TestTargetsMetadataAndDelegations/test_SetExpires
> === RUN   TestTargetsMetadataAndDelegations/test_Validate
> === RUN   TestTargetsMetadataAndDelegations/test_addKey
> === RUN   TestTargetsMetadataAndDelegations/test_removeKey
> --- PASS: TestTargetsMetadataAndDelegations (0.01s)
>     --- PASS: TestTargetsMetadataAndDelegations/test_SetExpires (0.00s)
>     --- PASS: TestTargetsMetadataAndDelegations/test_Validate (0.00s)
>     --- PASS: TestTargetsMetadataAndDelegations/test_addKey (0.00s)
>     --- PASS: TestTargetsMetadataAndDelegations/test_removeKey (0.00s)
> === RUN   TestDelegation
> === RUN   TestDelegation/matches
> === RUN   TestDelegation/threshold
> === RUN   TestDelegation/terminating
> === RUN   TestDelegation/protected_namespaces
> === RUN   TestDelegation/principal_IDs
> --- PASS: TestDelegation (0.00s)
>     --- PASS: TestDelegation/matches (0.00s)
>     --- PASS: TestDelegation/threshold (0.00s)
>     --- PASS: TestDelegation/terminating (0.00s)
>     --- PASS: TestDelegation/protected_namespaces (0.00s)
>     --- PASS: TestDelegation/principal_IDs (0.00s)
> === RUN   TestAddRuleAndGetRules
>     targets_test.go:227: failed to run command /usr/bin/ssh-keygen -m rfc4716 
> -e -f 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestAddRuleAndGetRules-25f3b99d12ef5f6bf7e5b62b1ebc4c82119cc5c4f6ba83e189a13af883e90e96:
>  exit status 255 ssh-keygen: 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestAddRuleAndGetRules-25f3b99d12ef5f6bf7e5b62b1ebc4c82119cc5c4f6ba83e189a13af883e90e96:
>  No such file or directory
> 
>         
> --- FAIL: TestAddRuleAndGetRules (0.02s)
> === RUN   TestUpdateDelegation
> --- PASS: TestUpdateDelegation (0.01s)
> === RUN   TestReorderRules
> --- PASS: TestReorderRules (0.01s)
> === RUN   TestRemoveRule
> --- PASS: TestRemoveRule (0.01s)
> === RUN   TestGetPrincipals
> --- PASS: TestGetPrincipals (0.01s)
> === RUN   TestAllowRule
> --- PASS: TestAllowRule (0.00s)
> FAIL
> FAIL  github.com/gittuf/gittuf/internal/tuf/v01       0.369s
> === RUN   TestRootMetadata
> === RUN   TestRootMetadata/test_SetExpires
> === RUN   TestRootMetadata/test_addRole
> === RUN   TestRootMetadata/test_SchemaVersion
> === RUN   TestRootMetadata/test_GetPrincipals
> === RUN   TestRootMetadata/test_rootLocation
> === RUN   TestRootMetadata/test_propagation_directives
> === RUN   TestRootMetadata/test_multi-repository
> --- PASS: TestRootMetadata (0.01s)
>     --- PASS: TestRootMetadata/test_SetExpires (0.00s)
>     --- PASS: TestRootMetadata/test_addRole (0.00s)
>     --- PASS: TestRootMetadata/test_SchemaVersion (0.00s)
>     --- PASS: TestRootMetadata/test_GetPrincipals (0.00s)
>     --- PASS: TestRootMetadata/test_rootLocation (0.00s)
>     --- PASS: TestRootMetadata/test_propagation_directives (0.00s)
>     --- PASS: TestRootMetadata/test_multi-repository (0.00s)
> === RUN   TestRootMetadataWithSSHKey
> --- PASS: TestRootMetadataWithSSHKey (0.02s)
> === RUN   TestAddRootPrincipal
> === RUN   TestAddRootPrincipal/with_root_role_already_in_metadata
> === RUN   TestAddRootPrincipal/without_root_role_already_in_metadata
> === RUN   TestAddRootPrincipal/with_person
> --- PASS: TestAddRootPrincipal (0.03s)
>     --- PASS: TestAddRootPrincipal/with_root_role_already_in_metadata (0.01s)
>     --- PASS: TestAddRootPrincipal/without_root_role_already_in_metadata 
> (0.00s)
>     --- PASS: TestAddRootPrincipal/with_person (0.01s)
> === RUN   TestDeleteRootPrincipal
> --- PASS: TestDeleteRootPrincipal (0.02s)
> === RUN   TestAddPrimaryRuleFilePrincipal
> --- PASS: TestAddPrimaryRuleFilePrincipal (0.01s)
> === RUN   TestDeletePrimaryRuleFilePrincipal
> --- PASS: TestDeletePrimaryRuleFilePrincipal (0.03s)
> === RUN   TestAddGitHubAppPrincipal
> --- PASS: TestAddGitHubAppPrincipal (0.02s)
> === RUN   TestDeleteGitHubAppPrincipal
>     root_test.go:380: failed to run command /usr/bin/ssh-keygen -m rfc4716 -e 
> -f 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestDeleteGitHubAppPrincipal-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  exit status 255 ssh-keygen: 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestDeleteGitHubAppPrincipal-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  No such file or directory
> 
>         
> --- FAIL: TestDeleteGitHubAppPrincipal (0.01s)
> === RUN   TestEnableGitHubAppApprovals
> --- PASS: TestEnableGitHubAppApprovals (0.01s)
> === RUN   TestDisableGitHubAppApprovals
> --- PASS: TestDisableGitHubAppApprovals (0.01s)
> === RUN   TestUpdateAndGetRootThreshold
> --- PASS: TestUpdateAndGetRootThreshold (0.01s)
> === RUN   TestUpdateAndGetPrimaryRuleFileThreshold
> --- PASS: TestUpdateAndGetPrimaryRuleFileThreshold (0.03s)
> === RUN   TestGetRootPrincipals
> === RUN   TestGetRootPrincipals/root_role_exists
> === RUN   TestGetRootPrincipals/root_role_does_not_exist
> === RUN   TestGetRootPrincipals/with_person
> --- PASS: TestGetRootPrincipals (0.02s)
>     --- PASS: TestGetRootPrincipals/root_role_exists (0.01s)
>     --- PASS: TestGetRootPrincipals/root_role_does_not_exist (0.00s)
>     --- PASS: TestGetRootPrincipals/with_person (0.01s)
> === RUN   TestGetPrimaryRuleFilePrincipals
> === RUN   TestGetPrimaryRuleFilePrincipals/targets_role_exists
> === RUN   TestGetPrimaryRuleFilePrincipals/targets_role_does_not_exist
> === RUN   TestGetPrimaryRuleFilePrincipals/with_person
> --- PASS: TestGetPrimaryRuleFilePrincipals (0.02s)
>     --- PASS: TestGetPrimaryRuleFilePrincipals/targets_role_exists (0.01s)
>     --- PASS: TestGetPrimaryRuleFilePrincipals/targets_role_does_not_exist 
> (0.00s)
>     --- PASS: TestGetPrimaryRuleFilePrincipals/with_person (0.01s)
> === RUN   TestGetGitHubAppPrincipals
> === RUN   TestGetGitHubAppPrincipals/role_exists
> === RUN   TestGetGitHubAppPrincipals/role_does_not_exist
> --- PASS: TestGetGitHubAppPrincipals (0.02s)
>     --- PASS: TestGetGitHubAppPrincipals/role_exists (0.01s)
>     --- PASS: TestGetGitHubAppPrincipals/role_does_not_exist (0.00s)
> === RUN   TestIsGitHubAppApprovalTrusted
>     root_test.go:581: failed to run command /usr/bin/ssh-keygen -m rfc4716 -e 
> -f 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestIsGitHubAppApprovalTrusted-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  exit status 255 ssh-keygen: 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestIsGitHubAppApprovalTrusted-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  No such file or directory
> 
>         
> --- FAIL: TestIsGitHubAppApprovalTrusted (0.01s)
> === RUN   TestGlobalRules
>     root_test.go:596: failed to run command /usr/bin/ssh-keygen -m rfc4716 -e 
> -f 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestGlobalRules-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  exit status 255 ssh-keygen: 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestGlobalRules-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  No such file or directory
> 
>         
> --- FAIL: TestGlobalRules (0.01s)
> === RUN   TestTargetsMetadataAndDelegations
> === RUN   TestTargetsMetadataAndDelegations/test_SetExpires
> === RUN   TestTargetsMetadataAndDelegations/test_Validate
> === NAME  TestTargetsMetadataAndDelegations
>     targets_test.go:36: failed to run command /usr/bin/ssh-keygen -m rfc4716 
> -e -f 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestTargetsMetadataAndDelegations-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  exit status 255 ssh-keygen: 
> /build/reproducible-path/gittuf-0.9.0/debian/gotmp/TestTargetsMetadataAndDelegations-72cca03496422cdfe1c00ba5e299d18ca383b16041a7b28a5fca5e853b8f065a:
>  No such file or directory
> 
>         
> --- FAIL: TestTargetsMetadataAndDelegations (0.01s)
>     --- PASS: TestTargetsMetadataAndDelegations/test_SetExpires (0.00s)
>     --- PASS: TestTargetsMetadataAndDelegations/test_Validate (0.00s)
> === RUN   TestDelegation
> === RUN   TestDelegation/matches
> === RUN   TestDelegation/threshold
> === RUN   TestDelegation/terminating
> === RUN   TestDelegation/protected_namespaces
> === RUN   TestDelegation/principal_IDs
> --- PASS: TestDelegation (0.00s)
>     --- PASS: TestDelegation/matches (0.00s)
>     --- PASS: TestDelegation/threshold (0.00s)
>     --- PASS: TestDelegation/terminating (0.00s)
>     --- PASS: TestDelegation/protected_namespaces (0.00s)
>     --- PASS: TestDelegation/principal_IDs (0.00s)
> === RUN   TestAddRuleAndGetRules
> --- PASS: TestAddRuleAndGetRules (0.01s)
> === RUN   TestUpdateDelegation
> --- PASS: TestUpdateDelegation (0.01s)
> === RUN   TestReorderRules
> --- PASS: TestReorderRules (0.02s)
> === RUN   TestRemoveRule
> --- PASS: TestRemoveRule (0.01s)
> === RUN   TestGetPrincipals
> --- PASS: TestGetPrincipals (0.01s)
> === RUN   TestAllowRule
> --- PASS: TestAllowRule (0.00s)
> === RUN   TestPerson
> --- PASS: TestPerson (0.01s)
> FAIL
> FAIL  github.com/gittuf/gittuf/internal/tuf/v02       0.377s
> ?     github.com/gittuf/gittuf/internal/version       [no test files]
> FAIL
> dh_auto_test: error: cd _build && go test -vet=off -v -p 8 
> github.com/gittuf/gittuf github.com/gittuf/gittuf/experimental/gittuf 
> github.com/gittuf/gittuf/experimental/gittuf/options/github 
> github.com/gittuf/gittuf/experimental/gittuf/options/root 
> github.com/gittuf/gittuf/experimental/gittuf/options/rsl 
> github.com/gittuf/gittuf/experimental/gittuf/options/verify 
> github.com/gittuf/gittuf/experimental/gittuf/options/verifymergeable 
> github.com/gittuf/gittuf/internal/attestations 
> github.com/gittuf/gittuf/internal/attestations/authorizations 
> github.com/gittuf/gittuf/internal/attestations/authorizations/v01 
> github.com/gittuf/gittuf/internal/attestations/authorizations/v02 
> github.com/gittuf/gittuf/internal/attestations/common 
> github.com/gittuf/gittuf/internal/attestations/github 
> github.com/gittuf/gittuf/internal/attestations/github/v01 
> github.com/gittuf/gittuf/internal/cache 
> github.com/gittuf/gittuf/internal/cmd/addhooks 
> github.com/gittuf/gittuf/internal/cmd/attest 
> github.com/gittuf/gittuf/internal/cmd/attest/authorize 
> github.com/gittuf/gittuf/internal/cmd/clone 
> github.com/gittuf/gittuf/internal/cmd/common 
> github.com/gittuf/gittuf/internal/cmd/dev 
> github.com/gittuf/gittuf/internal/cmd/dev/addgithubapproval 
> github.com/gittuf/gittuf/internal/cmd/dev/attestgithub 
> github.com/gittuf/gittuf/internal/cmd/dev/authorize 
> github.com/gittuf/gittuf/internal/cmd/dev/dismissgithubapproval 
> github.com/gittuf/gittuf/internal/cmd/dev/populatecache 
> github.com/gittuf/gittuf/internal/cmd/dev/rslrecordat 
> github.com/gittuf/gittuf/internal/cmd/policy 
> github.com/gittuf/gittuf/internal/cmd/policy/addkey 
> github.com/gittuf/gittuf/internal/cmd/policy/addperson 
> github.com/gittuf/gittuf/internal/cmd/policy/addrule 
> github.com/gittuf/gittuf/internal/cmd/policy/init 
> github.com/gittuf/gittuf/internal/cmd/policy/listprincipals 
> github.com/gittuf/gittuf/internal/cmd/policy/listrules 
> github.com/gittuf/gittuf/internal/cmd/policy/persistent 
> github.com/gittuf/gittuf/internal/cmd/policy/removekey 
> github.com/gittuf/gittuf/internal/cmd/policy/removeperson 
> github.com/gittuf/gittuf/internal/cmd/policy/removerule 
> github.com/gittuf/gittuf/internal/cmd/policy/reorderrules 
> github.com/gittuf/gittuf/internal/cmd/policy/sign 
> github.com/gittuf/gittuf/internal/cmd/policy/tui 
> github.com/gittuf/gittuf/internal/cmd/policy/updaterule 
> github.com/gittuf/gittuf/internal/cmd/profile 
> github.com/gittuf/gittuf/internal/cmd/root 
> github.com/gittuf/gittuf/internal/cmd/rsl 
> github.com/gittuf/gittuf/internal/cmd/rsl/annotate 
> github.com/gittuf/gittuf/internal/cmd/rsl/log 
> github.com/gittuf/gittuf/internal/cmd/rsl/propagate 
> github.com/gittuf/gittuf/internal/cmd/rsl/record 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote/check 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote/pull 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote/push 
> github.com/gittuf/gittuf/internal/cmd/rsl/remote/reconcile 
> github.com/gittuf/gittuf/internal/cmd/rsl/skiprewritten 
> github.com/gittuf/gittuf/internal/cmd/trust 
> github.com/gittuf/gittuf/internal/cmd/trust/addgithubapp 
> github.com/gittuf/gittuf/internal/cmd/trust/addglobalrule 
> github.com/gittuf/gittuf/internal/cmd/trust/addpolicykey 
> github.com/gittuf/gittuf/internal/cmd/trust/addpropagationdirective 
> github.com/gittuf/gittuf/internal/cmd/trust/addrootkey 
> github.com/gittuf/gittuf/internal/cmd/trust/disablegithubappapprovals 
> github.com/gittuf/gittuf/internal/cmd/trust/enablegithubappapprovals 
> github.com/gittuf/gittuf/internal/cmd/trust/init 
> github.com/gittuf/gittuf/internal/cmd/trust/persistent 
> github.com/gittuf/gittuf/internal/cmd/trust/removegithubapp 
> github.com/gittuf/gittuf/internal/cmd/trust/removeglobalrule 
> github.com/gittuf/gittuf/internal/cmd/trust/removepolicykey 
> github.com/gittuf/gittuf/internal/cmd/trust/removepropagationdirective 
> github.com/gittuf/gittuf/internal/cmd/trust/removerootkey 
> github.com/gittuf/gittuf/internal/cmd/trust/setrepositorylocation 
> github.com/gittuf/gittuf/internal/cmd/trust/sign 
> github.com/gittuf/gittuf/internal/cmd/trust/updatepolicythreshold 
> github.com/gittuf/gittuf/internal/cmd/trust/updaterootthreshold 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/apply 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/discard 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote/pull 
> github.com/gittuf/gittuf/internal/cmd/trustpolicy/remote/push 
> github.com/gittuf/gittuf/internal/cmd/verifymergeable 
> github.com/gittuf/gittuf/internal/cmd/verifyref 
> github.com/gittuf/gittuf/internal/cmd/version 
> github.com/gittuf/gittuf/internal/common 
> github.com/gittuf/gittuf/internal/common/set 
> github.com/gittuf/gittuf/internal/dev 
> github.com/gittuf/gittuf/internal/display 
> github.com/gittuf/gittuf/internal/git-remote-gittuf 
> github.com/gittuf/gittuf/internal/gitinterface 
> github.com/gittuf/gittuf/internal/policy 
> github.com/gittuf/gittuf/internal/rsl 
> github.com/gittuf/gittuf/internal/signerverifier/common 
> github.com/gittuf/gittuf/internal/signerverifier/dsse 
> github.com/gittuf/gittuf/internal/signerverifier/gpg 
> github.com/gittuf/gittuf/internal/signerverifier/sigstore 
> github.com/gittuf/gittuf/internal/signerverifier/sigstore/options/signer 
> github.com/gittuf/gittuf/internal/signerverifier/sigstore/options/verifier 
> github.com/gittuf/gittuf/internal/signerverifier/ssh 
> github.com/gittuf/gittuf/internal/testartifacts 
> github.com/gittuf/gittuf/internal/third_party/go-securesystemslib/dsse 
> github.com/gittuf/gittuf/internal/tuf 
> github.com/gittuf/gittuf/internal/tuf/migrations 
> github.com/gittuf/gittuf/internal/tuf/v01 
> github.com/gittuf/gittuf/internal/tuf/v02 
> github.com/gittuf/gittuf/internal/version returned exit code 1


The full build log is available from:
http://qa-logs.debian.net/2025/04/28/gittuf_0.9.0-5_unstable.log

You can find other build logs (including successful ones) in:
http://qa-logs.debian.net/2025/04/28/

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250428;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250428&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Version: 0.12.0-2

This bug appears to be fixed. The package gittuf 0.12.0-2 is nnow present
in both unstable(sid) and testing(trixie) as of March 26, 2026.

the FTBFS issue is targets_test.go (ssh-keygen race condition) was resolved
in version 0.12.0-1 and is included in the current 0.12.0-2.

closing this bug.

--- End Message ---

Reply via email to