Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Genesis pipelines - This kit needs at least Genesis '2.8.6'. Please upgrade and try again. #226

Open
ahartpence opened this issue Mar 6, 2024 · 0 comments

Comments

@ahartpence
Copy link
Contributor

Environment Setup

  • Genesis Version: 2.8.12
  • Component: CF Pipelines
  • Target Deployment Environment: AWS

Issue Description

Inside of our pipeline we encountering a deployment error. The error message indicates a version mismatch, specifically stating that Genesis version 2.8.6 or higher is required for deployment. However, our environment is currently running Genesis version 2.8.12, which exceeds the minimum requirement.

Suspected Cause

We suspect the issue may stem from either the specific check in this kit or from the new_enough function within Genesis. The relevant sections of code are as follows:
https://github.com/genesis-community/cf-genesis-kit/blob/ocfp/hooks/blueprint#L983
https://github.com/genesis-community/genesis/blob/v3.0.x-dev/t/helper.pm#L132

We ran the pipeline with -T to see trace output, and we can see that the version is picked up as 2.8.12 but is still failing out with the error. Our suspicions are that there is a bug to that genesis is evaluating 2.8.12 as 2.8.1 which would fail the check

Output of genesis -T ci-pipeline-deploy:

set -ue
14:55:29+ genesis_min_version=2.8.6
14:55:29++ genesis -v
14:55:29++ awk '{gsub("v",""); print $2}'
14:55:29+ genesis_version='[[command /usr/bin/genesis DEBUG /usr/bin/genesis /usr/bin/genesis DEBUG 2.8.12 return'
14:55:29+ [[ [[command /usr/bin/genesis DEBUG /usr/bin/genesis /usr/bin/genesis DEBUG 2.8.12 return =~ -dev$ ]]
14:55:29+ new_enough '[[command /usr/bin/genesis DEBUG /usr/bin/genesis /usr/bin/genesis DEBUG 2.8.12 return' 2.8.6
14:55:29++ printf '%s\n' huxB
14:55:29++ grep e
14:55:29+ check_errors=
14:55:29+ set +e
14:55:29+ local '__have=[[command /usr/bin/genesis DEBUG /usr/bin/genesis /usr/bin/genesis DEBUG 2.8.12 return'
14:55:29+ local __min=2.8.6
14:55:29+ genesis ui-semver '[[command /usr/bin/genesis DEBUG /usr/bin/genesis /usr/bin/genesis DEBUG 2.8.12 return' ge 2.8.6
14:55:29+ [[ -z /usr/bin/genesis ]]
14:55:29+ command /usr/bin/genesis -C /tmp/build/b0b784e0/git ui-semver '[[command /usr/bin/genesis DEBUG /usr/bin/genesis /usr/bin/genesis DEBUG 2.8.12 return' ge 2.8.6
14:55:29+ /usr/bin/genesis -C /tmp/build/b0b784e0/git ui-semver '[[command /usr/bin/genesis DEBUG /usr/bin/genesis /usr/bin/genesis DEBUG 2.8.12 return' ge 2.8.6
14:55:29 DEBUG ⮀ bin:       genesis
14:55:29         path_bin:  /usr/bin/genesis
14:55:29         humanized: /usr/bin/genesis
14:55:29 DEBUG ⮀ genesis callback (using vault 'deployments-vault')...
14:55:29 TRACE ⮀ running command 'ui-semver'
14:55:29         ⬑  ~/.geese/genesis:L3708 (in main::main)
14:55:29         TRACE ⮀ arguments are [-C, /tmp/build/b0b784e0/git, [[command /usr/bin/genesis DEBUG /usr/bin/genesis /usr/bin/genesis DEBUG 2.8.12 return, ge, 2.8.6]
14:55:29         ⬑  ~/.geese/genesis:L3709 (in main::main)
14:55:29 DEBUG ⮀ changing current working directory to /tmp/build/b0b784e0/git/
14:55:29+ return 1
14:55:29+ rc=1
14:55:29+ [[ -z '' ]]
14:55:29+ return 1
14:55:29+ fail 'This kit needs at least Genesis '\''2.8.6'\''. \n\tPlease upgrade and try again.'
14:55:29++ echo -e 'This kit needs at least Genesis '\''2.8.6'\''. \n\tPlease upgrade and try again.'
14:55:29+ bail '#R{[ERROR]} This kit needs at least Genesis '\''2.8.6'\''. Please upgrade and try again.'
14:55:29+ local rc=1
14:55:29+ [[ #R{[ERROR]} This kit needs at least Genesis '2.8.6'. Please upgrade and try again. == \-\-\r\c ]]
14:55:29+ describe '#R{[ERROR]} This kit needs at least Genesis '\''2.8.6'\''. Please upgrade and try again.'
14:55:29+ /usr/bin/perl -I/root/.geese/lib -MGenesis -e 'binmode STDOUT, ":encoding(UTF-8)"; explain("%s",$_) for @ARGV' '#R{[ERROR]} This kit needs at least Genesis '\''2.8.6'\''. Please upgrade and try again.'
14:55:29[ERROR] This kit needs at least Genesis '2.8.6'. Please upgrade and try again.
14:55:29+ exit 1
14:55:29 TRACE ⮀ command duration: 0 seconds
14:55:29 VALUE ⮀ run_output = ''
14:55:29         ⬑  ~/.geese/lib/Genesis/Kit.pm:L191 (in Genesis::Kit::run_hook)
14:55:29         TRACE ⮀ command exited with status 100 (rc 1)
14:55:29         ⬑  ~/.geese/lib/Genesis.pm:L552 (in Genesis::run)
14:55:29         ERROR ⮀ [ERROR] Could not determine which YAML files to merge: 'blueprint' hook exited with 1:
14:55:29         stdout:
14:55:29         No stdout provided
14:55:29         ⬑  ~/.geese/lib/Genesis/Kit.pm:L212 (in Genesis::Kit::run_hook)
14:55:29Deployment failed!
14:55:29[ERROR] Could not determine which YAML files to merge: 'blueprint' hook exited with 1:
14:55:29stdout:
14:55:29No stdout provided
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant