<commit_before>- job-template:
    name: 'kubernetes-pull-build-test-{suffix}'
    skip-if-no-test-files: false
    concurrent: true
    properties:
        - build-discarder:
            days-to-keep: 7
        - github:
            url: 'https://github.com/kubernetes/kubernetes'
        - throttle:
            max-total: 12
            max-per-node: 1
            option: project
        - raw:
            xml: |
                <com.cloudbees.plugins.JobPrerequisites plugin="slave-prerequisites@1.0">
                    <script>docker version; gcloud version</script>
                    <interpreter>shell script</interpreter>
                </com.cloudbees.plugins.JobPrerequisites>
    parameters:
        - string:
            name: ghprbPullId
        - string:
            name: ghprbTargetBranch
        # The test job tracks a run through the queue using the buildId parameter.
        - string:
            name: buildId
    scm:
        - git:
            remotes:
                - remote:
                    url: 'https://github.com/kubernetes/kubernetes'
                    refspec: '+refs/heads/*:refs/remotes/upstream/*'
                - remote:
                    url: 'https://github.com/kubernetes/kubernetes'
                    refspec: '+refs/pull/${{ghprbPullId}}/merge:refs/remotes/origin/pr/${{ghprbPullId}}/merge'
            branches:
                - 'origin/pr/${{ghprbPullId}}/merge'
            browser: githubweb
            browser-url: 'https://github.com/kubernetes/kubernetes'
            timeout: 20
            clean:
                after: true
            wipe-workspace: false
            skip-tag: true
    wrappers:
        - e2e-credentials-binding
        - inject:
            properties-content: |
                GOROOT=/usr/local/go
                GOPATH=$WORKSPACE/go
                PATH=$PATH:$GOROOT/bin:$WORKSPACE/go/bin
        - workspace-cleanup:
            dirmatch: true
            exclude: ['.git/']
            external-deletion-command: 'sudo rm -rf %s'
        - timeout:
            timeout: 80
            fail: true
    builders:
        - activate-gce-service-account
        - ensure-upload-to-gcs-script:
            git-basedir: ''
        - shell: JENKINS_BUILD_STARTED=true "${{WORKSPACE}}/_tmp/upload-to-gcs.sh"
        - shell: '{cmd}'
    publishers:
        - xunit:
            thresholds:
                - failed:
                    unstable:
                    unstablenew:
                    failure:
                    failurenew:
                - skipped:
                    unstable:
                    unstablenew:
                    failure:
                    failurenew:
            types:
                - junit:
                    skip-if-no-test-files: '{skip-if-no-test-files}'
                    pattern: '_artifacts/**.xml'
                    deleteoutput: false
        - gcs-uploader:
            git-basedir: ''

