k8s.io/test-infra@v0.0.0-20240520184403-27c6b4c223d8/config/jobs/kubernetes/cloud-provider-vsphere/cloud-provider-vsphere-config.yaml (about)

     1  presets:
     2  # Attaches the secrets to a job required to execute the e2e conformance
     3  # suite against a cluster turned up with the cloud provider.
     4  - labels:
     5      preset-cloud-provider-vsphere-e2e-config: "true"
     6    env:
     7    - name: CONFIG_ENV
     8      value: /root/.cloud-provider-vsphere/config.env
     9    - name: GCR_KEY_FILE
    10      value: /root/.cloud-provider-vsphere/keyfile.json
    11    volumes:
    12    - name: cloud-provider-vsphere-e2e-config
    13      secret:
    14        secretName: cloud-provider-vsphere-ci
    15        items:
    16        - key: config.env
    17          path: config.env
    18          mode: 288
    19        - key: keyfile.json
    20          path: keyfile.json
    21          mode: 288
    22    volumeMounts:
    23    - name: cloud-provider-vsphere-e2e-config
    24      mountPath: /root/.cloud-provider-vsphere
    25      readOnly: true
    26  
    27  presubmits:
    28    kubernetes/cloud-provider-vsphere:
    29  
    30    - name: pull-cloud-provider-vsphere-verify-fmt
    31      cluster: eks-prow-build-cluster
    32      always_run: false
    33      run_if_changed: '\.go$|hack/check-format\.sh'
    34      decorate: true
    35      branches:
    36      - ^master$
    37      - ^release-1.2[7-9]$
    38      - ^release-1.[3-9]\d$
    39      path_alias: k8s.io/cloud-provider-vsphere
    40      spec:
    41        containers:
    42        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
    43          command:
    44          - runner.sh
    45          args:
    46          - make
    47          - fmt
    48          resources:
    49            limits:
    50              cpu: 2
    51              memory: 4Gi
    52            requests:
    53              cpu: 2
    54              memory: 4Gi
    55      annotations:
    56        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
    57        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
    58        testgrid-tab-name: pr-verify-fmt
    59        description: Verifies the Golang sources have been formatted
    60  
    61    - name: pull-cloud-provider-vsphere-verify-lint
    62      cluster: eks-prow-build-cluster
    63      always_run: false
    64      run_if_changed: '\.go$|hack/check-lint\.sh'
    65      decorate: true
    66      branches:
    67      - ^master$
    68      - ^release-1.2[7-9]$
    69      - ^release-1.[3-9]\d$
    70      path_alias: k8s.io/cloud-provider-vsphere
    71      spec:
    72        containers:
    73        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
    74          command:
    75          - runner.sh
    76          args:
    77          - make
    78          - lint
    79          resources:
    80            limits:
    81              cpu: 2
    82              memory: 4Gi
    83            requests:
    84              cpu: 2
    85              memory: 4Gi
    86      annotations:
    87        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
    88        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
    89        testgrid-tab-name: pr-verify-lint
    90        description: Verifies the Golang sources are linted
    91  
    92    - name: pull-cloud-provider-vsphere-verify-vet
    93      cluster: eks-prow-build-cluster
    94      always_run: false
    95      run_if_changed: '\.go$|hack/check-vet\.sh'
    96      decorate: true
    97      branches:
    98      - ^master$
    99      - ^release-1.2[7-9]$
   100      - ^release-1.[3-9]\d$
   101      path_alias: k8s.io/cloud-provider-vsphere
   102      spec:
   103        containers:
   104        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   105          command:
   106          - runner.sh
   107          args:
   108          - make
   109          - vet
   110          resources:
   111            limits:
   112              cpu: 2
   113              memory: 4Gi
   114            requests:
   115              cpu: 2
   116              memory: 4Gi
   117      annotations:
   118        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   119        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   120        testgrid-tab-name: pr-verify-vet
   121        description: Vets the Golang sources have been vetted
   122  
   123    - name: pull-cloud-provider-vsphere-verify-markdown
   124      cluster: eks-prow-build-cluster
   125      always_run: false
   126      run_if_changed: '.*\.md$'
   127      decorate: true
   128      path_alias: k8s.io/cloud-provider-vsphere
   129      spec:
   130        containers:
   131        - image: gcr.io/cluster-api-provider-vsphere/extra/mdlint:0.17.0
   132          command:
   133          - /nodejs/bin/node
   134          args:
   135          - /md/lint
   136          - -i
   137          - vendor
   138          - -i
   139          - docs/book/node_modules
   140          - .
   141          resources:
   142            limits:
   143              cpu: 2
   144              memory: 4Gi
   145            requests:
   146              cpu: 2
   147              memory: 4Gi
   148      annotations:
   149        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   150        testgrid-tab-name: pr-verify-markdown
   151        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   152        description: Verifies the markdown has been linted
   153  
   154    - name: pull-cloud-provider-vsphere-verify-shell
   155      cluster: eks-prow-build-cluster
   156      always_run: false
   157      run_if_changed: '.*\.\w*sh$'
   158      decorate: true
   159      path_alias: k8s.io/cloud-provider-vsphere
   160      spec:
   161        containers:
   162        - image: gcr.io/cluster-api-provider-vsphere/extra/shellcheck:v0.6.0
   163          command:
   164          - /bin/shellcheck.sh
   165          resources:
   166            limits:
   167              cpu: 2
   168              memory: 4Gi
   169            requests:
   170              cpu: 2
   171              memory: 4Gi
   172      annotations:
   173        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   174        testgrid-tab-name: pr-verify-shell
   175        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   176        description: Verifies the shell scripts have been linted
   177  
   178    - name: pull-cloud-provider-vsphere-verify-staticcheck
   179      cluster: eks-prow-build-cluster
   180      always_run: false
   181      run_if_changed: '\.go$|hack/check-staticcheck\.sh$|go.mod'
   182      decorate: true
   183      branches:
   184      - ^master$
   185      - ^release-1.2[7-9]$
   186      - ^release-1.[3-9]\d$
   187      path_alias: k8s.io/cloud-provider-vsphere
   188      spec:
   189        containers:
   190        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   191          command:
   192          - runner.sh
   193          args:
   194          - make
   195          - staticcheck
   196          resources:
   197            limits:
   198              cpu: 2
   199              memory: 4Gi
   200            requests:
   201              cpu: 2
   202              memory: 4Gi
   203      annotations:
   204        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   205        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   206        testgrid-tab-name: pr-verify-staticheck
   207        description: Verifies the Golang sources pass a static source checker
   208  
   209    # Builds the CCM and CSI binaries.
   210    - name: pull-cloud-provider-vsphere-build
   211      cluster: eks-prow-build-cluster
   212      decorate: true
   213      branches:
   214      - ^master$
   215      - ^release-1.2[7-9]$
   216      - ^release-1.[3-9]\d$
   217      path_alias: k8s.io/cloud-provider-vsphere
   218      skip_submodules: true
   219      always_run: false
   220      run_if_changed: '\.go$|go.mod|Dockerfile|Makefile'
   221      skip_report: false
   222      spec:
   223        containers:
   224        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   225          command:
   226          - runner.sh
   227          args:
   228          - make
   229          - build
   230          resources:
   231            limits:
   232              cpu: 2
   233              memory: 4Gi
   234            requests:
   235              cpu: 2
   236              memory: 4Gi
   237      annotations:
   238        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   239        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   240  
   241    # Executes the unit tests.
   242    - name: pull-cloud-provider-vsphere-unit-test
   243      cluster: eks-prow-build-cluster
   244      decorate: true
   245      branches:
   246      - ^master$
   247      - ^release-1.2[7-9]$
   248      - ^release-1.[3-9]\d$
   249      path_alias: k8s.io/cloud-provider-vsphere
   250      skip_submodules: true
   251      always_run: false
   252      run_if_changed: '\.go$|go.mod'
   253      skip_report: false
   254      spec:
   255        containers:
   256        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   257          command:
   258          - runner.sh
   259          args:
   260          - make
   261          - unit-test
   262          resources:
   263            limits:
   264              cpu: 2
   265              memory: 4Gi
   266            requests:
   267              cpu: 2
   268              memory: 4Gi
   269      annotations:
   270        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   271        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   272  
   273    # Executes the integration tests.
   274    - name: pull-cloud-provider-vsphere-integration-test
   275      cluster: eks-prow-build-cluster
   276      decorate: true
   277      labels:
   278        preset-dind-enabled: "true"
   279        preset-kind-volume-mounts: "true"
   280      branches:
   281      - ^master$
   282      - ^release-1.2[7-9]$
   283      - ^release-1.[3-9]\d$
   284      path_alias: k8s.io/cloud-provider-vsphere
   285      skip_submodules: true
   286      always_run: false
   287      run_if_changed: '\.go$|go.mod'
   288      skip_report: false
   289      spec:
   290        containers:
   291        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   292          command:
   293          - runner.sh
   294          args:
   295          - make
   296          - integration-test
   297          securityContext:
   298            privileged: true
   299          resources:
   300            limits:
   301              cpu: 2
   302              memory: 4Gi
   303            requests:
   304              cpu: 2
   305              memory: 4Gi
   306      annotations:
   307        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   308        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   309  
   310    # Executes the test coverage.
   311    - name: pull-cloud-provider-vsphere-coverage
   312      cluster: eks-prow-build-cluster
   313      always_run: true
   314      decorate: true
   315      path_alias: k8s.io/cloud-provider-vsphere
   316      branches:
   317      - ^master$
   318      - ^release-1.2[7-9]$
   319      - ^release-1.[3-9]\d$
   320      extra_refs:
   321      - org: kubernetes
   322        repo: test-infra
   323        base_ref: master
   324        path_alias: k8s.io/test-infra
   325      spec:
   326        containers:
   327        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   328          command:
   329          - runner.sh
   330          - bash
   331          args:
   332          - -c
   333          - |
   334            result=0
   335            ./scripts/ci-test-coverage.sh || result=$?
   336            cp coverage.* ${ARTIFACTS}
   337            cd ../../k8s.io/test-infra/gopherage
   338            GO111MODULE=on go build .
   339            ./gopherage filter --exclude-path="zz_generated,generated\.go" "${ARTIFACTS}/coverage.out" > "${ARTIFACTS}/filtered.cov" || result=$?
   340            ./gopherage html "${ARTIFACTS}/filtered.cov" > "${ARTIFACTS}/coverage.html" || result=$?
   341            ./gopherage junit --threshold 0 "${ARTIFACTS}/filtered.cov" > "${ARTIFACTS}/junit_coverage.xml" || result=$?
   342            exit $result
   343          securityContext:
   344            privileged: true
   345          resources:
   346            limits:
   347              cpu: 2
   348              memory: 4Gi
   349            requests:
   350              cpu: 2
   351              memory: 4Gi
   352      annotations:
   353        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   354        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   355        testgrid-tab-name: pr-verify-test-coverage
   356        description: Shows the test coverage of the Golang sources
   357  
   358    # Executes the e2e tests.
   359    - name: pull-cloud-provider-vsphere-e2e-test
   360      decorate: true
   361      labels:
   362        preset-dind-enabled: "true"
   363        # Borrows CAPV credentials for cloud provider e2e testing
   364        preset-cloud-provider-vsphere-e2e-config-capv: "true"
   365        preset-cloud-provider-vsphere-e2e-config: "true"
   366        preset-kind-volume-mounts: "true"
   367      branches:
   368      - ^master$
   369      - ^release-1.2[7-9]$
   370      - ^release-1.[3-9]\d$
   371      path_alias: k8s.io/cloud-provider-vsphere
   372      skip_submodules: true
   373      always_run: false
   374      run_if_changed: '\.go$|go.mod|hack/e2e\.sh|test/e2e/|charts/vsphere-cpi/'
   375      skip_report: false
   376      optional: true
   377      spec:
   378        containers:
   379        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   380          command:
   381          - runner.sh
   382          args:
   383          - ./hack/e2e.sh
   384          securityContext:
   385            privileged: true
   386          resources:
   387            requests:
   388              cpu: "4000m"
   389              memory: "6Gi"
   390      annotations:
   391        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   392        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   393  
   394    # Executes the e2e tests with latest k8s version.
   395    - name: pull-cloud-provider-vsphere-e2e-test-on-latest-k8s-version
   396      decorate: true
   397      labels:
   398        preset-dind-enabled: "true"
   399        # Borrows CAPV credentials for cloud provider e2e testing
   400        preset-cloud-provider-vsphere-e2e-config-capv: "true"
   401        preset-cloud-provider-vsphere-e2e-config: "true"
   402        preset-kind-volume-mounts: "true"
   403      branches:
   404      - ^master$
   405      path_alias: k8s.io/cloud-provider-vsphere
   406      skip_submodules: true
   407      always_run: false
   408      run_if_changed: '\.go$|go.mod|hack/e2e\.sh|test/e2e/|charts/vsphere-cpi/'
   409      skip_report: false
   410      optional: true
   411      spec:
   412        containers:
   413        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   414          command:
   415          - runner.sh
   416          args:
   417          - ./hack/e2e.sh
   418          - latest-k8s-version
   419          securityContext:
   420            privileged: true
   421          resources:
   422            requests:
   423              cpu: "4000m"
   424              memory: "6Gi"
   425      annotations:
   426        testgrid-dashboards: vmware-presubmits-cloud-provider-vsphere, presubmits-cloud-provider-vsphere-blocking
   427        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   428  
   429  postsubmits:
   430    kubernetes/cloud-provider-vsphere:
   431  
   432    # Deploys the images and binaries after all merges to master
   433    - name: post-cloud-provider-vsphere-deploy
   434      decorate: true
   435      labels:
   436        preset-dind-enabled: "true"
   437        preset-cloud-provider-vsphere-e2e-config: "true"
   438        preset-kind-volume-mounts: "true"
   439      max_concurrency: 1
   440      branches:
   441      - ^master$
   442      - ^release-.*$
   443      # Temporarily always pushing until workflow is worked out.
   444      always_run: true
   445      # Only build a new a image if something that could change binary changes
   446      #run_if_changed: '^(cmd|pkg)\/|cluster\/images\/controller-manager\/Dockerfile|Makefile'
   447      path_alias: k8s.io/cloud-provider-vsphere
   448      skip_submodules: true
   449      spec:
   450        containers:
   451        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   452          resources:
   453            requests:
   454              cpu: "1000m"
   455          command:
   456          - runner.sh
   457          args:
   458          - make
   459          - release-push
   460          securityContext:
   461            privileged: true
   462      annotations:
   463        testgrid-dashboards: vmware-postsubmits-cloud-provider-vsphere
   464        testgrid-tab-name: post-deploy
   465        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   466        testgrid-num-columns-recent: '20'
   467        description: Pushes new images and binaries from master
   468  
   469    # Deploys images and binaries for tagged releases
   470    - name: post-cloud-provider-vsphere-release
   471      decorate: true
   472      labels:
   473        preset-dind-enabled: "true"
   474        preset-cloud-provider-vsphere-e2e-config: "true"
   475        preset-kind-volume-mounts: "true"
   476      max_concurrency: 1
   477      branches:
   478      - ^v\d+\.\d+\.\d+(-(alpha|beta|rc)\.(\d)+)?$
   479      path_alias: k8s.io/cloud-provider-vsphere
   480      skip_submodules: true
   481      spec:
   482        containers:
   483        - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   484          resources:
   485            requests:
   486              cpu: "1000m"
   487          command:
   488          - runner.sh
   489          args:
   490          - make
   491          - release-push
   492          securityContext:
   493            privileged: true
   494      annotations:
   495        testgrid-dashboards: vmware-postsubmits-cloud-provider-vsphere
   496        testgrid-tab-name: release
   497        testgrid-alert-email: k8s-testing-cloud-provider-vsphere+alerts@groups.vmware.com
   498        description: releases new tagged images and binaries