Skip to content

Commit

Permalink
Merge pull request #372 from jstrachan/changes40
Browse files Browse the repository at this point in the history
fix: pass in the requirements to setup git
  • Loading branch information
jenkins-x-bot-test authored May 10, 2021
2 parents 8452bca + c31ca9b commit ea2f672
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 9 deletions.
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ require (
github.com/cpuguy83/go-md2man v1.0.10
github.com/hashicorp/go-retryablehttp v0.6.6 // indirect
github.com/hashicorp/vault/api v1.0.5-0.20190909201928-35325e2c3262 // indirect
github.com/jenkins-x-plugins/jx-gitops v0.2.78
github.com/jenkins-x-plugins/jx-gitops v0.2.83
github.com/jenkins-x/go-scm v1.8.2
github.com/jenkins-x/jx-api/v4 v4.0.29
github.com/jenkins-x/jx-helpers/v3 v3.0.111
github.com/jenkins-x/jx-helpers/v3 v3.0.112
github.com/jenkins-x/jx-logging/v3 v3.0.6
github.com/mitchellh/mapstructure v1.3.1 // indirect
github.com/pkg/errors v0.9.1
Expand Down
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -766,25 +766,25 @@ github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869 h1:IPJ3dvxmJ4uc
github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag=
github.com/jenkins-x-plugins/jx-charter v0.0.23 h1:rsn8vNdb7VvL05rUkQffOvk8+yxRkxnQQMTmh75DPxY=
github.com/jenkins-x-plugins/jx-charter v0.0.23/go.mod h1:+amEHK4AU61UJ5B1qa55lxFYcs8SvvXKb0mmm2sUjxI=
github.com/jenkins-x-plugins/jx-gitops v0.2.78 h1:pPNvSuvpMCTYc7gGoDtaanI3reASCK9ftHORpgSxotw=
github.com/jenkins-x-plugins/jx-gitops v0.2.78/go.mod h1:xqOsCB6sXz8Cpoz7OI1GX+pXQXuT7VwvIhpZ72C9KKQ=
github.com/jenkins-x-plugins/jx-gitops v0.2.83 h1:rT4BLpbfckGRJubHF8ER1XOSA5T60OScuz01u6pgmEM=
github.com/jenkins-x-plugins/jx-gitops v0.2.83/go.mod h1:UNZMVlumNMW9B/lhUBtIeQvCd+/TV5ENqhKiZFi/LFU=
github.com/jenkins-x/go-scm v1.5.117/go.mod h1:PCT338UhP/pQ0IeEeMEf/hoLTYKcH7qjGEKd7jPkeYg=
github.com/jenkins-x/go-scm v1.7.1/go.mod h1:z7xTO9/VzqW3xEbEMH2z5cpOGrZ8+nOHOWfU1ngFGxs=
github.com/jenkins-x/go-scm v1.8.2 h1:GMEUz6ap0pAeyUkwWP3SQxJoz/qN+tJmCkr9sWvbXs4=
github.com/jenkins-x/go-scm v1.8.2/go.mod h1:z7xTO9/VzqW3xEbEMH2z5cpOGrZ8+nOHOWfU1ngFGxs=
github.com/jenkins-x/jx-api/v4 v4.0.29 h1:Bu7dQJD2exsFrJNRQM6awZk9XeapZwAegHe4xBaRmrw=
github.com/jenkins-x/jx-api/v4 v4.0.29/go.mod h1:IC88X+24Nmexuj7lRNRgzfrchzlo0qysfwkICpqDmMQ=
github.com/jenkins-x/jx-helpers/v3 v3.0.106/go.mod h1:w3hmKjYrr6Oziqmdj/aLwoGbOkDUvWSmwHu+iMCu9B8=
github.com/jenkins-x/jx-helpers/v3 v3.0.111 h1:19QLg3HfVD7fNZvsynVwZxTw7kS4wND+u4eSv5hWKyE=
github.com/jenkins-x/jx-helpers/v3 v3.0.111/go.mod h1:ctDh2pC0uDMaqvxy8tQiOJs4oH+sfAegSl5Arc5pgIQ=
github.com/jenkins-x/jx-helpers/v3 v3.0.112 h1:u+qJivUrZqwPryoQE+e+Al1TK+YXG9cIqWVCXrpMwl0=
github.com/jenkins-x/jx-helpers/v3 v3.0.112/go.mod h1:ctDh2pC0uDMaqvxy8tQiOJs4oH+sfAegSl5Arc5pgIQ=
github.com/jenkins-x/jx-kube-client/v3 v3.0.2 h1:sJs6FaIwycDYwE4UsA7j9tpdXOxXEta9KNUJp6s45VI=
github.com/jenkins-x/jx-kube-client/v3 v3.0.2/go.mod h1:C/mKnCT5wvolX61eLKJVBNev9sqnkGNpi4skTQ1Gr3Q=
github.com/jenkins-x/jx-logging/v3 v3.0.3 h1:sVACbwiKuaDFYPfJeVAU10MJI4DA6LcH1RqJKwfNozc=
github.com/jenkins-x/jx-logging/v3 v3.0.3/go.mod h1:Vp2ER2SYgGhAgEEHlLwfi2ZB54tz6ya1qExq0A4CKMI=
github.com/jenkins-x/jx-logging/v3 v3.0.6 h1:rXiLYK7WuliCtujKkeU77fnSTJRDSIgbIk7PG4fnZGc=
github.com/jenkins-x/jx-logging/v3 v3.0.6/go.mod h1:Vp2ER2SYgGhAgEEHlLwfi2ZB54tz6ya1qExq0A4CKMI=
github.com/jenkins-x/lighthouse-client v0.0.126 h1:PfJUoUMEG05ymIapOZ9aDQoKYXcRSqvpkD5MeC4S8j8=
github.com/jenkins-x/lighthouse-client v0.0.126/go.mod h1:pa1XwFJH+QEgMqLHKnbvb5GbrTHWk9Z8+w15c5cj2kQ=
github.com/jenkins-x/lighthouse-client v0.0.129 h1:Yx320L4BYITpTZ4E+WoYR+p5qKojsFIp2UrNGSaRZ7g=
github.com/jenkins-x/lighthouse-client v0.0.129/go.mod h1:pa1XwFJH+QEgMqLHKnbvb5GbrTHWk9Z8+w15c5cj2kQ=
github.com/jenkins-x/logrus-stackdriver-formatter v0.2.3 h1:NuRWKUPCEX1wKlXA8ZYSG28qGKd41R7BK11YDQkPwqo=
github.com/jenkins-x/logrus-stackdriver-formatter v0.2.3/go.mod h1:litPp7VZWDRCl8LvXuqGngy+65kkg/+T23TgFnDmfTk=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
Expand Down
7 changes: 6 additions & 1 deletion pkg/promote/promote.go
Original file line number Diff line number Diff line change
Expand Up @@ -1424,7 +1424,12 @@ func (o *Options) InitGitConfigAndUser() error {
so.KubeClient = o.KubeClient
so.Namespace = o.Namespace
so.CommandRunner = o.CommandRunner
// TODO configure more values?

if o.DevEnvContext.Requirements != nil {
req := &jxcore.Requirements{}
req.Spec = *o.DevEnvContext.Requirements
so.Requirements = req
}
err := so.Run()
if err != nil {
return errors.Wrapf(err, "failed to setup git config")
Expand Down
93 changes: 93 additions & 0 deletions pkg/promote/promote_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,99 @@ func TestPromoteHelmfileAllAutomaticAndManual(t *testing.T) {
assert.Equal(t, v1.ActivityStatusTypeSucceeded, pa.Spec.Status, "pipelineActivity.Spec.Status")
}

func TestPromoteHelmfileCustomNamespace(t *testing.T) {
version := "1.2.3"
appName := "myapp"
ns := "jx"

runner := NewFakeRunnerWithGitClone()

_, po := promote.NewCmdPromote()
name := "promote-all"
po.DisableGitConfig = true
po.Application = appName
po.Version = version
po.All = true

po.NoPoll = true
po.BatchMode = true
po.GitKind = "fake"
po.CommandRunner = runner.Run
po.AppGitURL = "https://github.com/myorg/myapp.git"

targetFullName := "jenkins-x/default-environment-helmfile"

devEnv := jxtesthelpers.CreateTestDevEnvironment(ns)
devGitURL := "https://github.com/jenkins-x-labs-bdd-tests/jx3-kubernetes-jenkins"
devEnv.Spec.Source.URL = devGitURL

kubeObjects := []runtime.Object{
&corev1.Namespace{
ObjectMeta: metav1.ObjectMeta{
Name: ns,
Labels: map[string]string{
"tag": "",
"team": "jx",
"env": "dev",
},
},
},
}
jxObjects := []runtime.Object{
devEnv,
}

po.KubeClient = fake.NewSimpleClientset(kubeObjects...)
po.JXClient = v1fake.NewSimpleClientset(jxObjects...)
po.Namespace = ns
po.Build = "1"
po.Pipeline = "myorg/myapp/master"
po.DevEnvContext.VersionResolver = jxtesthelpers.CreateTestVersionResolver(t)
po.DevEnvContext.Requirements = &jxcore.RequirementsConfig{
Environments: []jxcore.EnvironmentConfig{
{
Key: "dev",
Namespace: "jx",
PromotionStrategy: v1.PromotionStrategyTypeNever,
GitURL: devGitURL,
},
{
Key: "staging",
Namespace: "my-staging-ns",
PromotionStrategy: v1.PromotionStrategyTypeAutomatic,
},
},
}

err := po.Run()
require.NoError(t, err, "failed test %s s", name)

scmClient := po.ScmClient
require.NotNil(t, scmClient, "no ScmClient created")
ctx := context.Background()

prNumber := 1
pr, _, err := scmClient.PullRequests.Find(ctx, targetFullName, prNumber)
require.NoError(t, err, "failed to find repository %s number %d", targetFullName, prNumber)
assert.NotNil(t, pr, "nil pr %s for %s", targetFullName, prNumber)

t.Logf("created PullRequest %s #%d", pr.Link, prNumber)
t.Logf("PR title: %s", pr.Title)
t.Logf("PR body: %s", pr.Body)

// lets assert we have a PipelineActivity...
paList, err := po.JXClient.JenkinsV1().PipelineActivities(ns).List(context.TODO(), metav1.ListOptions{})
require.NoError(t, err, "failed to load PipelineActivity resources in namespace %s", ns)
require.Len(t, paList.Items, 1, "should have a PipelineActivity in namespace %s", ns)
pa := paList.Items[0]

data, err := yaml.Marshal(pa)
require.NoError(t, err, "failed to marshal PipelineActivity")

t.Logf("got PipelineActivity %s\n", string(data))
assert.Equal(t, v1.ActivityStatusTypeSucceeded, pa.Spec.Status, "pipelineActivity.Spec.Status")
}

func TestPromoteHelmfileAllAutomaticsInOneOrMorePRs(t *testing.T) {
targetFullName := "jenkins-x-labs-bdd-tests/jx3-kubernetes-jenkins"

Expand Down

0 comments on commit ea2f672

Please sign in to comment.