- project:
    name: kubernetes-pull-e2e
    suffix:
        - 'e2e-gce': # kubernetes-pull-build-test-e2e-gce
            cmd: |
                export KUBE_SKIP_PUSH_GCS=y
                export KUBE_RUN_FROM_OUTPUT=y
                export KUBE_FASTBUILD=true
                ./hack/jenkins/build.sh
                if [[ "${{ghprbTargetBranch:-}}" == "release-1.0" || "${{ghprbTargetBranch:-}}" == "release-1.1" ]]; then
                  ./hack/jenkins/e2e.sh
                else
                  # Nothing should want Jenkins $HOME
                  export HOME=${{WORKSPACE}}
                  export KUBERNETES_PROVIDER="gce"
                  export E2E_MIN_STARTUP_PODS="1"
                  export KUBE_GCE_ZONE="us-central1-f"
                  export FAIL_ON_GCP_RESOURCE_LEAK="true"
                  # Flake detection. Individual tests get a second chance to pass.
                  export GINKGO_TOLERATE_FLAKES="y"
                  export E2E_NAME="e2e-gce-${{NODE_NAME}}-${{EXECUTOR_NUMBER}}"
                  export GINKGO_PARALLEL="y"
                  # This list should match the list in kubernetes-e2e-gce.
                  export GINKGO_TEST_ARGS="--ginkgo.skip=\[Slow\]|\[Serial\]|\[Disruptive\]|\[Flaky\]|\[Feature:.+\]"
                  export FAIL_ON_GCP_RESOURCE_LEAK="false"
                  export PROJECT="k8s-jkns-pr-gce"
                  # NUM_NODES and GINKGO_PARALLEL_NODES should match kubernetes-e2e-gce.
                  export NUM_NODES="4"
                  export GINKGO_PARALLEL_NODES="30"
                  # Force to use container-vm.
                  export KUBE_NODE_OS_DISTRIBUTION="debian"
                  # Assume we're upping, testing, and downing a cluster
                  export E2E_UP="true"
                  export E2E_TEST="true"
                  export E2E_DOWN="true"
                  # Skip gcloud update checking
                  export CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=true
                  # GCE variables
                  export INSTANCE_PREFIX=${{E2E_NAME}}
                  export KUBE_GCE_NETWORK=${{E2E_NAME}}
                  export KUBE_GCE_INSTANCE_PREFIX=${{E2E_NAME}}
                  # Get golang into our PATH so we can run e2e.go
                  export PATH=${{PATH}}:/usr/local/go/bin
                  timeout -k 15m 55m {runner} && rc=$? || rc=$?
                  if [[ ${{rc}} -ne 0 ]]; then
                    if [[ -x cluster/log-dump.sh && -d _artifacts ]]; then
                      echo "Dumping logs for any remaining nodes"
                      ./cluster/log-dump.sh _artifacts
                    fi
                  fi
                  if [[ ${{rc}} -eq 124 || ${{rc}} -eq 137 ]]; then
                    echo "Build timed out" >&2
                  elif [[ ${{rc}} -ne 0 ]]; then
                    echo "Build failed" >&2
                  fi
                  echo "Exiting with code: ${{rc}}"
                  exit ${{rc}}
                fi
        - 'e2e-gke': # kubernetes-pull-build-test-e2e-gke
            skip-if-no-test-files: true  # old branches are skipped and do not produce JUnit
            cmd: |
                case "${{ghprbTargetBranch:-}}" in
                  release-1.0|release-1.1|release-1.2)
                    echo "PR GKE job disabled for legacy branches."
                    exit
                    ;;
                esac
                export KUBE_SKIP_PUSH_GCS=n
                export KUBE_GCS_RELEASE_BUCKET=kubernetes-release-pull
                export KUBE_RUN_FROM_OUTPUT=y
                export KUBE_FASTBUILD=true
                export KUBE_GCS_UPDATE_LATEST=n
                ./hack/jenkins/build.sh
                version=$(source build/util.sh && echo $(kube::release::semantic_version))
                gsutil -m rsync -r "gs://kubernetes-release-pull/ci/${{version}}" "gs://kubernetes-release-dev/ci/${{version}}-pull"
                # Strip off the leading 'v' from the cluster version.
                export CLUSTER_API_VERSION="${{version:1}}-pull"
                # Nothing should want Jenkins $HOME
                export HOME=${{WORKSPACE}}
                export KUBERNETES_PROVIDER="gke"
                export E2E_MIN_STARTUP_PODS="1"
                export FAIL_ON_GCP_RESOURCE_LEAK="true"
                # Flake detection. Individual tests get a second chance to pass.
                export GINKGO_TOLERATE_FLAKES="y"
                export E2E_NAME="e2e-gke-${{NODE_NAME}}-${{EXECUTOR_NUMBER}}"
                export GINKGO_PARALLEL="y"
                # Just run a smoke test.
                export GINKGO_TEST_ARGS="--ginkgo.focus=Guestbook"
                export FAIL_ON_GCP_RESOURCE_LEAK="false"
                export PROJECT="k8s-jkns-pr-gke"
                # Since we're only running one test, just use two nodes.
                export NUM_NODES="2"
                # Assume we're upping, testing, and downing a cluster
                export E2E_UP="true"
                export E2E_TEST="true"
                export E2E_DOWN="true"
                export E2E_OPT="--check_version_skew=false"
                # ContainerVM is not supported any more. Use GCI.
                export KUBE_GKE_IMAGE_TYPE="gci"
                # Skip gcloud update checking
                export CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=true<commit_msg>Use container_vm for original pull-e2e-gke job so we have a comparison point for GCI.<commit_after>- job-template:
    name: 'kubernetes-pull-build-test-{suffix}'
    skip-if-no-test-files: false
    concurrent: true
    properties:
        - build-discarder:
            days-to-keep: 7
        - github:
            url: 'https://github.com/kubernetes/kubernetes'
        - throttle:
            max-total: 12
            max-per-node: 1
            option: project
        - raw:
            xml: |
                <com.cloudbees.plugins.JobPrerequisites plugin="slave-prerequisites@1.0">
                    <script>docker version; gcloud version</script>
                    <interpreter>shell script</interpreter>
                </com.cloudbees.plugins.JobPrerequisites>
    parameters:
        - string:
            name: ghprbPullId
        - string:
            name: ghprbTargetBranch
        # The test job tracks a run through the queue using the buildId parameter.
        - string:
            name: buildId
    scm:
        - git:
            remotes:
                - remote:
                    url: 'https://github.com/kubernetes/kubernetes'
                    refspec: '+refs/heads/*:refs/remotes/upstream/*'
                - remote:
                    url: 'https://github.com/kubernetes/kubernetes'
                    refspec: '+refs/pull/${{ghprbPullId}}/merge:refs/remotes/origin/pr/${{ghprbPullId}}/merge'
            branches:
                - 'origin/pr/${{ghprbPullId}}/merge'
            browser: githubweb
            browser-url: 'https://github.com/kubernetes/kubernetes'
            timeout: 20
            clean:
                after: true
            wipe-workspace: false
            skip-tag: true
    wrappers:
        - e2e-credentials-binding
        - inject:
            properties-content: |
                GOROOT=/usr/local/go
                GOPATH=$WORKSPACE/go
                PATH=$PATH:$GOROOT/bin:$WORKSPACE/go/bin
        - workspace-cleanup:
            dirmatch: true
            exclude: ['.git/']
            external-deletion-command: 'sudo rm -rf %s'
        - timeout:
            timeout: 80
            fail: true
    builders:
        - activate-gce-service-account
        - ensure-upload-to-gcs-script:
            git-basedir: ''
        - shell: JENKINS_BUILD_STARTED=true "${{WORKSPACE}}/_tmp/upload-to-gcs.sh"
        - shell: '{cmd}'
    publishers:
        - xunit:
            thresholds:
                - failed:
                    unstable:
                    unstablenew:
                    failure:
                    failurenew:
                - skipped:
                    unstable:
                    unstablenew:
                    failure:
                    failurenew:
            types:
                - junit:
                    skip-if-no-test-files: '{skip-if-no-test-files}'
                    pattern: '_artifacts/**.xml'
                    deleteoutput: false
        - gcs-uploader:
            git-basedir: ''

