Skip to content

Commit

Permalink
feat: bump speakeasyVersion in workflow file
Browse files Browse the repository at this point in the history
  • Loading branch information
chase-crumbaugh committed Apr 10, 2024
1 parent c466e3e commit aef1c7f
Show file tree
Hide file tree
Showing 7 changed files with 116 additions and 52 deletions.
24 changes: 13 additions & 11 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
module github.com/speakeasy-api/sdk-generation-action

go 1.21.0
go 1.21.5

toolchain go1.22.1

require (
github.com/go-git/go-git/v5 v5.11.0
github.com/google/go-github/v54 v54.0.0
github.com/google/uuid v1.6.0
github.com/hashicorp/go-version v1.6.0
github.com/pb33f/libopenapi v0.14.0
github.com/pb33f/libopenapi v0.15.14
github.com/speakeasy-api/git-diff-parser v0.0.3
github.com/speakeasy-api/sdk-gen-config v1.7.4
github.com/speakeasy-api/sdk-gen-config v1.10.1
github.com/speakeasy-api/speakeasy-client-sdk-go/v3 v3.4.1
github.com/stretchr/testify v1.8.4
golang.org/x/exp v0.0.0-20231127185646-65229373498e
github.com/stretchr/testify v1.9.0
golang.org/x/exp v0.0.0-20240213143201-ec583247a57a
golang.org/x/oauth2 v0.11.0
gopkg.in/yaml.v3 v3.0.1
)
Expand Down Expand Up @@ -48,12 +50,12 @@ require (
github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect
github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
golang.org/x/crypto v0.16.0 // indirect
golang.org/x/mod v0.14.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sync v0.5.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/tools v0.16.0 // indirect
golang.org/x/crypto v0.19.0 // indirect
golang.org/x/mod v0.15.0 // indirect
golang.org/x/net v0.21.0 // indirect
golang.org/x/sync v0.6.0 // indirect
golang.org/x/sys v0.17.0 // indirect
golang.org/x/tools v0.18.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
Expand Down
13 changes: 13 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
github.com/pb33f/libopenapi v0.14.0 h1:sXcq6z5vG/QPbSLxYSjCMQAhszZD4+Yox60HBzcB2gI=
github.com/pb33f/libopenapi v0.14.0/go.mod h1:m+4Pwri31UvcnZjuP8M7TlbR906DXJmMvYsbis234xg=
github.com/pb33f/libopenapi v0.15.14/go.mod h1:PEXNwvtT4KNdjrwudp5OYnD1ryqK6uJ68aMNyWvoMuc=
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
Expand All @@ -138,6 +139,10 @@ github.com/speakeasy-api/git-diff-parser v0.0.3 h1:LL12d+HMtSyj6O/hQqIn/lgDPYI6c
github.com/speakeasy-api/git-diff-parser v0.0.3/go.mod h1:P46HmmVVmwA9P8h2wa0fDpmRM8/grbVQ+uKhWDtpkIY=
github.com/speakeasy-api/sdk-gen-config v1.7.4 h1:hk3GaKiL6zxx3SulnxdunvU2V7bUSQ4YviXtIiUmWuo=
github.com/speakeasy-api/sdk-gen-config v1.7.4/go.mod h1:4R+8FTyM6UdLHltOVAigIoR5D2UfPsGMmEFzPOP1yCs=
github.com/speakeasy-api/sdk-gen-config v1.10.0 h1:ceaH8+O74G/UzpBkWMjoFta8NuLuIydVH8h3MbAK/GA=
github.com/speakeasy-api/sdk-gen-config v1.10.0/go.mod h1:7FsPqdsh//6Z0OcO/jQPD66l6/m1YVvK5tmt0+KRpdo=
github.com/speakeasy-api/sdk-gen-config v1.10.1 h1:i4Izb7T6FA+uA7HJzRCsAbTd4h3QSlTvfK1fUXYSq60=
github.com/speakeasy-api/sdk-gen-config v1.10.1/go.mod h1:7FsPqdsh//6Z0OcO/jQPD66l6/m1YVvK5tmt0+KRpdo=
github.com/speakeasy-api/speakeasy-client-sdk-go/v3 v3.4.1 h1:7bnCFOsWDhce7m0Btgsxjq30ZGlluXDm21hI6qj2BPc=
github.com/speakeasy-api/speakeasy-client-sdk-go/v3 v3.4.1/go.mod h1:b4fiZ1Wid0JHwwiYqhaPifDwjmC15uiN7A8Cmid+9kw=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
Expand All @@ -146,6 +151,7 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/vmware-labs/yaml-jsonpath v0.3.2 h1:/5QKeCBGdsInyDCyVNLbXyilb61MXGi9NP674f9Hobk=
github.com/vmware-labs/yaml-jsonpath v0.3.2/go.mod h1:U6whw1z03QyqgWdgXxvVnQ90zN1BWz5V+51Ewf8k+rQ=
github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc=
Expand All @@ -163,13 +169,16 @@ golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2Uz
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/exp v0.0.0-20231127185646-65229373498e h1:Gvh4YaCaXNs6dKTlfgismwWZKyjVZXwOPfIyUaqU3No=
golang.org/x/exp v0.0.0-20231127185646-65229373498e/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
Expand All @@ -186,6 +195,7 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU=
golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand All @@ -195,6 +205,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand All @@ -220,6 +231,7 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
Expand All @@ -244,6 +256,7 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
Expand Down
2 changes: 1 addition & 1 deletion internal/actions/release.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func Release() error {
}

func addPublishOutputs(dir string, outputs map[string]string) error {
wf, err := configuration.GetWorkflowAndValidateLanguages(false)
wf, _, err := configuration.GetWorkflowAndValidateLanguages(false)
if err != nil {
return err
}
Expand Down
86 changes: 68 additions & 18 deletions internal/actions/runWorkflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,16 @@ package actions
import (
"fmt"
"github.com/hashicorp/go-version"
"github.com/speakeasy-api/sdk-gen-config/workflow"
"github.com/speakeasy-api/sdk-generation-action/internal/cli"
"github.com/speakeasy-api/sdk-generation-action/internal/configuration"
"github.com/speakeasy-api/sdk-generation-action/internal/environment"
"github.com/speakeasy-api/sdk-generation-action/internal/git"
"github.com/speakeasy-api/sdk-generation-action/internal/logging"
"github.com/speakeasy-api/sdk-generation-action/internal/run"
"github.com/speakeasy-api/sdk-generation-action/pkg/releases"
"gopkg.in/yaml.v3"
"os"
)

func RunWorkflow() error {
Expand All @@ -18,7 +21,22 @@ func RunWorkflow() error {
return err
}

pinnedVersion := cli.GetVersion(environment.GetPinnedSpeakeasyVersion())
wf, workflowPath, err := configuration.GetWorkflowAndValidateLanguages(true)
if err != nil {
return err
}

// Override workflow.yaml speakeasyVersion with GH action speakeasyVersion
if v := cli.GetVersion(environment.GetPinnedSpeakeasyVersion()); v != "latest" {
resolvedVersion, err := cli.Download(v, g)
if err != nil {
return err
}

return runWorkflow(g, resolvedVersion, wf)
}

pinnedVersion := wf.SpeakeasyVersion.String()
firstRunVersion := pinnedVersion
if environment.ShouldAutoUpgradeSpeakeasyVersion() {
firstRunVersion = "latest"
Expand All @@ -29,37 +47,47 @@ func RunWorkflow() error {
return err
}

// Only bother doing the second run if it will be with a different version than the first
autoUpgradeAttempted := pinnedVersion != "latest" && pinnedVersion != resolvedVersion
// We will only bother doing the second run if it will be with a different version than the first
attemptingAutoUpgrade := pinnedVersion != "latest" && pinnedVersion != resolvedVersion
if attemptingAutoUpgrade {
logging.Info("Attempting auto-upgrade from Speakeasy version %s to %s", pinnedVersion, resolvedVersion)
}

err = runWorkflow(g, resolvedVersion)
if err != nil && autoUpgradeAttempted {
logging.Info("Error running workflow with version %s: %v", firstRunVersion, err)
logging.Info("Trying again with pinned version %s", pinnedVersion)
err = runWorkflow(g, resolvedVersion, wf)
if attemptingAutoUpgrade {
// If we tried to upgrade and the run succeeded, update the workflow file with the new version
if err == nil {
logging.Info("Successfully ran workflow with updated version %s", resolvedVersion)
if err := updateSpeakeasyVersion(wf, resolvedVersion, workflowPath); err != nil {
return err
}

resolvedVersion, err := cli.Download(firstRunVersion, g)
if err != nil {
_, err = g.CommitAndPushWithMessage(fmt.Sprintf("ci: update speakeasyVersion to %s", resolvedVersion))
return err
}
} else {
logging.Info("Error running workflow with version %s: %v", firstRunVersion, err)
logging.Info("Trying again with pinned version %s", pinnedVersion)

resolvedVersion, err := cli.Download(firstRunVersion, g)
if err != nil {
return err
}

return runWorkflow(g, resolvedVersion)
return runWorkflow(g, resolvedVersion, wf)
}
}

return err
}

func runWorkflow(g *git.Git, resolvedVersion string) error {
func runWorkflow(g *git.Git, resolvedVersion string, wf *workflow.Workflow) error {
minimumVersionForRun := version.Must(version.NewVersion("1.161.0"))
if !cli.IsAtLeastVersion(minimumVersionForRun) {
return fmt.Errorf("action requires at least version %s of the speakeasy CLI", minimumVersionForRun)
}

mode := environment.GetMode()

wf, err := configuration.GetWorkflowAndValidateLanguages(true)
if err != nil {
return err
}

sourcesOnly := wf.Targets == nil || len(wf.Targets) == 0

branchName := ""
Expand All @@ -71,7 +99,7 @@ func runWorkflow(g *git.Git, resolvedVersion string) error {
}
}

branchName, err = g.FindOrCreateBranch(branchName, environment.ActionRunWorkflow)
branchName, err := g.FindOrCreateBranch(branchName, environment.ActionRunWorkflow)
if err != nil {
return err
}
Expand Down Expand Up @@ -244,3 +272,25 @@ func getReleasesInfo() (*releases.ReleasesInfo, error) {

return releasesInfo, nil
}

func updateSpeakeasyVersion(wf *workflow.Workflow, newVersion, workflowFilepath string) error {
wf.SpeakeasyVersion = workflow.Version(newVersion)

f, err := os.OpenFile(workflowFilepath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0o600)
if err != nil {
return fmt.Errorf("error opening workflow file: %w", err)
}
defer f.Close()

out, err := yaml.Marshal(wf)
if err != nil {
return fmt.Errorf("error marshalling workflow file: %w", err)
}

_, err = f.Write(out)
if err != nil {
return fmt.Errorf("error writing to workflow file: %w", err)
}

return nil
}
2 changes: 1 addition & 1 deletion internal/actions/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
func getReleasesDir() (string, error) {
releasesDir := "."
// Find releases file
wf, err := configuration.GetWorkflowAndValidateLanguages(false)
wf, _, err := configuration.GetWorkflowAndValidateLanguages(false)
if err != nil {
return "", err
}
Expand Down
19 changes: 7 additions & 12 deletions internal/configuration/configuration.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import (
"path/filepath"
)

func GetWorkflowAndValidateLanguages(checkLangSupported bool) (*workflow.Workflow, error) {
wf, err := getWorkflow()
func GetWorkflowAndValidateLanguages(checkLangSupported bool) (*workflow.Workflow, string, error) {
wf, path, err := getWorkflow()
if err != nil {
return nil, fmt.Errorf("failed to load workflow file: %w", err)
return nil, path, fmt.Errorf("failed to load workflow file: %w", err)
}

var langs []string
Expand All @@ -22,24 +22,19 @@ func GetWorkflowAndValidateLanguages(checkLangSupported bool) (*workflow.Workflo

if checkLangSupported {
if err := AssertLangsSupported(langs); err != nil {
return nil, err
return nil, path, err
}
}

return wf, nil
return wf, path, nil
}

func getWorkflow() (*workflow.Workflow, error) {
func getWorkflow() (*workflow.Workflow, string, error) {
workspace := environment.GetWorkspace()

localPath := filepath.Join(workspace, "repo")

wf, _, err := workflow.Load(localPath)
if err != nil {
return nil, err
}

return wf, err
return workflow.Load(localPath)
}

func AssertLangsSupported(langs []string) error {
Expand Down
22 changes: 13 additions & 9 deletions internal/git/git.go
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,20 @@ func (g *Git) CommitAndPush(openAPIDocVersion, speakeasyVersion, doc string, act
if g.repo == nil {
return "", fmt.Errorf("repo not cloned")
}
var commitMessage string
if action == environment.ActionRunWorkflow {
commitMessage = fmt.Sprintf("ci: regenerated with OpenAPI Doc %s, Speakeasy CLI %s", openAPIDocVersion, speakeasyVersion)
if sourcesOnly {
commitMessage = fmt.Sprintf("ci: regenerated with Speakeasy CLI %s", speakeasyVersion)
}
} else if action == environment.ActionSuggest {
commitMessage = fmt.Sprintf("ci: suggestions for OpenAPI doc %s", doc)
}

return g.CommitAndPushWithMessage(commitMessage)
}

func (g *Git) CommitAndPushWithMessage(commitMessage string) (string, error) {
w, err := g.repo.Worktree()
if err != nil {
return "", fmt.Errorf("error getting worktree: %w", err)
Expand All @@ -361,15 +374,6 @@ func (g *Git) CommitAndPush(openAPIDocVersion, speakeasyVersion, doc string, act
return "", fmt.Errorf("error adding changes: %w", err)
}

var commitMessage string
if action == environment.ActionRunWorkflow {
commitMessage = fmt.Sprintf("ci: regenerated with OpenAPI Doc %s, Speakeasy CLI %s", openAPIDocVersion, speakeasyVersion)
if sourcesOnly {
commitMessage = fmt.Sprintf("ci: regenerated with Speakeasy CLI %s", speakeasyVersion)
}
} else if action == environment.ActionSuggest {
commitMessage = fmt.Sprintf("ci: suggestions for OpenAPI doc %s", doc)
}
commitHash, err := w.Commit(commitMessage, &git.CommitOptions{
Author: &object.Signature{
Name: "speakeasybot",
Expand Down

0 comments on commit aef1c7f

Please sign in to comment.