aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/vcs/git.go
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2024-10-04 11:18:10 +0200
committerTaras Madan <tarasmadan@google.com>2024-10-10 15:39:25 +0000
commitcd942402d6bc82fa3ea87e5c43509e1ec6cfafe2 (patch)
tree4bcd4b26ad9f9a1a79d6530b2bc0bdccc1ea1015 /pkg/vcs/git.go
parentd7475276a82f2dbec772bce46ac82ce370fb4bef (diff)
syz-ci: introduce gitArchive parameters
Some commits don't live long remotely. It sometimes happens we need them later to: 1. Merge coverage. 2. Mention during communication.
Diffstat (limited to 'pkg/vcs/git.go')
-rw-r--r--pkg/vcs/git.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/vcs/git.go b/pkg/vcs/git.go
index d1a91404c..f8362dfb2 100644
--- a/pkg/vcs/git.go
+++ b/pkg/vcs/git.go
@@ -635,3 +635,12 @@ func (git *git) CommitExists(commit string) (bool, error) {
}
return true, nil
}
+
+func (git *git) PushCommit(repo, commit string) error {
+ tagName := "tag-" + commit // assign tag to guarantee remote persistence
+ git.git("tag", tagName) // ignore errors on re-tagging
+ if _, err := git.git("push", repo, "tag", tagName); err != nil {
+ return fmt.Errorf("git push %s tag %s: %w", repo, tagName, err)
+ }
+ return nil
+}