- project:
    name: kubernetes-pull-e2e
    suffix:
        - 'e2e-gce': # kubernetes-pull-build-test-e2e-gce
            cmd: |
                export KUBE_SKIP_PUSH_GCS=y
                export KUBE_RUN_FROM_OUTPUT=y
                export KUBE_FASTBUILD=true
                ./hack/jenkins/build.sh
                if [[ "${{ghprbTargetBranch:-}}" == "release-1.0" || "${{ghprbTargetBranch:-}}" == "release-1.1" ]]; then
                  ./hack/jenkins/e2e.sh
                else
                  # Nothing should want Jenkins $HOME
                  export HOME=${{WORKSPACE}}
                  export KUBERNETES_PROVIDER="gce"
                  export E2E_MIN_STARTUP_PODS="1"
                  export KUBE_GCE_ZONE="us-central1-f"
                  export FAIL_ON_GCP_RESOURCE_LEAK="true"
                  # Flake detection. Individual tests get a second chance to pass.
                  export GINKGO_TOLERATE_FLAKES="y"
                  export E2E_NAME="e2e-gce-${{NODE_NAME}}-${{EXECUTOR_NUMBER}}"
                  export GINKGO_PARALLEL="y"
                  # This list should match the list in kubernetes-e2e-gce.
                  export GINKGO_TEST_ARGS="--ginkgo.skip=\[Slow\]|\[Serial\]|\[Disruptive\]|\[Flaky\]|\[Feature:.+\]"
                  export FAIL_ON_GCP_RESOURCE_LEAK="false"
                  export PROJECT="k8s-jkns-pr-gce"
                  # NUM_NODES and GINKGO_PARALLEL_NODES should match kubernetes-e2e-gce.
                  export NUM_NODES="4"
                  export GINKGO_PARALLEL_NODES="30"
                  # Force to use container-vm.
                  export KUBE_NODE_OS_DISTRIBUTION="debian"
                  # Assume we're upping, testing, and downing a cluster
                  export E2E_UP="true"
                  export E2E_TEST="true"
                  export E2E_DOWN="true"
                  # Skip gcloud update checking
                  export CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=true
                  # GCE variables
                  export INSTANCE_PREFIX=${{E2E_NAME}}
                  export KUBE_GCE_NETWORK=${{E2E_NAME}}
                  export KUBE_GCE_INSTANCE_PREFIX=${{E2E_NAME}}
                  # Get golang into our PATH so we can run e2e.go
                  export PATH=${{PATH}}:/usr/local/go/bin
                  timeout -k 15m 55m {runner} && rc=$? || rc=$?
                  if [[ ${{rc}} -ne 0 ]]; then
                    if [[ -x cluster/log-dump.sh && -d _artifacts ]]; then
                      echo "Dumping logs for any remaining nodes"
                      ./cluster/log-dump.sh _artifacts
                    fi
                  fi
                  if [[ ${{rc}} -eq 124 || ${{rc}} -eq 137 ]]; then
                    echo "Build timed out" >&2
                  elif [[ ${{rc}} -ne 0 ]]; then
                    echo "Build failed" >&2
                  fi
                  echo "Exiting with code: ${{rc}}"
                  exit ${{rc}}
                fi
        - 'e2e-gke': # kubernetes-pull-build-test-e2e-gke
            skip-if-no-test-files: true  # old branches are skipped and do not produce JUnit
            cmd: |
                case "${{ghprbTargetBranch:-}}" in
                  release-1.0|release-1.1|release-1.2)
                    echo "PR GKE job disabled for legacy branches."
                    exit
                    ;;
                esac
                export KUBE_SKIP_PUSH_GCS=n
                export KUBE_GCS_RELEASE_BUCKET=kubernetes-release-pull
                export KUBE_RUN_FROM_OUTPUT=y
                export KUBE_FASTBUILD=true
                export KUBE_GCS_UPDATE_LATEST=n
                ./hack/jenkins/build.sh
                version=$(source build/util.sh && echo $(kube::release::semantic_version))
                gsutil -m rsync -r "gs://kubernetes-release-pull/ci/${{version}}" "gs://kubernetes-release-dev/ci/${{version}}-pull"
                # Strip off the leading 'v' from the cluster version.
                export CLUSTER_API_VERSION="${{version:1}}-pull"
                # Nothing should want Jenkins $HOME
                export HOME=${{WORKSPACE}}
                export KUBERNETES_PROVIDER="gke"
                export E2E_MIN_STARTUP_PODS="1"
                export FAIL_ON_GCP_RESOURCE_LEAK="true"
                # Flake detection. Individual tests get a second chance to pass.
                export GINKGO_TOLERATE_FLAKES="y"
                export E2E_NAME="e2e-gke-${{NODE_NAME}}-${{EXECUTOR_NUMBER}}"
                export GINKGO_PARALLEL="y"
                # Just run a smoke test.
                export GINKGO_TEST_ARGS="--ginkgo.focus=Guestbook"
                export FAIL_ON_GCP_RESOURCE_LEAK="false"
                export PROJECT="k8s-jkns-pr-gke"
                # Since we're only running one test, just use two nodes.
                export NUM_NODES="2"
                # Assume we're upping, testing, and downing a cluster
                export E2E_UP="true"
                export E2E_TEST="true"
                export E2E_DOWN="true"
                export E2E_OPT="--check_version_skew=false"
                # TODO(mtaufen): Change this to "gci" once we are confident
                #                that tests behave similarly enough on GCI.
                export KUBE_GKE_IMAGE_TYPE="container_vm"
                # Skip gcloud update checking
                export CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=true
{'fraction_non_alphanumeric': 0.10063793000655816, 'fraction_numerical': 0.008406367376140225, 'mean_word_length': 1.3605403884041656, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 19, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7590610', 'n_tokens_mistral': 5145, 'n_tokens_neox': 4721, 'n_words': 950}