Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions cli/cmd/plugin_publish.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
"net/http"
"os"
"os/signal"
"path"
"path/filepath"
"strings"
"syscall"
Expand Down Expand Up @@ -83,6 +82,7 @@ func runPluginPublish(ctx context.Context, cmd *cobra.Command, args []string) er
return errors.New("invalid plugin name. Must be in format <team_name>/<plugin_name>")
}
teamName, pluginName = parts[0], parts[1]
pkgJSON.Team, pkgJSON.Name = teamName, pluginName
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is backwards compatibility code from when we had plugin publish <team>/<name> instead of inside package.json.

I cleaned up some of the arguments to UploadPluginBinary to pass only the package JSON so we need to set these here

}

name := fmt.Sprintf("%s/%s@%s", teamName, pluginName, pkgJSON.Version)
Expand Down Expand Up @@ -121,13 +121,8 @@ func runPluginPublish(ctx context.Context, cmd *cobra.Command, args []string) er
}

// upload binaries
fmt.Println("Uploading binaries...")
for _, t := range pkgJSON.SupportedTargets {
fmt.Printf("- Uploading %s_%s...\n", t.OS, t.Arch)
err = publish.UploadPluginBinary(ctx, c, teamName, pluginName, t.OS, t.Arch, path.Join(distDir, t.Path), pkgJSON)
if err != nil {
return fmt.Errorf("failed to upload binary: %w", err)
}
if err := publishPluginAssets(ctx, c, token.String(), distDir, pkgJSON); err != nil {
return fmt.Errorf("failed to upload binaries: %w", err)
}

// optional: mark plugin as draft=false
Expand Down Expand Up @@ -158,3 +153,11 @@ func runPluginPublish(ctx context.Context, cmd *cobra.Command, args []string) er

return nil
}

func publishPluginAssets(ctx context.Context, c *cloudquery_api.ClientWithResponses, token, distDir string, pkgJSON publish.PackageJSONV1) error {
if pkgJSON.PackageType == string(cloudquery_api.PluginVersionPackageTypeDocker) {
return publish.PublishToDockerRegistry(ctx, token, distDir, pkgJSON)
}

return publish.PublishNativeBinaries(ctx, c, distDir, pkgJSON)
}
17 changes: 13 additions & 4 deletions cli/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,14 @@ require (
github.com/cloudquery/cloudquery-api-go v1.6.3
github.com/cloudquery/plugin-pb-go v1.15.0
github.com/cloudquery/plugin-sdk/v4 v4.23.0
github.com/distribution/reference v0.5.0
github.com/docker/distribution v2.8.3+incompatible
github.com/docker/docker v24.0.7+incompatible
github.com/getsentry/sentry-go v0.24.1
github.com/ghodss/yaml v1.0.0
github.com/google/go-cmp v0.6.0
github.com/google/uuid v1.5.0
github.com/opencontainers/go-digest v1.0.0
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8
github.com/rs/zerolog v1.31.0
github.com/schollz/progressbar/v3 v3.13.1
Expand All @@ -38,17 +42,17 @@ require (
github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect
github.com/avast/retry-go/v4 v4.5.1 // indirect
github.com/aymerick/douceur v0.2.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bytedance/sonic v1.10.2 // indirect
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
github.com/chenzhuoyu/iasm v0.9.1 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/deepmap/oapi-codegen v1.16.2 // indirect
github.com/distribution/reference v0.5.0 // indirect
github.com/docker/distribution v2.8.3+incompatible // indirect
github.com/docker/docker v24.0.7+incompatible // indirect
github.com/docker/go-connections v0.4.0 // indirect
github.com/docker/go-metrics v0.0.1 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
github.com/fatih/structs v1.1.0 // indirect
github.com/flosch/pongo2/v4 v4.0.2 // indirect
github.com/gabriel-vasile/mimetype v1.4.3 // indirect
Expand All @@ -64,6 +68,7 @@ require (
github.com/gomarkdown/markdown v0.0.0-20231115200524-a660076da3fd // indirect
github.com/google/flatbuffers v23.5.26+incompatible // indirect
github.com/gorilla/css v1.0.1 // indirect
github.com/gorilla/mux v1.8.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/iris-contrib/schema v0.0.6 // indirect
github.com/josharian/intern v1.0.0 // indirect
Expand All @@ -84,16 +89,20 @@ require (
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.15 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/microcosm-cc/bluemonday v1.0.26 // indirect
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.0.2 // indirect
github.com/pelletier/go-toml/v2 v2.1.1 // indirect
github.com/pierrec/lz4/v4 v4.1.19 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/prometheus/client_golang v1.1.0 // indirect
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 // indirect
github.com/prometheus/common v0.6.0 // indirect
github.com/prometheus/procfs v0.0.3 // indirect
github.com/rivo/uniseg v0.4.4 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/schollz/closestmatch v2.1.0+incompatible // indirect
Expand Down
Loading