Compare commits

..

4 Commits

Author SHA1 Message Date
f835b87255 chore: update translation files
All checks were successful
continuous-integration/drone/push Build is passing
Updated by "Update PO files to match POT (msgmerge)" add-on in Weblate.

Translation: Co-op Cloud/abra
Translate-URL: https://translate.coopcloud.tech/projects/co-op-cloud/abra/
2026-01-16 23:45:14 +00:00
dba21d6a29 chore: lowercase, i18n
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-17 00:44:55 +01:00
182fc41c58 added integration test
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-16 14:27:27 -08:00
304ac87cec ensure repo is up to date before printing status
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2026-01-14 16:58:21 -08:00
8 changed files with 83 additions and 81 deletions

View File

@ -281,21 +281,13 @@ checkout as-is. Recipe commit hashes are also supported as values for
} }
func getLatestVersionOrCommit(app appPkg.App) (string, error) { func getLatestVersionOrCommit(app appPkg.App) (string, error) {
recipeVersions, warnings, err := app.Recipe.GetRecipeVersions() versions, err := app.Recipe.Tags()
if err != nil { if err != nil {
return "", err return "", err
} }
for _, warning := range warnings { if len(versions) > 0 && !internal.Chaos {
log.Warn(warning) return versions[len(versions)-1], nil
}
if len(recipeVersions) > 0 && !internal.Chaos {
latest := recipeVersions[len(recipeVersions)-1]
for tag := range latest {
log.Debug(i18n.G("selected latest recipe version: %s (from %d available versions)", tag, len(recipeVersions)))
return tag, nil
}
} }
head, err := app.Recipe.Head() head, err := app.Recipe.Head()

View File

@ -113,6 +113,13 @@ Use "--status/-S" flag to query all servers for the live deployment status.`),
totalAppsCount++ totalAppsCount++
if status { if status {
if err := app.Recipe.EnsureUpToDate(); err != nil {
log.Warnf(
"failed to ensure repo is up to date for recipe: %s err: %s",
app.Recipe.Name,
err,
)
}
status := i18n.G("unknown") status := i18n.G("unknown")
version := i18n.G("unknown") version := i18n.G("unknown")
chaos := i18n.G("unknown") chaos := i18n.G("unknown")

View File

@ -98,14 +98,10 @@ var AppNewCommand = &cobra.Command{
var recipeVersions recipePkg.RecipeVersions var recipeVersions recipePkg.RecipeVersions
if recipeVersion == "" { if recipeVersion == "" {
var err error var err error
var warnings []string recipeVersions, _, err = recipe.GetRecipeVersions()
recipeVersions, warnings, err = recipe.GetRecipeVersions()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
for _, warning := range warnings {
log.Warn(warning)
}
} }
if len(recipeVersions) > 0 { if len(recipeVersions) > 0 {
@ -114,8 +110,6 @@ var AppNewCommand = &cobra.Command{
recipeVersion = tag recipeVersion = tag
} }
log.Debug(i18n.G("selected recipe version: %s (from %d available versions)", recipeVersion, len(recipeVersions)))
if _, err := recipe.EnsureVersion(recipeVersion); err != nil { if _, err := recipe.EnsureVersion(recipeVersion); err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "Project-Id-Version: \n" msgstr "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: EMAIL\n" "Report-Msgid-Bugs-To: EMAIL\n"
"POT-Creation-Date: 2025-12-21 16:38+0100\n" "POT-Creation-Date: 2026-01-17 00:44+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -625,7 +625,7 @@ msgstr ""
msgid "C" msgid "C"
msgstr "" msgstr ""
#: ./cli/app/list.go:225 ./cli/app/ps.go:189 #: ./cli/app/list.go:232 ./cli/app/ps.go:189
msgid "CHAOS" msgid "CHAOS"
msgstr "" msgstr ""
@ -774,7 +774,7 @@ msgstr ""
msgid "DEPLOYED LABELS" msgid "DEPLOYED LABELS"
msgstr "" msgstr ""
#: ./cli/app/list.go:221 ./cli/internal/deploy.go:78 ./cli/internal/deploy.go:208 #: ./cli/app/list.go:228 ./cli/internal/deploy.go:78 ./cli/internal/deploy.go:208
msgid "DOMAIN" msgid "DOMAIN"
msgstr "" msgstr ""
@ -1143,7 +1143,7 @@ msgstr ""
msgid "README.md metadata filled in" msgid "README.md metadata filled in"
msgstr "" msgstr ""
#: ./cli/app/list.go:221 ./cli/internal/deploy.go:79 ./cli/internal/deploy.go:209 #: ./cli/app/list.go:228 ./cli/internal/deploy.go:79 ./cli/internal/deploy.go:209
msgid "RECIPE" msgid "RECIPE"
msgstr "" msgstr ""
@ -1259,7 +1259,7 @@ msgstr ""
msgid "Run app commands" msgid "Run app commands"
msgstr "" msgstr ""
#: ./cli/app/backup.go:303 ./cli/app/list.go:292 ./cli/app/logs.go:109 ./cli/app/new.go:389 #: ./cli/app/backup.go:303 ./cli/app/list.go:299 ./cli/app/logs.go:109 ./cli/app/new.go:389
msgid "S" msgid "S"
msgstr "" msgstr ""
@ -1271,7 +1271,7 @@ msgstr ""
msgid "SECRETS OVERVIEW" msgid "SECRETS OVERVIEW"
msgstr "" msgstr ""
#: ./cli/app/list.go:221 ./cli/internal/deploy.go:80 #: ./cli/app/list.go:228 ./cli/internal/deploy.go:80
msgid "SERVER" msgid "SERVER"
msgstr "" msgstr ""
@ -1296,7 +1296,7 @@ msgstr ""
msgid "SSO" msgid "SSO"
msgstr "" msgstr ""
#: ./cli/app/list.go:224 ./cli/app/ps.go:186 #: ./cli/app/list.go:231 ./cli/app/ps.go:186
msgid "STATUS" msgid "STATUS"
msgstr "" msgstr ""
@ -1481,7 +1481,7 @@ msgstr ""
msgid "UNDEPLOY" msgid "UNDEPLOY"
msgstr "" msgstr ""
#: ./cli/app/list.go:227 ./cli/internal/deploy.go:174 #: ./cli/app/list.go:234 ./cli/internal/deploy.go:174
msgid "UPGRADE" msgid "UPGRADE"
msgstr "" msgstr ""
@ -1581,7 +1581,7 @@ msgstr ""
msgid "VALUE" msgid "VALUE"
msgstr "" msgstr ""
#: ./cli/app/list.go:226 ./cli/app/ps.go:188 ./cli/app/secret.go:481 ./cli/recipe/version.go:69 ./cli/recipe/version.go:110 #: ./cli/app/list.go:233 ./cli/app/ps.go:188 ./cli/app/secret.go:481 ./cli/recipe/version.go:69 ./cli/recipe/version.go:110
msgid "VERSION" msgid "VERSION"
msgstr "" msgstr ""
@ -3386,7 +3386,7 @@ msgstr ""
msgid "labels <domain> [flags]" msgid "labels <domain> [flags]"
msgstr "" msgstr ""
#: ./cli/app/deploy.go:427 ./cli/app/list.go:182 #: ./cli/app/deploy.go:427 ./cli/app/list.go:189
msgid "latest" msgid "latest"
msgstr "" msgstr ""
@ -3510,11 +3510,11 @@ msgstr ""
#. with no spaces in between #. with no spaces in between
#. translators: `abra man` aliases. use a comma separated list of aliases #. translators: `abra man` aliases. use a comma separated list of aliases
#. with no spaces in between #. with no spaces in between
#: ./cli/app/list.go:315 ./cli/app/move.go:34 ./cli/app/ps.go:205 ./cli/app/secret.go:553 ./cli/app/secret.go:649 ./cli/recipe/list.go:104 ./cli/recipe/upgrade.go:374 ./cli/recipe/version.go:139 ./cli/run.go:152 ./cli/server/list.go:106 #: ./cli/app/list.go:322 ./cli/app/move.go:34 ./cli/app/ps.go:205 ./cli/app/secret.go:553 ./cli/app/secret.go:649 ./cli/recipe/list.go:104 ./cli/recipe/upgrade.go:374 ./cli/recipe/version.go:139 ./cli/run.go:152 ./cli/server/list.go:106
msgid "m" msgid "m"
msgstr "" msgstr ""
#: ./cli/app/list.go:314 ./cli/app/ps.go:204 ./cli/app/secret.go:552 ./cli/app/secret.go:648 ./cli/recipe/list.go:103 ./cli/recipe/upgrade.go:373 ./cli/recipe/version.go:138 ./cli/server/list.go:105 #: ./cli/app/list.go:321 ./cli/app/ps.go:204 ./cli/app/secret.go:552 ./cli/app/secret.go:648 ./cli/recipe/list.go:103 ./cli/recipe/upgrade.go:373 ./cli/recipe/version.go:138 ./cli/server/list.go:105
msgid "machine" msgid "machine"
msgstr "" msgstr ""
@ -4026,7 +4026,7 @@ msgstr ""
msgid "previous git tags detected, assuming new semver release" msgid "previous git tags detected, assuming new semver release"
msgstr "" msgstr ""
#: ./cli/app/list.go:317 ./cli/app/ps.go:207 ./cli/app/secret.go:555 ./cli/app/secret.go:651 ./cli/recipe/list.go:106 ./cli/recipe/upgrade.go:376 ./cli/recipe/version.go:141 ./cli/server/list.go:108 #: ./cli/app/list.go:324 ./cli/app/ps.go:207 ./cli/app/secret.go:555 ./cli/app/secret.go:651 ./cli/recipe/list.go:106 ./cli/recipe/upgrade.go:376 ./cli/recipe/version.go:141 ./cli/server/list.go:108
msgid "print machine-readable output" msgid "print machine-readable output"
msgstr "" msgstr ""
@ -4096,7 +4096,7 @@ msgstr ""
#. with no spaces in between #. with no spaces in between
#. translators: `abra recipe` aliases. use a comma separated list of aliases #. translators: `abra recipe` aliases. use a comma separated list of aliases
#. with no spaces in between #. with no spaces in between
#: ./cli/app/backup.go:327 ./cli/app/list.go:300 ./cli/app/move.go:350 ./cli/app/run.go:23 ./cli/app/upgrade.go:486 ./cli/catalogue/catalogue.go:302 ./cli/recipe/recipe.go:12 ./cli/recipe/release.go:649 ./cli/recipe/sync.go:274 #: ./cli/app/backup.go:327 ./cli/app/list.go:307 ./cli/app/move.go:350 ./cli/app/run.go:23 ./cli/app/upgrade.go:486 ./cli/catalogue/catalogue.go:302 ./cli/recipe/recipe.go:12 ./cli/recipe/release.go:649 ./cli/recipe/sync.go:274
msgid "r" msgid "r"
msgstr "" msgstr ""
@ -4174,7 +4174,7 @@ msgid "readme: %s, "
msgstr "" msgstr ""
#. translators: `abra recipe` command for autocompletion #. translators: `abra recipe` command for autocompletion
#: ./cli/app/list.go:299 ./cli/app/list.go:306 ./cli/run.go:99 #: ./cli/app/list.go:306 ./cli/app/list.go:313 ./cli/run.go:99
msgid "recipe" msgid "recipe"
msgstr "" msgstr ""
@ -4559,7 +4559,7 @@ msgstr ""
#. aliases with no spaces in between #. aliases with no spaces in between
#. translators: `abra server` aliases. use a comma separated list of aliases #. translators: `abra server` aliases. use a comma separated list of aliases
#. with no spaces in between #. with no spaces in between
#: ./cli/app/backup.go:198 ./cli/app/backup.go:263 ./cli/app/backup.go:287 ./cli/app/env.go:333 ./cli/app/list.go:323 ./cli/app/logs.go:101 ./cli/app/new.go:358 ./cli/app/restore.go:114 ./cli/app/secret.go:535 ./cli/catalogue/catalogue.go:27 ./cli/catalogue/catalogue.go:310 ./cli/recipe/fetch.go:130 ./cli/recipe/sync.go:28 ./cli/server/server.go:12 #: ./cli/app/backup.go:198 ./cli/app/backup.go:263 ./cli/app/backup.go:287 ./cli/app/env.go:333 ./cli/app/list.go:330 ./cli/app/logs.go:101 ./cli/app/new.go:358 ./cli/app/restore.go:114 ./cli/app/secret.go:535 ./cli/catalogue/catalogue.go:27 ./cli/catalogue/catalogue.go:310 ./cli/recipe/fetch.go:130 ./cli/recipe/sync.go:28 ./cli/server/server.go:12
msgid "s" msgid "s"
msgstr "" msgstr ""
@ -4626,7 +4626,7 @@ msgid "secrets are %s shown again, please save them %s"
msgstr "" msgstr ""
#. translators: `abra server` command for autocompletion #. translators: `abra server` command for autocompletion
#: ./cli/app/env.go:332 ./cli/app/env.go:339 ./cli/app/list.go:322 ./cli/app/list.go:329 ./cli/app/new.go:357 ./cli/app/new.go:364 ./cli/run.go:101 #: ./cli/app/env.go:332 ./cli/app/env.go:339 ./cli/app/list.go:329 ./cli/app/list.go:336 ./cli/app/new.go:357 ./cli/app/new.go:364 ./cli/run.go:101
msgid "server" msgid "server"
msgstr "" msgstr ""
@ -4748,15 +4748,15 @@ msgstr ""
msgid "show all paths" msgid "show all paths"
msgstr "" msgstr ""
#: ./cli/app/list.go:294 #: ./cli/app/list.go:301
msgid "show app deployment status" msgid "show app deployment status"
msgstr "" msgstr ""
#: ./cli/app/list.go:302 #: ./cli/app/list.go:309
msgid "show apps of a specific recipe" msgid "show apps of a specific recipe"
msgstr "" msgstr ""
#: ./cli/app/list.go:325 #: ./cli/app/list.go:332
msgid "show apps of a specific server" msgid "show apps of a specific server"
msgstr "" msgstr ""
@ -4898,7 +4898,7 @@ msgstr ""
msgid "ssh: SSH_AUTH_SOCK missing, --publish/-p will fail. see \"abra catalogue generate --help\"" msgid "ssh: SSH_AUTH_SOCK missing, --publish/-p will fail. see \"abra catalogue generate --help\""
msgstr "" msgstr ""
#: ./cli/app/list.go:291 ./cli/recipe/list.go:45 #: ./cli/app/list.go:298 ./cli/recipe/list.go:45
msgid "status" msgid "status"
msgstr "" msgstr ""
@ -5108,7 +5108,7 @@ msgstr ""
msgid "unable to clean up git clone of %s: %s" msgid "unable to clean up git clone of %s: %s"
msgstr "" msgstr ""
#: ./cli/app/list.go:148 #: ./cli/app/list.go:155
#, c-format #, c-format
msgid "unable to clone %s: %s" msgid "unable to clone %s: %s"
msgstr "" msgstr ""
@ -5241,7 +5241,7 @@ msgstr ""
msgid "unable to parse %s, skipping" msgid "unable to parse %s, skipping"
msgstr "" msgstr ""
#: ./cli/app/list.go:163 #: ./cli/app/list.go:170
#, c-format #, c-format
msgid "unable to parse %s, skipping as upgrade option" msgid "unable to parse %s, skipping as upgrade option"
msgstr "" msgstr ""
@ -5321,7 +5321,7 @@ msgstr ""
msgid "unable to retrieve container for %s: %s" msgid "unable to retrieve container for %s: %s"
msgstr "" msgstr ""
#: ./cli/app/list.go:153 #: ./cli/app/list.go:160
#, c-format #, c-format
msgid "unable to retrieve tags for %s: %s" msgid "unable to retrieve tags for %s: %s"
msgstr "" msgstr ""
@ -5415,7 +5415,7 @@ msgstr ""
msgid "unimplemented call: SetWriteDeadline(%v)" msgid "unimplemented call: SetWriteDeadline(%v)"
msgstr "" msgstr ""
#: ./cli/app/labels.go:78 ./cli/app/list.go:116 ./cli/app/list.go:117 ./cli/app/list.go:118 ./cli/app/list.go:119 ./cli/app/list.go:180 ./cli/app/ps.go:125 ./cli/app/ps.go:126 ./cli/app/ps.go:127 ./cli/app/ps.go:128 ./cli/app/ps.go:129 ./cli/server/list.go:65 ./cli/server/list.go:77 #: ./cli/app/labels.go:78 ./cli/app/list.go:123 ./cli/app/list.go:124 ./cli/app/list.go:125 ./cli/app/list.go:126 ./cli/app/list.go:187 ./cli/app/ps.go:125 ./cli/app/ps.go:126 ./cli/app/ps.go:127 ./cli/app/ps.go:128 ./cli/app/ps.go:129 ./cli/server/list.go:65 ./cli/server/list.go:77
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""

View File

@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: EMAIL\n" "Report-Msgid-Bugs-To: EMAIL\n"
"POT-Creation-Date: 2025-12-21 16:38+0100\n" "POT-Creation-Date: 2026-01-17 00:44+0100\n"
"PO-Revision-Date: 2025-12-10 01:43+0000\n" "PO-Revision-Date: 2025-12-10 01:43+0000\n"
"Last-Translator: chasqui <chasqui@cryptolab.net>\n" "Last-Translator: chasqui <chasqui@cryptolab.net>\n"
"Language-Team: Spanish <https://translate.coopcloud.tech/projects/co-op-cloud/abra/es/>\n" "Language-Team: Spanish <https://translate.coopcloud.tech/projects/co-op-cloud/abra/es/>\n"
@ -645,7 +645,7 @@ msgstr ""
msgid "C" msgid "C"
msgstr "" msgstr ""
#: cli/app/list.go:225 cli/app/ps.go:189 #: cli/app/list.go:232 cli/app/ps.go:189
msgid "CHAOS" msgid "CHAOS"
msgstr "" msgstr ""
@ -798,7 +798,7 @@ msgstr ""
msgid "DEPLOYED LABELS" msgid "DEPLOYED LABELS"
msgstr "" msgstr ""
#: cli/app/list.go:221 cli/internal/deploy.go:78 cli/internal/deploy.go:208 #: cli/app/list.go:228 cli/internal/deploy.go:78 cli/internal/deploy.go:208
msgid "DOMAIN" msgid "DOMAIN"
msgstr "" msgstr ""
@ -1178,7 +1178,7 @@ msgstr ""
msgid "README.md metadata filled in" msgid "README.md metadata filled in"
msgstr "" msgstr ""
#: cli/app/list.go:221 cli/internal/deploy.go:79 cli/internal/deploy.go:209 #: cli/app/list.go:228 cli/internal/deploy.go:79 cli/internal/deploy.go:209
msgid "RECIPE" msgid "RECIPE"
msgstr "" msgstr ""
@ -1298,7 +1298,7 @@ msgstr ""
msgid "Run app commands" msgid "Run app commands"
msgstr "💻 Ejecutar comandos en una aplicación 🚀" msgstr "💻 Ejecutar comandos en una aplicación 🚀"
#: cli/app/backup.go:303 cli/app/list.go:292 cli/app/logs.go:109 #: cli/app/backup.go:303 cli/app/list.go:299 cli/app/logs.go:109
#: cli/app/new.go:389 #: cli/app/new.go:389
msgid "S" msgid "S"
msgstr "" msgstr ""
@ -1311,7 +1311,7 @@ msgstr ""
msgid "SECRETS OVERVIEW" msgid "SECRETS OVERVIEW"
msgstr "" msgstr ""
#: cli/app/list.go:221 cli/internal/deploy.go:80 #: cli/app/list.go:228 cli/internal/deploy.go:80
msgid "SERVER" msgid "SERVER"
msgstr "" msgstr ""
@ -1337,7 +1337,7 @@ msgstr ""
msgid "SSO" msgid "SSO"
msgstr "" msgstr ""
#: cli/app/list.go:224 cli/app/ps.go:186 #: cli/app/list.go:231 cli/app/ps.go:186
msgid "STATUS" msgid "STATUS"
msgstr "" msgstr ""
@ -1530,7 +1530,7 @@ msgstr ""
msgid "UNDEPLOY" msgid "UNDEPLOY"
msgstr "" msgstr ""
#: cli/app/list.go:227 cli/internal/deploy.go:174 #: cli/app/list.go:234 cli/internal/deploy.go:174
msgid "UPGRADE" msgid "UPGRADE"
msgstr "" msgstr ""
@ -1635,7 +1635,7 @@ msgstr ""
msgid "VALUE" msgid "VALUE"
msgstr "" msgstr ""
#: cli/app/list.go:226 cli/app/ps.go:188 cli/app/secret.go:481 #: cli/app/list.go:233 cli/app/ps.go:188 cli/app/secret.go:481
#: cli/recipe/version.go:69 cli/recipe/version.go:110 #: cli/recipe/version.go:69 cli/recipe/version.go:110
msgid "VERSION" msgid "VERSION"
msgstr "" msgstr ""
@ -3474,7 +3474,7 @@ msgstr ""
msgid "labels <domain> [flags]" msgid "labels <domain> [flags]"
msgstr "etiquetas <domain> [flags]" msgstr "etiquetas <domain> [flags]"
#: cli/app/deploy.go:427 cli/app/list.go:182 #: cli/app/deploy.go:427 cli/app/list.go:189
msgid "latest" msgid "latest"
msgstr "" msgstr ""
@ -3601,14 +3601,14 @@ msgstr "plataformas"
#. with no spaces in between #. with no spaces in between
#. translators: `abra man` aliases. use a comma separated list of aliases #. translators: `abra man` aliases. use a comma separated list of aliases
#. with no spaces in between #. with no spaces in between
#: cli/app/list.go:315 cli/app/move.go:34 cli/app/ps.go:205 #: cli/app/list.go:322 cli/app/move.go:34 cli/app/ps.go:205
#: cli/app/secret.go:553 cli/app/secret.go:649 cli/recipe/list.go:104 #: cli/app/secret.go:553 cli/app/secret.go:649 cli/recipe/list.go:104
#: cli/recipe/upgrade.go:374 cli/recipe/version.go:139 cli/run.go:152 #: cli/recipe/upgrade.go:374 cli/recipe/version.go:139 cli/run.go:152
#: cli/server/list.go:106 #: cli/server/list.go:106
msgid "m" msgid "m"
msgstr "" msgstr ""
#: cli/app/list.go:314 cli/app/ps.go:204 cli/app/secret.go:552 #: cli/app/list.go:321 cli/app/ps.go:204 cli/app/secret.go:552
#: cli/app/secret.go:648 cli/recipe/list.go:103 cli/recipe/upgrade.go:373 #: cli/app/secret.go:648 cli/recipe/list.go:103 cli/recipe/upgrade.go:373
#: cli/recipe/version.go:138 cli/server/list.go:105 #: cli/recipe/version.go:138 cli/server/list.go:105
msgid "machine" msgid "machine"
@ -4134,7 +4134,7 @@ msgstr ""
msgid "previous git tags detected, assuming new semver release" msgid "previous git tags detected, assuming new semver release"
msgstr "" msgstr ""
#: cli/app/list.go:317 cli/app/ps.go:207 cli/app/secret.go:555 #: cli/app/list.go:324 cli/app/ps.go:207 cli/app/secret.go:555
#: cli/app/secret.go:651 cli/recipe/list.go:106 cli/recipe/upgrade.go:376 #: cli/app/secret.go:651 cli/recipe/list.go:106 cli/recipe/upgrade.go:376
#: cli/recipe/version.go:141 cli/server/list.go:108 #: cli/recipe/version.go:141 cli/server/list.go:108
msgid "print machine-readable output" msgid "print machine-readable output"
@ -4207,7 +4207,7 @@ msgstr ""
#. with no spaces in between #. with no spaces in between
#. translators: `abra recipe` aliases. use a comma separated list of aliases #. translators: `abra recipe` aliases. use a comma separated list of aliases
#. with no spaces in between #. with no spaces in between
#: cli/app/backup.go:327 cli/app/list.go:300 cli/app/move.go:350 #: cli/app/backup.go:327 cli/app/list.go:307 cli/app/move.go:350
#: cli/app/run.go:23 cli/app/upgrade.go:486 cli/catalogue/catalogue.go:302 #: cli/app/run.go:23 cli/app/upgrade.go:486 cli/catalogue/catalogue.go:302
#: cli/recipe/recipe.go:12 cli/recipe/release.go:649 cli/recipe/sync.go:274 #: cli/recipe/recipe.go:12 cli/recipe/release.go:649 cli/recipe/sync.go:274
msgid "r" msgid "r"
@ -4288,7 +4288,7 @@ msgid "readme: %s, "
msgstr "" msgstr ""
#. translators: `abra recipe` command for autocompletion #. translators: `abra recipe` command for autocompletion
#: cli/app/list.go:299 cli/app/list.go:306 cli/run.go:99 #: cli/app/list.go:306 cli/app/list.go:313 cli/run.go:99
msgid "recipe" msgid "recipe"
msgstr "" msgstr ""
@ -4677,7 +4677,7 @@ msgstr ""
#. translators: `abra server` aliases. use a comma separated list of aliases #. translators: `abra server` aliases. use a comma separated list of aliases
#. with no spaces in between #. with no spaces in between
#: cli/app/backup.go:198 cli/app/backup.go:263 cli/app/backup.go:287 #: cli/app/backup.go:198 cli/app/backup.go:263 cli/app/backup.go:287
#: cli/app/env.go:333 cli/app/list.go:323 cli/app/logs.go:101 #: cli/app/env.go:333 cli/app/list.go:330 cli/app/logs.go:101
#: cli/app/new.go:358 cli/app/restore.go:114 cli/app/secret.go:535 #: cli/app/new.go:358 cli/app/restore.go:114 cli/app/secret.go:535
#: cli/catalogue/catalogue.go:27 cli/catalogue/catalogue.go:310 #: cli/catalogue/catalogue.go:27 cli/catalogue/catalogue.go:310
#: cli/recipe/fetch.go:130 cli/recipe/sync.go:28 cli/server/server.go:12 #: cli/recipe/fetch.go:130 cli/recipe/sync.go:28 cli/server/server.go:12
@ -4747,8 +4747,8 @@ msgid "secrets are %s shown again, please save them %s"
msgstr "" msgstr ""
#. translators: `abra server` command for autocompletion #. translators: `abra server` command for autocompletion
#: cli/app/env.go:332 cli/app/env.go:339 cli/app/list.go:322 #: cli/app/env.go:332 cli/app/env.go:339 cli/app/list.go:329
#: cli/app/list.go:329 cli/app/new.go:357 cli/app/new.go:364 cli/run.go:101 #: cli/app/list.go:336 cli/app/new.go:357 cli/app/new.go:364 cli/run.go:101
msgid "server" msgid "server"
msgstr "" msgstr ""
@ -4871,15 +4871,15 @@ msgstr ""
msgid "show all paths" msgid "show all paths"
msgstr "" msgstr ""
#: cli/app/list.go:294 #: cli/app/list.go:301
msgid "show app deployment status" msgid "show app deployment status"
msgstr "" msgstr ""
#: cli/app/list.go:302 #: cli/app/list.go:309
msgid "show apps of a specific recipe" msgid "show apps of a specific recipe"
msgstr "" msgstr ""
#: cli/app/list.go:325 #: cli/app/list.go:332
msgid "show apps of a specific server" msgid "show apps of a specific server"
msgstr "" msgstr ""
@ -5021,7 +5021,7 @@ msgstr ""
msgid "ssh: SSH_AUTH_SOCK missing, --publish/-p will fail. see \"abra catalogue generate --help\"" msgid "ssh: SSH_AUTH_SOCK missing, --publish/-p will fail. see \"abra catalogue generate --help\""
msgstr "" msgstr ""
#: cli/app/list.go:291 cli/recipe/list.go:45 #: cli/app/list.go:298 cli/recipe/list.go:45
msgid "status" msgid "status"
msgstr "" msgstr ""
@ -5233,7 +5233,7 @@ msgstr ""
msgid "unable to clean up git clone of %s: %s" msgid "unable to clean up git clone of %s: %s"
msgstr "" msgstr ""
#: cli/app/list.go:148 #: cli/app/list.go:155
#, c-format #, c-format
msgid "unable to clone %s: %s" msgid "unable to clone %s: %s"
msgstr "" msgstr ""
@ -5367,7 +5367,7 @@ msgstr ""
msgid "unable to parse %s, skipping" msgid "unable to parse %s, skipping"
msgstr "" msgstr ""
#: cli/app/list.go:163 #: cli/app/list.go:170
#, c-format #, c-format
msgid "unable to parse %s, skipping as upgrade option" msgid "unable to parse %s, skipping as upgrade option"
msgstr "" msgstr ""
@ -5448,7 +5448,7 @@ msgstr ""
msgid "unable to retrieve container for %s: %s" msgid "unable to retrieve container for %s: %s"
msgstr "🥷 Genera secretos (contraseñas) automáticamente 🤖" msgstr "🥷 Genera secretos (contraseñas) automáticamente 🤖"
#: cli/app/list.go:153 #: cli/app/list.go:160
#, c-format #, c-format
msgid "unable to retrieve tags for %s: %s" msgid "unable to retrieve tags for %s: %s"
msgstr "" msgstr ""
@ -5542,8 +5542,8 @@ msgstr ""
msgid "unimplemented call: SetWriteDeadline(%v)" msgid "unimplemented call: SetWriteDeadline(%v)"
msgstr "" msgstr ""
#: cli/app/labels.go:78 cli/app/list.go:116 cli/app/list.go:117 #: cli/app/labels.go:78 cli/app/list.go:123 cli/app/list.go:124
#: cli/app/list.go:118 cli/app/list.go:119 cli/app/list.go:180 #: cli/app/list.go:125 cli/app/list.go:126 cli/app/list.go:187
#: cli/app/ps.go:125 cli/app/ps.go:126 cli/app/ps.go:127 cli/app/ps.go:128 #: cli/app/ps.go:125 cli/app/ps.go:126 cli/app/ps.go:127 cli/app/ps.go:128
#: cli/app/ps.go:129 cli/server/list.go:65 cli/server/list.go:77 #: cli/app/ps.go:129 cli/server/list.go:65 cli/server/list.go:77
msgid "unknown" msgid "unknown"

View File

@ -403,18 +403,15 @@ func (r Recipe) GetRecipeVersions() (RecipeVersions, []string, error) {
Branch: plumbing.ReferenceName(ref.Name()), Branch: plumbing.ReferenceName(ref.Name()),
} }
if err := worktree.Checkout(checkOutOpts); err != nil { if err := worktree.Checkout(checkOutOpts); err != nil {
log.Debug(i18n.G("failed to check out %s in %s: %s", tag, r.Dir, err)) log.Debug(i18n.G("failed to check out %s in %s", tag, r.Dir))
warnMsg = append(warnMsg, i18n.G("skipping tag %s: checkout failed: %s", tag, err)) return err
return nil
} }
log.Debug(i18n.G("git checkout: %s in %s", ref.Name(), r.Dir)) log.Debug(i18n.G("git checkout: %s in %s", ref.Name(), r.Dir))
config, err := r.GetComposeConfig(nil) config, err := r.GetComposeConfig(nil)
if err != nil { if err != nil {
log.Debug(i18n.G("failed to get compose config for %s: %s", tag, err)) return err
warnMsg = append(warnMsg, i18n.G("skipping tag %s: invalid compose config: %s", tag, err))
return nil
} }
versionMeta := make(map[string]ServiceMeta) versionMeta := make(map[string]ServiceMeta)
@ -422,9 +419,7 @@ func (r Recipe) GetRecipeVersions() (RecipeVersions, []string, error) {
img, err := reference.ParseNormalizedNamed(service.Image) img, err := reference.ParseNormalizedNamed(service.Image)
if err != nil { if err != nil {
log.Debug(i18n.G("failed to parse image for %s in %s: %s", service.Name, tag, err)) return err
warnMsg = append(warnMsg, i18n.G("skipping tag %s: invalid image reference in service %s: %s", tag, service.Name, err))
return nil
} }
path := reference.Path(img) path := reference.Path(img)
@ -450,7 +445,6 @@ func (r Recipe) GetRecipeVersions() (RecipeVersions, []string, error) {
return nil return nil
}); err != nil { }); err != nil {
log.Warn(i18n.G("GetRecipeVersions encountered error for %s: %s (collected %d versions)", r.Name, err, len(versions)))
return versions, warnMsg, nil return versions, warnMsg, nil
} }

View File

@ -67,6 +67,16 @@ teardown(){
assert_output --partial "$TEST_SERVER" assert_output --partial "$TEST_SERVER"
assert_output --partial "$TEST_APP_DOMAIN" assert_output --partial "$TEST_APP_DOMAIN"
assert_output --partial "deployed" assert_output --partial "deployed"
assert_output --partial "latest"
_remove_tags
run $ABRA app ls --status
assert_success
assert_output --partial "$TEST_SERVER"
assert_output --partial "$TEST_APP_DOMAIN"
assert_output --partial "deployed"
assert_output --partial "latest"
} }
@test "filter by server" { @test "filter by server" {

View File

@ -17,7 +17,12 @@ _remove_tags(){
run bash -c 'git -C "$ABRA_DIR/recipes/$TEST_RECIPE" tag -l | wc -l' run bash -c 'git -C "$ABRA_DIR/recipes/$TEST_RECIPE" tag -l | wc -l'
assert_success assert_success
assert_output '0' # If this was done without the --regexp I get this error:
# -- output differs --
# expected : 0
# actual : 0
# --
assert_output --regexp '[[:space:]]0'
} }
_reset_tags() { _reset_tags() {