-
Notifications
You must be signed in to change notification settings - Fork 21
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
Moving automation into workbench libs #134
Conversation
@@ -3,6 +3,7 @@ | |||
{{with $environment := env "ENVIRONMENT"}} | |||
{{with $dir := env "ROOT_DIR"}} | |||
{{with $local_ui := env "LOCAL_UI"}} | |||
{{with $trialBillingPemSecrets := vault (printf "secret/dsde/firecloud/%s/common/trial-billing-account.pem" $environment)}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of these additions are not used by Leonardo automation, but they are required by the current iteration of workbench-libs automation config. Removing these is a TODO but let's not block on it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should vault-y confs be living in a public repo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
every repo will be getting this
@@ -35,13 +37,14 @@ object Dependencies { | |||
"com.typesafe.akka" %% "akka-testkit" % akkaV % "test", | |||
"com.typesafe.akka" %% "akka-slf4j" % akkaV, | |||
"org.specs2" %% "specs2-core" % "3.7" % "test", | |||
"org.scalatest" %% "scalatest" % "2.2.6" % "test", | |||
"org.scalatest" %% "scalatest" % "3.0.1" % "test", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This update to match workbench-service-test
required changes in how we use eventually
@@ -1,6 +1,6 @@ | |||
package org.broadinstitute.dsde.firecloud.page | |||
|
|||
import org.broadinstitute.dsde.workbench.util.WebBrowserUtil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO non-blocker: Remove most of the page
classes from Leonardo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we github ticket these todos?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep I'll write something up
val actualCluster = eventually { | ||
clusterCheck(Leonardo.cluster.get(googleProject, clusterName), clusterRequest.labels, googleProject, clusterName, Seq(ClusterStatus.Running, ClusterStatus.Error), clusterRequest.jupyterExtensionUri) | ||
} (clusterPatience) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ScalaTest 3 makes it more difficult to pass patience
as a parameter
GIT_SHA=$(git rev-parse ${GIT_BRANCH}) | ||
echo GIT_SHA=$GIT_SHA > env.properties # for jenkins jobs | ||
docker build -t $REPO:${GIT_SHA:0:12} . | ||
echo "building $PROJECT docker image..." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes enable new-style Jenkins builds
jenkins retest |
Initial Jenkins-pipeline failed because clusters were in Error state. Trying again. |
jenkins retest |
@@ -7,11 +7,13 @@ object Dependencies { | |||
|
|||
val workbenchModelV = "0.8-d97f551" | |||
val workbenchGoogleV = "0.10-b95b2c1" | |||
val serviceTestV = "0.1-c5a3162-SNAP" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should update to non-SNAP; I guess that is dependent on the workbench-libs PR being merged.
|
||
val excludeWorkbenchModel = ExclusionRule(organization = "org.broadinstitute.dsde.workbench", name = "workbench-model_2.11") | ||
|
||
val workbenchModel: ModuleID = "org.broadinstitute.dsde.workbench" %% "workbench-model" % workbenchModelV | ||
val workbenchGoogle: ModuleID = "org.broadinstitute.dsde.workbench" %% "workbench-google" % workbenchGoogleV excludeAll excludeWorkbenchModel | ||
val workbenchServiceTest: ModuleID = "org.broadinstitute.dsde.workbench" %% "workbench-service-test" % serviceTestV % "test" classifier "tests" excludeAll excludeWorkbenchModel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wonder if we should be excluding both workbenchModel
and workbenchGoogle
?
|
||
case class LeoAuthToken(value: String) | ||
|
||
case object LeoAuthToken extends AuthToken { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am curious how this class is different from AuthToken
, UserAuthToken
, ServiceAccountAuthToken
classes in workbench-libs:
Could one of those classes be used instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've got a card already for the next iteration of this - I can add refactoring this to it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And I've added it.
val ronAuthToken = AuthToken(LeonardoConfig.Users.ron) | ||
val hermioneAuthToken = AuthToken(LeonardoConfig.Users.hermione) | ||
val ronEmail = LeonardoConfig.Users.ron.email | ||
// Ron and Hermione are on the dev Leo whitelist, and Hermione is a Project Owner |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What whitelist? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Heh, good point. I would like to defer those changes please :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple minor questions, overall big 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A very long sbt module name for workbenchServiceTest. project compiled cleanly, and Leonardo tests passed.
* use workbench libs * auth token for leo, other deletions, tweaks * adding methods to configs * adding some more info * forgot to render users.json * build/push swat tests docker image in jenkins build script * all up to date * syncing users json * Add campaignManagers to users * workbench-libs needs these (TODO remove) * fix for app conf * real fix for app conf * Hermione and Ron * more app conf fix * more app conf ctmpl * Update scalatest version for workbench-libs compatibility * implicits are the devil * dammit weasley * MORE PATIENCE * fix build script when pushing to develop * save git SHA during build script
* use workbench libs * auth token for leo, other deletions, tweaks * adding methods to configs * adding some more info * forgot to render users.json * build/push swat tests docker image in jenkins build script * all up to date * syncing users json * Add campaignManagers to users * workbench-libs needs these (TODO remove) * fix for app conf * real fix for app conf * Hermione and Ron * more app conf fix * more app conf ctmpl * Update scalatest version for workbench-libs compatibility * implicits are the devil * dammit weasley * MORE PATIENCE * fix build script when pushing to develop * save git SHA during build script
* use workbench libs * auth token for leo, other deletions, tweaks * adding methods to configs * adding some more info * forgot to render users.json * build/push swat tests docker image in jenkins build script * all up to date * syncing users json * Add campaignManagers to users * workbench-libs needs these (TODO remove) * fix for app conf * real fix for app conf * Hermione and Ron * more app conf fix * more app conf ctmpl * Update scalatest version for workbench-libs compatibility * implicits are the devil * dammit weasley * MORE PATIENCE * fix build script when pushing to develop * save git SHA during build script
* use workbench libs * auth token for leo, other deletions, tweaks * adding methods to configs * adding some more info * forgot to render users.json * build/push swat tests docker image in jenkins build script * all up to date * syncing users json * Add campaignManagers to users * workbench-libs needs these (TODO remove) * fix for app conf * real fix for app conf * Hermione and Ron * more app conf fix * more app conf ctmpl * Update scalatest version for workbench-libs compatibility * implicits are the devil * dammit weasley * MORE PATIENCE * fix build script when pushing to develop * save git SHA during build script
* use workbench libs * auth token for leo, other deletions, tweaks * adding methods to configs * adding some more info * forgot to render users.json * build/push swat tests docker image in jenkins build script * all up to date * syncing users json * Add campaignManagers to users * workbench-libs needs these (TODO remove) * fix for app conf * real fix for app conf * Hermione and Ron * more app conf fix * more app conf ctmpl * Update scalatest version for workbench-libs compatibility * implicits are the devil * dammit weasley * MORE PATIENCE * fix build script when pushing to develop * save git SHA during build script
<your comments for this PR go here>
Have you read CONTRIBUTING.md lately? If not, do that first.
I, the developer opening this PR, do solemnly pinky swear that:
In all cases: