prow_ignored:
- &config-sync-e2e-job
  cluster: build-kpt-config-sync
  skip_branches:
  - ^v1\.13$
  always_run: false
  skip_if_only_changed: "^(docs|dashboard)/|\\.md$|^(LICENSE|OWNERS|OWNERS_ALIASES)$"
  # Ensure that we don't try to schedule more than 5 jobs at a time. This means
  # we won't automatically get "Pods Unschedulable", but Prow will wait patiently
  # for other jobs to complete before running.
  max_concurrency: 4
  decorate: true
  labels:
    # We think this label is required to use kind. Copied from presubmit job above.
    preset-kind-volume-mounts: "true"
    # These labels are on the other jobs, so they're here.
    preset-service-account: "true"
    # Enable docker-in-docker, and use memory for etcd instead of disk-backed.
    preset-dind-enabled-memory: "true"
  decoration_config:
    # Tests usually finish in ~15 minutes, but this ensures we don't fail on the
    # odd test that takes much longer than normal.
    timeout: 60m
  spec: &config-sync-e2e-job-spec
    containers:
    - &config-sync-e2e-container
      # https://github.com/kubernetes/test-infra/blob/master/images/kubekins-e2e/variants.yaml
      image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20250227-3a13bdd784-1.31
      command:
      - runner.sh
      securityContext:
        privileged: true
      resources:
        requests:
          memory: "50Gi"
          # This value is experimentally determined.
          # We know to increase this when CPU usage is reported as above 1.0
          # and we observe randomly flaky tests. Check the nodes in our Prow CI
          # cluster.
          cpu: "26000m"
    nodeSelector:
      kpt-config-sync/type: presubmit
      kpt-config-sync/size: large


presubmits:
  GoogleContainerTools/kpt-config-sync:
  - name: kpt-config-sync-presubmit
    cluster: build-kpt-config-sync
#    branches: ["master"]
    always_run: true
    decorate: true
    labels:
      preset-dind-enabled: "true"
    spec:
      containers:
      # https://github.com/kubernetes/test-infra/blob/master/images/kubekins-e2e/variants.yaml
      - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20250227-3a13bdd784-1.31
        command:
        - runner.sh
        args:
        - make
        - test-presubmit
        # docker-in-docker needs privileged mode
        securityContext:
          privileged: true
        resources:
          requests:
            memory: "2Gi"
            cpu: "2000m"
      nodeSelector:
        # This job requires 8vCPUs or less, so it is "small".
        kpt-config-sync/type: presubmit
        kpt-config-sync/size: small
  - <<: *config-sync-e2e-job
    name: kpt-config-sync-presubmit-e2e-multi-repo-test-group1
    spec:
      <<: *config-sync-e2e-job-spec
      containers:
      - <<: *config-sync-e2e-container
        args:
        - make
        - test-e2e-kind-test-group1
  - <<: *config-sync-e2e-job
    name: kpt-config-sync-presubmit-e2e-multi-repo-test-group2
    spec:
      <<: *config-sync-e2e-job-spec
      containers:
      - <<: *config-sync-e2e-container
        args:
        - make
        - test-e2e-kind-test-group2
  - <<: *config-sync-e2e-job
    name: kpt-config-sync-presubmit-e2e-multi-repo-test-group3
    spec:
      <<: *config-sync-e2e-job-spec
      containers:
      - <<: *config-sync-e2e-container
        args:
        - make
        - test-e2e-kind-test-group3
