From ff4b978876ec560ad5c094c6ba1cf83a1253a838 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Mon, 11 Oct 2021 01:17:52 +0200 Subject: [PATCH] fix: only list new versions Closes https://git.coopcloud.tech/coop-cloud/organising/issues/192. --- cli/app/list.go | 28 ++++++++++++++++++++-------- go.mod | 2 +- go.sum | 8 ++------ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/cli/app/list.go b/cli/app/list.go index 66dd5454..142194de 100644 --- a/cli/app/list.go +++ b/cli/app/list.go @@ -7,6 +7,7 @@ import ( abraFormatter "coopcloud.tech/abra/cli/formatter" "coopcloud.tech/abra/pkg/catalogue" "coopcloud.tech/abra/pkg/config" + "coopcloud.tech/tagcmp" "github.com/sirupsen/logrus" "github.com/urfave/cli/v2" ) @@ -100,21 +101,32 @@ can take some time. if statusMeta["status"] != "" { status = statusMeta["status"] } - tableRow = append(tableRow, status, version) } else { tableRow = append(tableRow, status, version) } var newUpdates []string - updates, err := catalogue.GetRecipeCatalogueVersions(app.Type) - if err != nil { - logrus.Fatal(err) - } + if version != "unknown" { + updates, err := catalogue.GetRecipeCatalogueVersions(app.Type) + if err != nil { + logrus.Fatal(err) + } - for _, update := range updates { - if update != version { - newUpdates = append(newUpdates, update) + parsedVersion, err := tagcmp.Parse(version) + if err != nil { + logrus.Fatal(err) + } + + for _, update := range updates { + parsedUpdate, err := tagcmp.Parse(update) + if err != nil { + logrus.Fatal(err) + } + + if update != version && parsedUpdate.IsGreaterThan(parsedVersion) { + newUpdates = append(newUpdates, update) + } } } diff --git a/go.mod b/go.mod index 32495d25..912ff6c8 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module coopcloud.tech/abra go 1.17 require ( - coopcloud.tech/tagcmp v0.0.0-20211003080922-7b06d1c16182 + coopcloud.tech/tagcmp v0.0.0-20211007122926-aa7b4ff851f6 github.com/AlecAivazis/survey/v2 v2.3.1 github.com/Autonomic-Cooperative/godotenv v1.3.1-0.20210731170023-c37c0920d1a4 github.com/Gurpartap/logrus-stack v0.0.0-20170710170904-89c00d8a28f4 diff --git a/go.sum b/go.sum index 82ce42e0..b0f01e01 100644 --- a/go.sum +++ b/go.sum @@ -21,12 +21,8 @@ cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIA cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -coopcloud.tech/tagcmp v0.0.0-20210906102006-2a8edd82d75d h1:5jeUIiToqQ7vTlLeycdGp4Ezurd6/RTNl5K38usHtoo= -coopcloud.tech/tagcmp v0.0.0-20210906102006-2a8edd82d75d/go.mod h1:ESVm0wQKcbcFi06jItF3rI7enf4Jt2PvbkWpDDHk1DQ= -coopcloud.tech/tagcmp v0.0.0-20211003074705-03d2daced95c h1:7kCjnhjrOevcJeA/koCyyv20E6AglvqC7biGbLzyrbU= -coopcloud.tech/tagcmp v0.0.0-20211003074705-03d2daced95c/go.mod h1:ESVm0wQKcbcFi06jItF3rI7enf4Jt2PvbkWpDDHk1DQ= -coopcloud.tech/tagcmp v0.0.0-20211003080922-7b06d1c16182 h1:VGFzudsoGXGRaw5eJE3rErHHUDsmuIJpQkdfKJgrNs4= -coopcloud.tech/tagcmp v0.0.0-20211003080922-7b06d1c16182/go.mod h1:ESVm0wQKcbcFi06jItF3rI7enf4Jt2PvbkWpDDHk1DQ= +coopcloud.tech/tagcmp v0.0.0-20211007122926-aa7b4ff851f6 h1:EV1aomKx6n0jLZ847ejeqroE4K9E+yX5NvEyQufkZVk= +coopcloud.tech/tagcmp v0.0.0-20211007122926-aa7b4ff851f6/go.mod h1:ESVm0wQKcbcFi06jItF3rI7enf4Jt2PvbkWpDDHk1DQ= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/AlecAivazis/survey/v2 v2.3.1 h1:lzkuHA60pER7L4eYL8qQJor4bUWlJe4V0gqAT19tdOA= github.com/AlecAivazis/survey/v2 v2.3.1/go.mod h1:TH2kPCDU3Kqq7pLbnCWwZXDBjnhZtmsCle5EiYDJ2fg=