Apply privileged pod security standard to kube-bench
[functest-kubernetes.git] / .travis.yml
1 ---
2 sudo: required
3 language: generic
4 services: docker
5 dist: focal
6
7 before_script:
8   - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
9   - sudo pip install tox tox-pip-version
10   - sudo apt-get update && sudo apt-get install -y enchant
11   - docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
12   - (cd .. && git clone https://github.com/estesp/manifest-tool)
13   - (cd ../manifest-tool && git checkout v0.9.0)
14   - (cd ../manifest-tool && make && sudo make install)
15
16 jobs:
17   include:
18     - stage: run unit tests
19       script: tox -e pep8,pylint,yamllint,bashate,py38,bandit
20     - stage: build functest-kubernetes-core images
21       script: bash build.sh
22       env:
23         - REPO="${DOCKER_USERNAME}"
24         - amd64_dirs="docker/core"
25         - arm_dirs=""
26         - arm64_dirs=""
27     - script: bash build.sh
28       env:
29         - REPO="${DOCKER_USERNAME}"
30         - amd64_dirs=""
31         - arm_dirs="docker/core"
32         - arm64_dirs=""
33     - script: bash build.sh
34       env:
35         - REPO="${DOCKER_USERNAME}"
36         - amd64_dirs=""
37         - arm_dirs=""
38         - arm64_dirs="docker/core"
39     - stage: publish functest-kubernetes-core manifests
40       script: >
41         manifest-tool push from-args \
42           --platforms linux/amd64,linux/arm,linux/arm64 \
43           --template ${DOCKER_USERNAME}/functest-kubernetes-core:ARCH-latest \
44           --target ${DOCKER_USERNAME}/functest-kubernetes-core:latest
45     - stage: build functest-kubernetes-[healthcheck,cnf,security] images
46       script: bash build.sh
47       env:
48         - REPO="${DOCKER_USERNAME}"
49         - amd64_dirs="docker/healthcheck"
50         - arm_dirs=""
51         - arm64_dirs=""
52     - script: bash build.sh
53       env:
54         - REPO="${DOCKER_USERNAME}"
55         - amd64_dirs=""
56         - arm_dirs="docker/healthcheck"
57         - arm64_dirs=""
58     - script: bash build.sh
59       env:
60         - REPO="${DOCKER_USERNAME}"
61         - amd64_dirs=""
62         - arm_dirs=""
63         - arm64_dirs="docker/healthcheck"
64     - script: bash build.sh
65       env:
66         - REPO="${DOCKER_USERNAME}"
67         - amd64_dirs="docker/cnf"
68         - arm_dirs=""
69         - arm64_dirs=""
70     - script: bash build.sh
71       env:
72         - REPO="${DOCKER_USERNAME}"
73         - amd64_dirs=""
74         - arm_dirs="docker/cnf"
75         - arm64_dirs=""
76     - script: bash build.sh
77       env:
78         - REPO="${DOCKER_USERNAME}"
79         - amd64_dirs=""
80         - arm_dirs=""
81         - arm64_dirs="docker/cnf"
82     - script: bash build.sh
83       env:
84         - REPO="${DOCKER_USERNAME}"
85         - amd64_dirs="docker/security"
86         - arm_dirs=""
87         - arm64_dirs=""
88     - script: bash build.sh
89       env:
90         - REPO="${DOCKER_USERNAME}"
91         - amd64_dirs=""
92         - arm_dirs="docker/security"
93         - arm64_dirs=""
94     - script: bash build.sh
95       env:
96         - REPO="${DOCKER_USERNAME}"
97         - amd64_dirs=""
98         - arm_dirs=""
99         - arm64_dirs="docker/security"
100     - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests
101       script: >
102         manifest-tool push from-args \
103           --platforms linux/amd64,linux/arm,linux/arm64 \
104           --template \
105           ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-latest \
106           --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:latest
107     - script: >
108         manifest-tool push from-args \
109           --platforms linux/amd64,linux/arm,linux/arm64 \
110           --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-latest \
111           --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:latest
112     - script: >
113         manifest-tool push from-args \
114           --platforms linux/amd64,linux/arm,linux/arm64 \
115           --template \
116             ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-latest \
117           --target ${DOCKER_USERNAME}/functest-kubernetes-security:latest
118     - stage: build functest-kubernetes-smoke image
119       script: bash build.sh
120       env:
121         - REPO="${DOCKER_USERNAME}"
122         - amd64_dirs="docker/smoke"
123         - arm_dirs=""
124         - arm64_dirs=""
125     - script: bash build.sh
126       env:
127         - REPO="${DOCKER_USERNAME}"
128         - amd64_dirs=""
129         - arm_dirs="docker/smoke"
130         - arm64_dirs=""
131     - script: bash build.sh
132       env:
133         - REPO="${DOCKER_USERNAME}"
134         - amd64_dirs=""
135         - arm_dirs=""
136         - arm64_dirs="docker/smoke"
137     - stage: publish functest-kubernetes-smoke manifests
138       script: >
139         manifest-tool push from-args \
140           --platforms linux/amd64,linux/arm,linux/arm64 \
141           --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-latest \
142           --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:latest
143     - stage: build functest-kubernetes-benchmarking image
144       script: bash build.sh
145       env:
146         - REPO="${DOCKER_USERNAME}"
147         - amd64_dirs="docker/benchmarking"
148         - arm_dirs=""
149         - arm64_dirs=""
150     - script: bash build.sh
151       env:
152         - REPO="${DOCKER_USERNAME}"
153         - amd64_dirs=""
154         - arm_dirs="docker/benchmarking"
155         - arm64_dirs=""
156     - script: bash build.sh
157       env:
158         - REPO="${DOCKER_USERNAME}"
159         - amd64_dirs=""
160         - arm_dirs=""
161         - arm64_dirs="docker/benchmarking"
162     - stage: publish functest-kubernetes-benchmarking manifests
163       script: >
164         manifest-tool push from-args \
165           --platforms linux/amd64,linux/arm,linux/arm64 \
166           --template \
167         ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:ARCH-latest \
168           --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:latest