Skip to content
12 changes: 6 additions & 6 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ This project includes code licensed under the following terms:

----------
Module: code.gitea.io/sdk/gitea
Version: v0.22.1
Version: v0.23.2
License: MIT
License URL: https://gitea.com/gitea/go-sdk/src/tag/gitea/v0.22.1/gitea/LICENSE
License URL: https://gitea.com/gitea/go-sdk/src/tag/gitea/v0.23.2/gitea/LICENSE

----------
Module: dario.cat/mergo
Expand Down Expand Up @@ -365,9 +365,9 @@ License URL: https://github.com/xanzy/ssh-agent/blob/v0.3.3/LICENSE

----------
Module: gitlab.com/gitlab-org/api/client-go
Version: v1.11.0
Version: v1.39.0
License: Apache-2.0
License URL: https://gitlab.com/gitlab-org/api/blob/client-go/v1.11.0/client-go/LICENSE
License URL: https://gitlab.com/gitlab-org/api/blob/client-go/v1.39.0/client-go/LICENSE

----------
Module: go.yaml.in/yaml/v2
Expand Down Expand Up @@ -401,9 +401,9 @@ License URL: https://cs.opensource.google/go/x/net/+/v0.50.0:LICENSE

----------
Module: golang.org/x/oauth2
Version: v0.34.0
Version: v0.35.0
License: BSD-3-Clause
License URL: https://cs.opensource.google/go/x/oauth2/+/v0.34.0:LICENSE
License URL: https://cs.opensource.google/go/x/oauth2/+/v0.35.0:LICENSE

----------
Module: golang.org/x/sync/errgroup
Expand Down
172 changes: 91 additions & 81 deletions api/openapi_client/client.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 15 additions & 12 deletions cli/cmd/generate_docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
"errors"
"fmt"
"log"
"path"

"github.com/codesphere-cloud/cs-go/pkg/cs"
"github.com/codesphere-cloud/cs-go/pkg/exporter"
Expand All @@ -28,17 +27,16 @@ type GenerateDockerOpts struct {
}

func (c *GenerateDockerCmd) RunE(cc *cobra.Command, args []string) error {
log.Println(c.Opts.Force)
fs := cs.NewOSFileSystem(".")
git := git.NewGitService(fs)
fs := cs.NewOSFileSystem(c.Opts.RepoRoot)
gitSvc := git.NewGitService(fs)

client, err := NewClient(*c.Opts.GlobalOptions)
if err != nil {
return fmt.Errorf("failed to create Codesphere client: %w", err)
exporter := exporter.NewExporterService(fs, c.Opts.Output, c.Opts.BaseImage, c.Opts.Envs, c.Opts.RepoRoot, c.Opts.Force)

clientFactory := func() (Client, error) {
return NewClient(*c.Opts.GlobalOptions)
}

exporter := exporter.NewExporterService(fs, c.Opts.Output, c.Opts.BaseImage, c.Opts.Envs, c.Opts.RepoRoot, c.Opts.Force)
if err := c.GenerateDocker(fs, exporter, git, client); err != nil {
if err := c.GenerateDocker(fs, exporter, gitSvc, clientFactory); err != nil {
return fmt.Errorf("failed to generate docker: %w", err)
}

Expand Down Expand Up @@ -95,16 +93,21 @@ func AddGenerateDockerCmd(generate *cobra.Command, opts *GenerateOpts) {
docker.cmd.RunE = docker.RunE
}

func (c *GenerateDockerCmd) GenerateDocker(fs *cs.FileSystem, exp exporter.Exporter, git git.Git, csClient Client) error {
func (c *GenerateDockerCmd) GenerateDocker(fs *cs.FileSystem, exp exporter.Exporter, git git.Git, clientFactory func() (Client, error)) error {
if c.Opts.BaseImage == "" {
return errors.New("baseimage is required")
}

ciInput := path.Join(c.Opts.RepoRoot, c.Opts.Input)
ciInput := c.Opts.Input
if !fs.FileExists(ciInput) {
log.Printf("Input file %s not found attempting to clone workspace repository...\n", c.Opts.Input)

if err := c.CloneRepository(csClient, fs, git, c.Opts.RepoRoot); err != nil {
client, err := clientFactory()
if err != nil {
return fmt.Errorf("failed to create Codesphere client: %w", err)
}

if err := c.CloneRepository(client, fs, git, c.Opts.RepoRoot); err != nil {
return fmt.Errorf("failed to clone repository: %w", err)
}
if !fs.FileExists(ciInput) {
Expand Down
6 changes: 4 additions & 2 deletions cli/cmd/generate_docker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ var _ = Describe("GenerateDocker", func() {

Context("the baseimage is not provided", func() {
It("should return an error", func() {
err := c.GenerateDocker(memoryFs, mockExporter, mockGit, mockClient)
clientFactory := func() (cmd.Client, error) { return mockClient, nil }
err := c.GenerateDocker(memoryFs, mockExporter, mockGit, clientFactory)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("baseimage is required"))
})
Expand All @@ -79,7 +80,8 @@ var _ = Describe("GenerateDocker", func() {
It("should not return an error", func() {
mockExporter.EXPECT().ReadYmlFile(ciYmlPath).Return(&ci.CiYml{}, nil)
mockExporter.EXPECT().ExportDockerArtifacts().Return(nil)
err := c.GenerateDocker(memoryFs, mockExporter, mockGit, mockClient)
clientFactory := func() (cmd.Client, error) { return mockClient, nil }
err := c.GenerateDocker(memoryFs, mockExporter, mockGit, clientFactory)
Expect(err).To(Not(HaveOccurred()))
})
})
Expand Down
5 changes: 2 additions & 3 deletions cli/cmd/generate_images.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"errors"
"fmt"
"log"
"path"

"github.com/codesphere-cloud/cs-go/pkg/cs"
"github.com/codesphere-cloud/cs-go/pkg/exporter"
Expand All @@ -28,7 +27,7 @@ type GenerateImagesOpts struct {
}

func (c *GenerateImagesCmd) RunE(_ *cobra.Command, args []string) error {
fs := cs.NewOSFileSystem(".")
fs := cs.NewOSFileSystem(c.Opts.RepoRoot)

exporter := exporter.NewExporterService(fs, c.Opts.Output, "", []string{}, c.Opts.RepoRoot, c.Opts.Force)
if err := c.GenerateImages(fs, exporter); err != nil {
Expand Down Expand Up @@ -69,7 +68,7 @@ func AddGenerateImagesCmd(generate *cobra.Command, opts *GenerateOpts) {
}

func (c *GenerateImagesCmd) GenerateImages(fs *cs.FileSystem, exp exporter.Exporter) error {
ciInput := path.Join(c.Opts.RepoRoot, c.Opts.Input)
ciInput := c.Opts.Input
if c.Opts.Registry == "" {
return errors.New("registry is required")
}
Expand Down
Loading
Loading