github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/prow/config.yaml (about)

     1  plank:
     2    job_url_template: '{{if .Spec.Refs}}{{if eq .Spec.Refs.Org "kubernetes-security"}}https://console.cloud.google.com/storage/browser/kubernetes-security-prow/{{else}}https://gubernator.k8s.io/build/kubernetes-jenkins/{{end}}{{else}}https://gubernator.k8s.io/build/kubernetes-jenkins/{{end}}{{if eq .Spec.Type "presubmit"}}pr-logs/pull{{else if eq .Spec.Type "batch"}}pr-logs/pull{{else}}logs{{end}}{{if .Spec.Refs}}{{if ne .Spec.Refs.Org ""}}{{if ne .Spec.Refs.Org "kubernetes"}}/{{if and (eq .Spec.Refs.Org "kubernetes-sigs") (ne .Spec.Refs.Repo "poseidon")}}sigs.k8s.io{{else}}{{.Spec.Refs.Org}}{{end}}_{{.Spec.Refs.Repo}}{{else if ne .Spec.Refs.Repo "kubernetes"}}/{{.Spec.Refs.Repo}}{{end}}{{end}}{{end}}{{if eq .Spec.Type "presubmit"}}/{{with index .Spec.Refs.Pulls 0}}{{.Number}}{{end}}{{else if eq .Spec.Type "batch"}}/batch{{end}}/{{.Spec.Job}}/{{.Status.BuildID}}/'
     3    report_template: '[Full PR test history](https://gubernator.k8s.io/pr/{{if eq .Spec.Refs.Org "kubernetes"}}{{if eq .Spec.Refs.Repo "kubernetes"}}{{else}}{{.Spec.Refs.Repo}}/{{end}}{{else}}{{.Spec.Refs.Org}}_{{.Spec.Refs.Repo}}/{{end}}{{with index .Spec.Refs.Pulls 0}}{{.Number}}{{end}}). [Your PR dashboard](https://gubernator.k8s.io/pr/{{with index .Spec.Refs.Pulls 0}}{{.Author}}{{end}}). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/{{.Spec.Refs.Org}}/{{.Spec.Refs.Repo}}/issues?q=is:issue+is:open) when you hit one in your PR.'
     4    job_url_prefix: https://gubernator.k8s.io/build/
     5    pod_pending_timeout: 60m
     6    default_decoration_config:
     7      timeout: 7200000000000 # 2h
     8      grace_period: 15000000000 # 15s
     9      utility_images:
    10        clonerefs: "gcr.io/k8s-prow/clonerefs:v20190108-6c7cbf7"
    11        initupload: "gcr.io/k8s-prow/initupload:v20190108-6c7cbf7"
    12        entrypoint: "gcr.io/k8s-prow/entrypoint:v20190108-6c7cbf7"
    13        sidecar: "gcr.io/k8s-prow/sidecar:v20190108-6c7cbf7"
    14      gcs_configuration:
    15        bucket: "kubernetes-jenkins"
    16        path_strategy: "legacy"
    17        default_org: "kubernetes"
    18        default_repo: "kubernetes"
    19      gcs_credentials_secret: "service-account"
    20  
    21  sinker:
    22    resync_period: 1m
    23    max_prowjob_age: 48h
    24    max_pod_age: 30m
    25  
    26  deck:
    27    spyglass:
    28      size_limit: 500000000 # 500MB
    29      viewers:
    30        "started.json|finished.json":
    31        - "metadata"
    32        "build-log.txt":
    33        - "buildlog"
    34        "artifacts/junit.*\\.xml":
    35        - "junit"
    36    tide_update_period: 1s
    37    hidden_repos:
    38    - kubernetes-security
    39  
    40  prowjob_namespace: default
    41  pod_namespace: test-pods
    42  log_level: debug
    43  
    44  branch-protection:
    45    allow_disabled_policies: true  # TODO(fejta): remove, needed by k/website
    46    orgs:
    47      kubernetes:
    48        protect: true
    49        required_status_checks:
    50          contexts:
    51          - cla/linuxfoundation
    52        repos:
    53          api:
    54            restrictions:
    55              users: []
    56              teams:
    57              - stage-bots
    58          apiextensions-apiserver:
    59            restrictions:
    60              users: []
    61              teams:
    62              - stage-bots
    63          apimachinery:
    64            restrictions:
    65              users: []
    66              teams:
    67              - stage-bots
    68          apiserver:
    69            restrictions:
    70              users: []
    71              teams:
    72              - stage-bots
    73          client-go:
    74            restrictions:
    75              users: []
    76              teams:
    77              - stage-bots
    78          cli-runtime:
    79            restrictions:
    80              users: []
    81              teams:
    82              - stage-bots
    83          cloud-provider:
    84            restrictions:
    85              users: []
    86              teams:
    87              - stage-bots
    88          cluster-bootstrap:
    89            restrictions:
    90              users: []
    91              teams:
    92              - stage-bots
    93          code-generator:
    94            restrictions:
    95              users: []
    96              teams:
    97              - stage-bots
    98          component-base:
    99            restrictions:
   100              users: []
   101              teams:
   102              - stage-bots
   103          dashboard:
   104            required_pull_request_reviews:
   105              required_approving_review_count: 1
   106          dns:
   107            required_status_checks:
   108              strict: true
   109              contexts:
   110              - continuous-integration/travis-ci
   111            required_pull_request_reviews:
   112              required_approving_review_count: 1
   113          git-sync:
   114            enforce_admins: true
   115            required_status_checks:
   116              strict: true
   117            restrictions: # only allow admins
   118              users: []
   119              teams: []
   120          kompose:
   121            required_status_checks:
   122              contexts:
   123              - continuous-integration/travis-ci
   124            required_pull_request_reviews:
   125              required_approving_review_count: 1
   126          kubectl:
   127            required_status_checks:
   128              contexts:
   129              - continuous-integration/travis-ci
   130          kubelet:
   131            restrictions:
   132              users: []
   133              teams:
   134              - stage-bots
   135          kubernetes:
   136            restrictions: # only allow admins
   137              users: []
   138              teams: []
   139          kube-aggregator:
   140            restrictions:
   141              users: []
   142              teams:
   143              - stage-bots
   144          kube-controller-manager:
   145            restrictions:
   146              users: []
   147              teams:
   148              - stage-bots
   149          kube-proxy:
   150            restrictions:
   151              users: []
   152              teams:
   153              - stage-bots
   154          kube-scheduler:
   155            restrictions:
   156              users: []
   157              teams:
   158              - stage-bots
   159          metrics:
   160            restrictions:
   161              users: []
   162              teams:
   163              - stage-bots
   164          node-api:
   165            restrictions:
   166              users: []
   167              teams:
   168              - stage-bots
   169          org:
   170            restrictions: # only allow admins
   171              users: []
   172              teams: []
   173          repo-infra:
   174            required_status_checks:
   175              contexts:
   176              - continuous-integration/travis-ci
   177          sample-apiserver:
   178            restrictions:
   179              users: []
   180              teams:
   181              - stage-bots
   182          sample-cli-plugin:
   183            restrictions:
   184              users: []
   185              teams:
   186              - stage-bots
   187          sample-controller:
   188            restrictions:
   189              users: []
   190              teams:
   191              - stage-bots
   192          utils:
   193            required_status_checks:
   194              contexts:
   195              - continuous-integration/travis-ci
   196          website:
   197            protect: false # TODO(fejta): protect all branches soon
   198            required_status_checks:
   199              contexts:
   200              - continuous-integration/travis-ci
   201            branches:
   202              master:
   203                protect: true
   204              release-1.4:
   205                protect: true
   206              release-1.5:
   207                protect: true
   208              release-1.6:
   209                protect: true
   210              release-1.7:
   211                protect: true
   212              release-1.8:
   213                protect: true
   214              release-1.9:
   215                protect: true
   216      kubernetes-client:
   217        protect: true
   218        required_status_checks:
   219          contexts:
   220          - cla/linuxfoundation
   221        repos:
   222          python:
   223            required_status_checks:
   224              contexts:
   225              - continuous-integration/travis-ci
   226          python-base:
   227            required_status_checks:
   228              contexts:
   229              - continuous-integration/travis-ci
   230      kubernetes-csi:
   231        protect: true
   232        required_status_checks:
   233          contexts:
   234          - cla/linuxfoundation
   235        repos:
   236          csi-test:
   237            required_status_checks:
   238              contexts:
   239              - continuous-integration/travis-ci
   240          drivers:
   241            required_status_checks:
   242              contexts:
   243              - continuous-integration/travis-ci
   244          external-attacher:
   245            required_status_checks:
   246              contexts:
   247              - continuous-integration/travis-ci
   248          external-provisioner:
   249            required_status_checks:
   250              contexts:
   251              - continuous-integration/travis-ci
   252          external-snapshotter:
   253            required_status_checks:
   254              contexts:
   255              - continuous-integration/travis-ci
   256          livenessprobe:
   257            required_status_checks:
   258              contexts:
   259              - continuous-integration/travis-ci
   260      kubernetes-incubator:
   261        protect: true
   262        required_status_checks:
   263          contexts:
   264          - cla/linuxfoundation
   265        repos:
   266          apiserver-builder:
   267            required_status_checks:
   268              contexts:
   269              - continuous-integration/travis-ci
   270          bootkube:
   271            required_status_checks:
   272              contexts:
   273              - continuous-integration/travis-ci
   274          cluster-proportional-autoscaler:
   275            required_status_checks:
   276              contexts:
   277              - continuous-integration/travis-ci
   278          external-storage:
   279            required_status_checks:
   280              contexts:
   281              - continuous-integration/travis-ci
   282          kube-aws:
   283            required_status_checks:
   284              contexts:
   285              - continuous-integration/travis-ci
   286          metrics-server:
   287            required_status_checks:
   288              contexts:
   289              - continuous-integration/travis-ci
   290      kubernetes-sigs:
   291        protect: true
   292        required_status_checks:
   293          contexts:
   294          - cla/linuxfoundation
   295        repos:
   296          kube-batch:
   297            required_status_checks:
   298              contexts:
   299              - continuous-integration/travis-ci
   300          kubespray:
   301            required_status_checks:
   302              contexts:
   303              - Kubespray CI Pipeline
   304          node-feature-discovery:
   305            required_status_checks:
   306              contexts:
   307              - continuous-integration/travis-ci
   308  
   309  tide:
   310    queries:
   311    - orgs:
   312      - kubeflow
   313      labels:
   314      - lgtm
   315      - approved
   316      missingLabels:
   317      - do-not-merge
   318      - do-not-merge/hold
   319      - do-not-merge/invalid-owners-file
   320      - do-not-merge/work-in-progress
   321      - needs-rebase
   322    - repos:
   323      - helm/charts
   324      labels:
   325      - lgtm
   326      - approved
   327      - "Contribution Allowed"
   328      missingLabels:
   329      - do-not-merge
   330      - do-not-merge/blocked-paths
   331      - do-not-merge/cherry-pick-not-approved
   332      - do-not-merge/hold
   333      - do-not-merge/invalid-owners-file
   334      - do-not-merge/release-note-label-needed
   335      - do-not-merge/work-in-progress
   336      - needs-rebase
   337    - orgs:
   338      - kubernetes-client
   339      - kubernetes-csi
   340      - kubernetes-incubator
   341      - kubernetes-sigs
   342      repos:
   343      - client-go/unofficial-docs
   344      - kubernetes/autoscaler
   345      - kubernetes/client-go
   346      - kubernetes/cloud-provider-aws
   347      - kubernetes/cloud-provider-alibaba-cloud
   348      - kubernetes/cloud-provider-azure
   349      - kubernetes/cloud-provider-gcp
   350      - kubernetes/cloud-provider-openstack
   351      - kubernetes/cloud-provider-vsphere
   352      - kubernetes/cluster-registry
   353      - kubernetes/community
   354      - kubernetes/contrib
   355      - kubernetes/dashboard
   356      - kubernetes/dns
   357      - kubernetes/enhancements
   358      - kubernetes/examples
   359      - kubernetes/federation
   360      - kubernetes/frakti
   361      - kubernetes/gengo
   362      - kubernetes/git-sync
   363      - kubernetes/ingress-gce
   364      - kubernetes/ingress-nginx
   365      - kubernetes/k8s.io
   366      - kubernetes/klog
   367      - kubernetes/komposer
   368      - kubernetes/kops
   369      - kubernetes/kube-deploy
   370      - kubernetes/kube-openapi
   371      - kubernetes/kube-state-metrics
   372      - kubernetes/kubeadm
   373      - kubernetes/kubectl
   374      - kubernetes/kubernetes-anywhere
   375      - kubernetes/kubernetes-template-project
   376      - kubernetes/minikube
   377      - kubernetes/node-problem-detector
   378      - kubernetes/org
   379      - kubernetes/perf-tests
   380      - kubernetes/publishing-bot
   381      - kubernetes/release
   382      - kubernetes/repo-infra
   383      - kubernetes/sig-release
   384      - kubernetes/steering
   385      - kubernetes/test-infra
   386      - kubernetes/utils
   387      - kubernetes/website
   388      labels:
   389      - lgtm
   390      - approved
   391      - "cncf-cla: yes"
   392      missingLabels:
   393      - do-not-merge
   394      - do-not-merge/blocked-paths
   395      - do-not-merge/cherry-pick-not-approved
   396      - do-not-merge/hold
   397      - do-not-merge/invalid-owners-file
   398      - do-not-merge/release-note-label-needed
   399      - do-not-merge/work-in-progress
   400      - needs-rebase
   401    - repos:
   402      - kubernetes/kubernetes
   403      labels:
   404      - lgtm
   405      - approved
   406      - "cncf-cla: yes"
   407      missingLabels:
   408      - do-not-merge
   409      - do-not-merge/blocked-paths
   410      - do-not-merge/cherry-pick-not-approved
   411      - do-not-merge/hold
   412      - do-not-merge/invalid-owners-file
   413      - do-not-merge/release-note-label-needed
   414      - do-not-merge/work-in-progress
   415      - needs-kind
   416      - needs-rebase
   417      - needs-sig
   418    - repos:
   419      -  GoogleCloudPlatform/netd
   420      labels:
   421      - lgtm
   422      - approved
   423      missingLabels:
   424      - do-not-merge
   425      - do-not-merge/blocked-paths
   426      - do-not-merge/hold
   427      - do-not-merge/invalid-owners-file
   428      - do-not-merge/work-in-progress
   429  
   430    merge_method:
   431      helm/charts: squash
   432      kubeflow: squash
   433      kubernetes-client/csharp: squash
   434      kubernetes-client/gen: squash
   435      kubernetes-incubator/service-catalog: squash
   436      kubernetes-sigs/cluster-api-provider-aws: squash
   437      kubernetes-sigs/cluster-api-provider-digitalocean: squash
   438      kubernetes-sigs/cluster-api-provider-gcp: squash
   439      kubernetes-sigs/cluster-api-provider-openstack: squash
   440      kubernetes-sigs/cluster-api-provider-vsphere: squash
   441      kubernetes-sigs/cluster-api: squash
   442      kubernetes-sigs/kubespray: squash
   443      kubernetes/dashboard: squash
   444      kubernetes/kube-deploy: squash
   445      kubernetes/website: squash
   446    pr_status_base_url: https://prow.k8s.io/pr
   447    blocker_label: merge-blocker
   448    squash_label: tide/squash
   449    context_options:
   450      optional-contexts:
   451      - "Submit Queue"
   452  
   453  push_gateway:
   454    endpoint: pushgateway
   455  
   456  
   457  presets:
   458  # credential presets
   459  - labels:
   460      preset-service-account: "true"
   461    env:
   462    - name: GOOGLE_APPLICATION_CREDENTIALS
   463      value: /etc/service-account/service-account.json
   464    # storage e2e tests borrow this as a preconfigured key instead of creating and
   465    # injecting a new key. this allows us to avoid mass key download warnings
   466    - name: E2E_GOOGLE_APPLICATION_CREDENTIALS
   467      value: /etc/service-account/service-account.json
   468    volumes:
   469    - name: service
   470      secret:
   471        secretName: service-account
   472    volumeMounts:
   473    - name: service
   474      mountPath: /etc/service-account
   475      readOnly: true
   476  - labels:
   477      preset-gke-alpha-service: "true"
   478    env:
   479    - name: GOOGLE_APPLICATION_CREDENTIALS
   480      value: /etc/service-account/service-account.json
   481    # storage e2e tests borrow this as a preconfigured key instead of creating and
   482    # injecting a new key. this allows us to avoid mass key download warnings
   483    - name: E2E_GOOGLE_APPLICATION_CREDENTIALS
   484      value: /etc/service-account/service-account.json
   485    volumes:
   486    - name: service
   487      secret:
   488        secretName: gke-alpha-service-account
   489    volumeMounts:
   490    - name: service
   491      mountPath: /etc/service-account
   492      readOnly: true
   493  - labels:
   494      preset-istio-service: "true"
   495    env:
   496    - name: GOOGLE_APPLICATION_CREDENTIALS
   497      value: /etc/service-account/istio-service-account.json
   498    # storage e2e tests borrow this as a preconfigured key instead of creating and
   499    # injecting a new key. this allows us to avoid mass key download warnings
   500    - name: E2E_GOOGLE_APPLICATION_CREDENTIALS
   501      value: /etc/service-account/service-account.json
   502    volumes:
   503    - name: service
   504      secret:
   505        secretName: istio-service-account
   506    volumeMounts:
   507    - name: service
   508      mountPath: /etc/service-account
   509      readOnly: true
   510  - labels:
   511      preset-k8s-ssh: "true"
   512    env:
   513    - name: USER
   514      value: prow
   515    - name: JENKINS_GCE_SSH_PRIVATE_KEY_FILE
   516      value: /etc/ssh-key-secret/ssh-private
   517    - name: JENKINS_GCE_SSH_PUBLIC_KEY_FILE
   518      value: /etc/ssh-key-secret/ssh-public
   519    volumes:
   520    - name: ssh
   521      secret:
   522        defaultMode: 0400
   523        secretName: ssh-key-secret
   524    volumeMounts:
   525    - name: ssh
   526      mountPath: /etc/ssh-key-secret
   527      readOnly: true
   528  - labels:
   529      preset-aws-ssh: "true"
   530    env:
   531    - name: USER
   532      value: prow
   533    - name: JENKINS_AWS_SSH_PRIVATE_KEY_FILE
   534      value: /etc/aws-ssh/aws-ssh-private
   535    - name: JENKINS_AWS_SSH_PUBLIC_KEY_FILE
   536      value: /etc/aws-ssh/aws-ssh-public
   537    volumes:
   538    - name: aws-ssh
   539      secret:
   540        defaultMode: 0400
   541        secretName: aws-ssh-key-secret
   542    volumeMounts:
   543    - name: aws-ssh
   544      mountPath: /etc/aws-ssh
   545      readOnly: true
   546  - labels:
   547      preset-aws-credential: "true"
   548    env:
   549    - name: JENKINS_AWS_CREDENTIALS_FILE
   550      value: /etc/aws-cred/credentials
   551    volumes:
   552    - name: aws-cred
   553      secret:
   554        defaultMode: 0400
   555        secretName: aws-cred-new
   556    volumeMounts:
   557    - name: aws-cred
   558      mountPath: /etc/aws-cred
   559      readOnly: true
   560  # storage / caching presets
   561  - labels:
   562      preset-bazel-scratch-dir: "true"
   563    env:
   564    - name: TEST_TMPDIR
   565      value: /bazel-scratch/.cache/bazel
   566    volumes:
   567    - name: bazel-scratch
   568      emptyDir: {}
   569    volumeMounts:
   570    - name: bazel-scratch
   571      mountPath: /bazel-scratch/.cache
   572  - labels:
   573      preset-bazel-remote-cache-enabled: "true"
   574    env:
   575    - name: BAZEL_REMOTE_CACHE_ENABLED
   576      value: "true"
   577  # docker-in-docker (with images/bootstrap) preset
   578  # NOTE: using this also requires using that image,
   579  # ensuring you run your test under either the ENTRYPOINT or:
   580  # /usr/local/bin/runner my-test-command --foo --bar
   581  # AND setting the following on your PodSpec:
   582  # securityContext:
   583  #   privileged: true
   584  - labels:
   585      preset-dind-enabled: "true"
   586    env:
   587    - name: DOCKER_IN_DOCKER_ENABLED
   588      value: "true"
   589    volumes:
   590    - name: docker-graph
   591      emptyDir: {}
   592    volumeMounts:
   593    - name: docker-graph
   594      mountPath: /docker-graph
   595  # experimental preset for dind, prefer the one above
   596  - labels:
   597      preset-dind-memory-backed: "true"
   598    env:
   599    - name: DOCKER_IN_DOCKER_ENABLED
   600      value: "true"
   601    volumes:
   602    - name: docker-graph
   603      emptyDir:
   604        medium: "Memory"
   605    volumeMounts:
   606    - name: docker-graph
   607      mountPath: /docker-graph