diff --git a/.circleci/config.yml b/.circleci/config.yml index 1308cad928..3717ed394b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,16 +11,15 @@ commands: git config --global user.name "Your Name" echo "export PATH=/home/circleci/.go_workspace/src/github.com/argoproj/argo-cd/hack:\$PATH" | tee -a $BASH_ENV echo "export GIT_ASKPASS=git-ask-pass.sh" | tee -a $BASH_ENV - dep_ensure: + restore_vendor: steps: - restore_cache: keys: - - vendor-v4-{{ checksum "Gopkg.lock" }} - - run: - name: Run dep ensure - command: dep ensure -v + - vendor-v1-{{ checksum "Gopkg.lock" }}-{{ .Environment.CIRCLE_JOB }} + save_vendor: + steps: - save_cache: - key: vendor-v4-{{ checksum "Gopkg.lock" }} + key: vendor-v1-{{ checksum "Gopkg.lock" }}-{{ .Environment.CIRCLE_JOB }} paths: - vendor install_golang: @@ -30,24 +29,23 @@ commands: command: | go get golang.org/dl/go1.12.6 [ -e /home/circleci/sdk/go1.12.6 ] || go1.12.6 download + go env echo "export GOPATH=/home/circleci/.go_workspace" | tee -a $BASH_ENV echo "export PATH=/home/circleci/sdk/go1.12.6/bin:\$PATH" | tee -a $BASH_ENV save_go_cache: steps: - save_cache: - key: go-v18-{{ .Branch }} + key: go-v1-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }} + # https://circleci.com/docs/2.0/language-go/ paths: - - /home/circleci/.go_workspace - /home/circleci/.cache/go-build - /home/circleci/sdk/go1.12.6 restore_go_cache: steps: - restore_cache: keys: - - go-v18-{{ .Branch }} - - go-v18-master - - go-v17-{{ .Branch }} - - go-v17-master + - go-v1-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }} + - go-v1-master-{{ .Environment.CIRCLE_JOB }} jobs: codegen: docker: @@ -93,9 +91,11 @@ jobs: paths: [/tmp/dl] - configure_git - run: go get github.com/jstemmer/go-junit-report - - dep_ensure - - save_go_cache + - restore_vendor + - run: dep ensure - run: make test + - save_vendor + - save_go_cache - run: name: Uploading code coverage command: bash <(curl -s https://codecov.io/bash) -f coverage.out @@ -133,7 +133,8 @@ jobs: - save_cache: key: e2e-dl-v10 paths: [/tmp/dl] - - dep_ensure + - restore_vendor + - run: dep ensure - configure_git - run: make cli - run: @@ -179,6 +180,8 @@ jobs: ARGOCD_OPTS: "--server localhost:8080 --plaintext" ARGOCD_E2E_EXPECT_TIMEOUT: "30" ARGOCD_E2E_K3S: "true" + - save_vendor + - save_go_cache - store_test_results: path: test-results - store_artifacts: @@ -206,9 +209,7 @@ workflows: workflow: jobs: - test - - codegen: - requires: - - test + - codegen - ui: requires: - codegen diff --git a/test/e2e/fixture/fixture.go b/test/e2e/fixture/fixture.go index 1db3d5cfa3..3bd5d855d3 100644 --- a/test/e2e/fixture/fixture.go +++ b/test/e2e/fixture/fixture.go @@ -213,28 +213,6 @@ func updateSettingConfigMap(updater func(cm *corev1.ConfigMap) error) { errors.CheckError(err) } -func updateTLSCertsConfigMap(updater func(cm *corev1.ConfigMap) error) { - cm, err := KubeClientset.CoreV1().ConfigMaps(ArgoCDNamespace).Get(common.ArgoCDTLSCertsConfigMapName, v1.GetOptions{}) - errors.CheckError(err) - if cm.Data == nil { - cm.Data = make(map[string]string) - } - errors.CheckError(updater(cm)) - _, err = KubeClientset.CoreV1().ConfigMaps(ArgoCDNamespace).Update(cm) - errors.CheckError(err) -} - -func updateSSHKnownHostsConfigMap(updater func(cm *corev1.ConfigMap) error) { - cm, err := KubeClientset.CoreV1().ConfigMaps(ArgoCDNamespace).Get(common.ArgoCDKnownHostsConfigMapName, v1.GetOptions{}) - errors.CheckError(err) - if cm.Data == nil { - cm.Data = make(map[string]string) - } - errors.CheckError(updater(cm)) - _, err = KubeClientset.CoreV1().ConfigMaps(ArgoCDNamespace).Update(cm) - errors.CheckError(err) -} - func SetResourceOverrides(overrides map[string]v1alpha1.ResourceOverride) { updateSettingConfigMap(func(cm *corev1.ConfigMap) error { if len(overrides) > 0 { @@ -277,17 +255,6 @@ func SetResourceFilter(filters settings.ResourcesFilter) { }) } -func SetRepos(repos ...settings.Repository) { - updateSettingConfigMap(func(cm *corev1.ConfigMap) error { - yamlBytes, err := yaml.Marshal(repos) - if err != nil { - return err - } - cm.Data["repositories"] = string(yamlBytes) - return nil - }) -} - func SetHelmRepos(repos ...settings.HelmRepoCredentials) { updateSettingConfigMap(func(cm *corev1.ConfigMap) error { yamlBytes, err := yaml.Marshal(repos) @@ -299,31 +266,6 @@ func SetHelmRepos(repos ...settings.HelmRepoCredentials) { }) } -func SetRepoCredentials(repos ...settings.RepositoryCredentials) { - updateSettingConfigMap(func(cm *corev1.ConfigMap) error { - yamlBytes, err := yaml.Marshal(repos) - if err != nil { - return err - } - cm.Data["repository.credentials"] = string(yamlBytes) - return nil - }) -} - -func SetTLSCerts() { - updateTLSCertsConfigMap(func(cm *corev1.ConfigMap) error { - cm.Data = map[string]string{} - return nil - }) -} - -func SetSSHKnownHosts() { - updateSSHKnownHostsConfigMap(func(cm *corev1.ConfigMap) error { - cm.Data = map[string]string{} - return nil - }) -} - func SetProjectSpec(project string, spec v1alpha1.AppProjectSpec) { proj, err := AppClientset.ArgoprojV1alpha1().AppProjects(ArgoCDNamespace).Get(project, v1.GetOptions{}) errors.CheckError(err) @@ -351,38 +293,17 @@ func EnsureCleanState(t *testing.T) { FailOnErr(Run("", "kubectl", "delete", "crd", "-l", testingLabel+"=true", "--wait=false")) // reset settings - s, err := settingsManager.GetSettings() - CheckError(err) - CheckError(settingsManager.SaveSettings(&settings.ArgoCDSettings{ - // changing theses causes a restart - AdminPasswordHash: s.AdminPasswordHash, - AdminPasswordMtime: s.AdminPasswordMtime, - ServerSignature: s.ServerSignature, - Certificate: s.Certificate, - DexConfig: s.DexConfig, - OIDCConfigRAW: s.OIDCConfigRAW, - URL: s.URL, - WebhookGitHubSecret: s.WebhookGitHubSecret, - WebhookGitLabSecret: s.WebhookGitLabSecret, - WebhookBitbucketUUID: s.WebhookBitbucketUUID, - WebhookBitbucketServerSecret: s.WebhookBitbucketServerSecret, - WebhookGogsSecret: s.WebhookGogsSecret, - KustomizeBuildOptions: s.KustomizeBuildOptions, - Secrets: s.Secrets, - })) - SetResourceOverrides(make(map[string]v1alpha1.ResourceOverride)) - SetConfigManagementPlugins() - SetRepoCredentials() - SetRepos() - SetHelmRepos() - SetResourceFilter(settings.ResourcesFilter{}) + updateSettingConfigMap(func(cm *corev1.ConfigMap) error { + cm.Data = map[string]string{} + return nil + }) + SetProjectSpec("default", v1alpha1.AppProjectSpec{ OrphanedResources: nil, SourceRepos: []string{"*"}, Destinations: []v1alpha1.ApplicationDestination{{Namespace: "*", Server: "*"}}, ClusterResourceWhitelist: []v1.GroupKind{{Group: "*", Kind: "*"}}, }) - SetTLSCerts() // remove tmp dir CheckError(os.RemoveAll(TmpDir))