github.com/pachyderm/pachyderm@v1.13.4/.testfaster.yml (about) 1 name: Pachyderm 2 3 base: 4 # NB: use: 5 # testctl ssh --tty=false -- docker images --format "{{.Repository}}:{{.Tag}}" |sort |sed 's/^/ - /g' 6 # to refresh this list 7 # (to get extra fancy, highlight the following lines in vim and type :! and then 8 # the above command to replace it inline) 9 preload_docker_images: 10 - bash:4 11 - dockermuenster/caddy:0.9.3 12 - gcr.io/google_containers/kube-state-metrics:v0.5.0 13 - gcr.io/k8s-minikube/storage-provisioner:v1.8.1 14 - giantswarm/tiny-tools:latest 15 - golang:1.12.1 16 - golang:1.13.8 17 - golang:1.14.2 18 - golang:1.15.4 19 - grafana/grafana:4.2.0 20 - grafana/loki:2.0.0 21 - grafana/promtail:2.0.0 22 - k8s.gcr.io/coredns:1.6.7 23 - k8s.gcr.io/etcd:3.4.3-0 24 - k8s.gcr.io/kube-apiserver:v1.18.3 25 - k8s.gcr.io/kube-controller-manager:v1.18.3 26 - k8s.gcr.io/kube-proxy:v1.18.3 27 - k8s.gcr.io/kube-scheduler:v1.18.3 28 - k8s.gcr.io/pause:3.2 29 - pachyderm/dash:0.5.48 30 - pachyderm/etcd:v3.3.5 31 - pachyderm/grpc-proxy:0.4.10 32 - pachyderm/opencv:latest 33 - pachyderm/ubuntuplusnetcat:latest 34 - postgres:13.0-alpine 35 - prom/node-exporter:v0.14.0 36 - prom/prometheus:v1.7.0 37 - python:latest 38 - quay.io/prometheus/alertmanager:v0.7.1 39 - ubuntu:16.04 40 - ubuntu:18.04 41 - ubuntu:latest 42 - v4tech/imagemagick:latest 43 44 # TODO: make this optional 45 kernel_image: "quay.io/testfaster/ignite-kernel" 46 47 os_dockerfile: |- 48 FROM quay.io/testfaster/kube-ubuntu 49 ENV cache-bust 19 50 RUN apt-get update && apt-get install -y build-essential gettext-base socat shellcheck rsync jq pv silversearcher-ag 51 RUN cd /root && wget -nv -O - https://dl.google.com/go/go1.15.4.linux-amd64.tar.gz | tar -zxf - 52 ENV GOPATH=/root/go 53 ENV PATH=/root/go/bin:${PATH} 54 RUN echo "AcceptEnv ENT_ACT_CODE BUCKET PPS_BUCKETS AUTH_BUCKETS GOPROXY CIRCLE_BRANCH RUN_BAD_TESTS DOCKER_PWD AMAZON_CLIENT_ID AMAZON_CLIENT_SECRET AMAZON_CLIENT_BUCKET AMAZON_CLIENT_REGION ECS_CLIENT_ID ECS_CLIENT_SECRET ECS_CLIENT_BUCKET ECS_CLIENT_CUSTOM_ENDPOINT GOOGLE_CLIENT_BUCKET GOOGLE_CLIENT_CREDS GOOGLE_CLIENT_HMAC_ID GOOGLE_CLIENT_HMAC_SECRET GOOGLE_CLIENT_REGION MICROSOFT_CLIENT_ID MICROSOFT_CLIENT_SECRET MICROSOFT_CLIENT_CONTAINER" >> /etc/ssh/sshd_config 55 RUN mkdir /root/project 56 WORKDIR /root/project 57 # Warm up go mod cache and go build cache we set VERSION_ADDITIONAL so that 58 # Makefile uses cacheable build params (version). Also cache the go deps 59 # the linter uses (we don't really care if the linter passes) 60 RUN git clone https://github.com/pachyderm/pachyderm && \ 61 cd pachyderm && \ 62 git checkout 89f9f1fb9c87343d5e4cc43a70317742534c8612 && \ 63 CIRCLE_BRANCH=1 make install && \ 64 PATH="/root/go/bin:${PATH}" etc/testing/lint.sh || true 65 RUN wget -nv https://github.com/instrumenta/kubeval/releases/download/0.15.0/kubeval-linux-amd64.tar.gz && \ 66 tar xf kubeval-linux-amd64.tar.gz && \ 67 cp kubeval /usr/local/bin && \ 68 rm kubeval-linux-amd64.tar.gz 69 RUN cd /usr/local/ && \ 70 wget -nv -O - https://install.goreleaser.com/github.com/goreleaser/goreleaser.sh | sh 71 72 docker_bake_script: |- 73 #!/bin/bash 74 set -xeuo pipefail 75 cd /root/project/pachyderm 76 # we set CIRCLE_BRANCH so that Makefile uses cacheable 77 # build params (version) 78 export CIRCLE_BRANCH=1 79 export GOPATH=/root/go 80 export PATH=/root/go/bin:${PATH} 81 # warm up docker buildkit go mod cache and go build cache 82 git config user.email "donotreply@pachyderm.com" 83 git config user.name "anonymous" 84 git tag -f -am "Circl CI test bake script" v0.0.1-circle-test-base-imagea 85 # VERSION is used by docker-build-pipeline-build (Env.VERSION in 86 # goreleaser/docker-build-pipelines.yml), needs to be something like 87 # '1.12.0-CIbuild' 88 export VERSION="$(pachctl version --client-only)" 89 echo "Using VERSION=$VERSION" 90 make docker-build 91 # build docker images that are used in tests 92 (cd etc/testing/images/ubuntu_with_s3_clients; make image) 93 make docker-build-kafka 94 make docker-build-spout-test 95 make docker-build-test-entrypoint 96 make docker-build-pipeline-build 97 make docker-build-proto 98 set +x 99 echo "============= POST BAKE IMAGES ==================" 100 docker images 101 echo "=================================================" 102 103 prewarm_script: |- 104 #!/bin/bash 105 set -euo pipefail 106 107 cd /root/project/pachyderm 108 109 # re-warm OS file cache etc, e.g. load the file metadata into VM memory to 110 # make the actual build faster (it's already been cached on disk from the 111 # previous stages) 112 export CIRCLE_BRANCH=1 113 export GOPATH=/root/go 114 export PATH=/root/go/bin:${PATH} 115 make install 116 git config user.email "donotreply@pachyderm.com" 117 git config user.name "anonymous" 118 git tag -f -am "Circl CI test prewarm script" v0.0.1-circle-test-base-image 119 make docker-build 120 121 # start services used by tests 122 make launch-loki 123 124 # leave a clue that the VM is ready.. 125 touch /TESTFASTER_PREWARM_COMPLETE 126 127 kubernetes_version: 'v1.18.3' 128 129 runtime: 130 cpus: 4 131 memory: 8GB 132 disk: 50GB 133 134 prewarm_pool_size: 12 135 max_pool_size: 24 136 # timeout vms after 1hr. hopefully tests will clean them up sooner, but if the 137 # tests themselves timeout and cleanup doesn't get run... 138 default_lease_timeout: 1h