From 727cbcaa21eea960b2eab225957dee9be5e6cfcf Mon Sep 17 00:00:00 2001 From: Abhay Krishna Date: Tue, 5 Dec 2023 13:53:11 -0800 Subject: [PATCH] Configure author for Git commit step (#2712) --- .../pkg/constants/constants.go | 15 +++++++++++++++ tools/version-tracker/pkg/git/git.go | 19 ++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/tools/version-tracker/pkg/constants/constants.go b/tools/version-tracker/pkg/constants/constants.go index 899d9572fc..a97d67ede9 100644 --- a/tools/version-tracker/pkg/constants/constants.go +++ b/tools/version-tracker/pkg/constants/constants.go @@ -9,6 +9,10 @@ const ( BaseRepoOwnerEnvvar = "BASE_REPO_OWNER" HeadRepoOwnerEnvvar = "HEAD_REPO_OWNER" GitHubTokenEnvvar = "GITHUB_TOKEN" + CommitAuthorNameEnvvar = "COMMIT_AUTHOR_NAME" + CommitAuthorEmailEnvvar = "COMMIT_AUTHOR_EMAIL" + DefaultCommitAuthorName = "EKS Distro PR Bot" + DefaultCommitAuthorEmail = "aws-model-rocket-bots+eksdistroprbot@amazon.com" BuildToolingRepoName = "eks-anywhere-build-tooling" BuildToolingRepoURL = "https://github.com/aws/eks-anywhere-build-tooling" ReadmeFile = "README.md" @@ -49,6 +53,12 @@ var ( BinaryName: "cmctl", Extract: true, }, + "containerd/containerd": { + AssetName: "containerd-%s-linux-amd64.tar.gz", + BinaryName: "bin/containerd", + Extract: true, + TrimLeadingVersionPrefix: true, + }, "fluxcd/flux2": { AssetName: "flux_%s_linux_amd64.tar.gz", BinaryName: "flux", @@ -76,6 +86,11 @@ var ( BinaryName: "kind-linux-amd64", Extract: false, }, + "opencontainers/runc": { + AssetName: "runc.amd64", + BinaryName: "runc.amd64", + Extract: false, + }, "rancher/local-path-provisioner": { AssetName: "local-path-provisioner-amd64", BinaryName: "local-path-provisioner-amd64", diff --git a/tools/version-tracker/pkg/git/git.go b/tools/version-tracker/pkg/git/git.go index 6253f3ee82..9db7615eae 100644 --- a/tools/version-tracker/pkg/git/git.go +++ b/tools/version-tracker/pkg/git/git.go @@ -9,6 +9,7 @@ import ( "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/config" "github.com/go-git/go-git/v5/plumbing" + "github.com/go-git/go-git/v5/plumbing/object" "github.com/go-git/go-git/v5/plumbing/transport/http" "github.com/aws/eks-anywhere-build-tooling/tools/version-tracker/pkg/constants" @@ -54,6 +55,7 @@ func CloneRepo(cloneURL, destination, headRepoOwner string) (*git.Repository, st } } } + return repo, repoHeadCommitHash, nil } @@ -101,7 +103,22 @@ func Add(worktree *git.Worktree, paths []string) error { // Commit creates a new commit with the given commit message. func Commit(worktree *git.Worktree, commitMessage string) error { logger.V(6).Info("Committing file(s) in the index") - _, err := worktree.Commit(commitMessage, &git.CommitOptions{}) + var commitAuthorName, commitAuthorEmail string + commitAuthorName, ok := os.LookupEnv(constants.CommitAuthorNameEnvvar) + if !ok { + commitAuthorName = constants.DefaultCommitAuthorName + } + + commitAuthorEmail, ok = os.LookupEnv(constants.CommitAuthorEmailEnvvar) + if !ok { + commitAuthorEmail = constants.DefaultCommitAuthorEmail + } + _, err := worktree.Commit(commitMessage, &git.CommitOptions{ + Author: &object.Signature{ + Name: commitAuthorName, + Email: commitAuthorEmail, + }, + }) if err != nil { return fmt.Errorf("committing file(s) in the index: %v", err) }