Closed CFin86 closed 5 years ago
It is unclear from here how those builds were working prior to #227. Seems the customers in question are using a custom workflow, possibly based on an old version of the build tools scripts.
It seems like a mistake to be installing the latest unstable Terminus Build Tools plugin on every build if you're running really old versions of the scripts. In any event, there isn't enough info here for us to be of any help.
I can say, though, that usually TERMINUS_ENV is set from Circle variables; in the past, it used to be set from the branch name, but more recently it is set based on the Circle build number.
Sometimes, customers have been known to always use the dev environment for their builds, e.g. if they do not have multidev capability. In this instance, there should be no need to run build:env:create, though.
@CFin86 Terminus Build Tools 2.x
is still in beta and this was a bug that, as Greg mentioned, has since been fixed.
One thing to understand about Terminus Build Tools is that it scaffolds one of our example repositories at the point in time when the project was created. Those examples are meant to be a template/starting place and for users to modify it to fit their needs.
In the current iteration, the 6.x
tag of our Dockerfile pantheon-systems/docker-build-tools-ci
sets a $DEFAULT_BRANCH
variable and the example repositories use $DEFAULT_BRANCH
to determine if a multidev should be created.
If they update to using the 6.x
version of the Dockerfile and the script linked above it should help. However, these are only examples and we don't have a clear, documented migration path.
Hello,
I use this repo as boilerplate for my project with the Lando.
Docker image: drupaldocker/php:7.1-cli
Also,
I tried a few months ago update terminus to the latest version, but in this case, some plugins don't work with the new version of the terminus.
About error in circleCI,
With a full script from repo:
With the commented #Cleanup old multidevs code strings
You can close this issue, I updated docker container and ci deploy scripts.
@CFin86 One of those customers was my colleague. We were using a modified version of the deploy script from v1, which stopped working yesterday.
For anyone else experiencing the same issue, we were able to get back up and running by doing the following:
deploy-to-pantheon.sh
file with the new dev-multidev.sh
one.- - image: quay.io/pantheon-public/build-tools-ci:3.x
+ - image: quay.io/pantheon-public/build-tools-ci:6.x
@tedw Thank you for steps on getting your scripts up to date and working again. Do you know what the cause of failure was, though? If you were using the 3.x image, then you should be using a pinned version of the Build Tools plugin. In that configuration, your tests should not break when a new dev version of the Build Tools plugin is released.
Have you defined the BUILD_TOOLS_VERSION
environment variable for some reason?
@greg-1-anderson Sorry for late reply, was on PTO. Yes, we had BUILD_TOOLS_VERSION: ^2.0.0-beta12
in our config.yml
file—should we remove that then?
Yes, the BUILD_TOOLS_VERSION
environment variable is only intended to be used to test the Build Tools plugin itself. When using the docker image in your tests, you should use whatever version is bundled with the docker container.
@tedw any update on this?
@ataylorme Thanks for following up, we are good now. In addition to removing the BUILD_TOOLS_VERSION
variable we also had to update this line:
- composer create-project -n -d $HOME/.terminus/plugins pantheon-systems/terminus-build-tools-plugin:$BUILD_TOOLS_VERSION
+ composer create-project --no-dev -d $HOME/.terminus/plugins pantheon-systems/terminus-build-tools-plugin:^2.0.0-beta15
@tedw sounds good! Keep an eye on the Build Tools repo for a stable release in the coming months as we are actively working on version 2
.
Had two separate customers open chats this morning with this identical code. https://gist.github.com/CFin86/a5be9642b6a76a489df7ef0eda776fb1
It's now failing gracefully as intended due to PR #227
To me, on line 14 it looks as if $TERMINUS_SITE.dev and $TERMINUS_ENV are evaluating to the same value.
Any insight on how to set $TERMINUS_ENV is much appreciated.
Thanks in advance!