Skip to content
This repository has been archived by the owner on Oct 13, 2023. It is now read-only.

[19.03 backport] Jenkinsfile and related test-changes #328

Merged
merged 71 commits into from
Aug 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
2b33fe3
hack: remove integration-cli-on-swarm
AkihiroSuda May 31, 2019
e092ff3
Bump docker-py to 4.0.2, and run tests from upstream repository
thaJeztah May 20, 2019
89e812a
Makefile: Allow passing DOCKER_TEST_HOST and TESTDEBUG to container
thaJeztah Apr 16, 2019
c3a7556
docker-py: don't build --quiet is TESTDEBUG is set
thaJeztah Jul 13, 2019
9ad75d2
docker-py: use host-network for nested build of docker-py
thaJeztah Jul 16, 2019
ab68b5d
docker-py: skip flaky tests
thaJeztah Jul 13, 2019
19fa3ab
WIP Move docker-py tests first again
thaJeztah Jul 16, 2019
624ff4f
integration: organize bundle directory per test
thaJeztah Jul 12, 2019
130c074
Cleanup "address" when connecting over a UNIX socket
thaJeztah Jul 12, 2019
63e03b1
Remove Codecov
thaJeztah Jul 15, 2019
191b038
remove DOCKER_EXECDRIVER from Jenkinsfile
andrewhsu Jul 25, 2019
3e266ba
use overlay2 for janky and experimental checks
andrewhsu Jul 23, 2019
5bed812
ADDED changes to integrate with our new Jenkins ci
zelahi Jul 22, 2019
55fc016
allow running of single integration test
andrewhsu Jul 16, 2019
0b274cf
Set TIMEOUT according to os/arch.
michael2012z Jul 17, 2019
da9289f
Improvements to the test runners
cpuguy83 Jul 29, 2019
24144db
run unit tests and generate junit report
andrewhsu Jul 31, 2019
5da534d
Jenkinsfile: consistently indent with 4 spaces
thaJeztah Aug 2, 2019
de941c9
Jenkinsfile: remove build --rm, because it's the default
thaJeztah Aug 2, 2019
31cb280
Jenkinsfile: remove check for arch-specific Dockerfiles
thaJeztah Aug 2, 2019
d974674
Jenkinsfile: set APT_MIRROR globally
thaJeztah Aug 2, 2019
ea508a8
Jenkinsfile: set DOCKER_BUILDKIT globally
thaJeztah Aug 2, 2019
3040f3f
Jenkinsfile: use sub-stages to describe steps
thaJeztah Aug 2, 2019
37536cd
Jenkinsfile: run "make clean" in cleanup step
thaJeztah Aug 2, 2019
1d0821e
Jenkinsfile: remove arch-specific suffixes from names
thaJeztah Aug 2, 2019
b40359b
Jenkinsfile: busybox is multi-arch
thaJeztah Aug 2, 2019
c6a4351
Jenkinsfile: split some shell steps
thaJeztah Aug 2, 2019
337f0fc
Jenkinsfile: Add "info" step to all stages
thaJeztah Aug 2, 2019
002bf38
Jenkinsfile: disable buildkit on power and s390x
thaJeztah Aug 2, 2019
b81c762
Jenkinsfile: use GIT_COMMIT from Git plugin instead of manually
thaJeztah Aug 3, 2019
949708a
Jenkinsfile: combine "vendor" and "unit tests"
thaJeztah Aug 3, 2019
cbbff33
Jenkinsfile: standardize cointainer names and fix s390x cleanup
thaJeztah Aug 3, 2019
c94dca1
Jenkinsfile: remove ip_vs modprobe for unit/vendor stage
thaJeztah Aug 3, 2019
0a5ea9d
Jenkinsfile: run check-config.sh to print system configuration
thaJeztah Aug 3, 2019
8dbb761
Jenkinsfile: use overlay2 for Power and s390x as well
thaJeztah Aug 3, 2019
04ca2e6
Jenkinsfile: extract DOCKER_GRAPHDRIVER as environment variable
thaJeztah Aug 3, 2019
970fb3c
Jenkinsfile: move building e2e image to "unit-vendor" stage
thaJeztah Aug 3, 2019
678121e
Jenkinsfile: remove unused GIT_SHA1 env-var
thaJeztah Aug 3, 2019
7a82829
Jenkinsfile: consistent indentation and order of env-vars
thaJeztah Aug 3, 2019
9970379
Jenkinsfile: remove .git mount in stages that don't use it
thaJeztah Aug 3, 2019
63966de
Jenkinsfile: inline janky steps, and move validate to separate stage
thaJeztah Aug 3, 2019
62af652
Jenkinsfile: inline experimental, power, z steps, and split Unit test
thaJeztah Aug 3, 2019
30549cd
Jenkinsfile: move docker-py to separate stage
thaJeztah Aug 3, 2019
52ec660
docker-py: deselect broken experimental tests
thaJeztah Aug 9, 2019
94d5642
Consistently use DOCKER_EXPERIMENTAL=1 instead or =y
thaJeztah Aug 9, 2019
0d0b1e7
Jenkinsfile: remove "experimental" stage
thaJeztah Aug 9, 2019
3dd11dd
docker-py: skip PullImageTest::test_pull_invalid_platform
thaJeztah Aug 10, 2019
61e218a
Dockerfile: add back yamllint
thaJeztah Jul 30, 2019
5c2e0c6
Jenkinsfile: avoid errors from find
kolyshkin Aug 9, 2019
34a8dca
Jenkinsfile: move static and cross compilation to unit-validate stage
Aug 5, 2019
78207d5
hack: unmount leftover daemon root folders
Aug 5, 2019
eee3f67
Jenkinsfile: reduce time of integration tests by dividing tests into …
Aug 7, 2019
10dd4a2
add powerpc-master stage to Jenkinsfile
andrewhsu Aug 9, 2019
23b7bdf
add z-master stage to Jenkinsfile
andrewhsu Aug 9, 2019
75c408c
set timeouts in Jenkinsfile to 2 hrs
andrewhsu Aug 9, 2019
46fa5a4
use environment for power jobs in Jenkinsfile
andrewhsu Aug 9, 2019
55b938c
use environment for z jobs in Jenkinsfile
andrewhsu Aug 9, 2019
9ccba2f
be more lenient on junit report gathering in Jenkinsfile
andrewhsu Aug 9, 2019
b81a258
rename z bundles in Jenkinsfile
andrewhsu Aug 10, 2019
4593b40
rename powerpc bundles in Jenkinsfile
andrewhsu Aug 10, 2019
e6b4995
fix bundles filenames in Jenkinsfile
andrewhsu Aug 12, 2019
c243ffa
Jenkinsfile: send junit.xml in the stage that produced it
thaJeztah Aug 11, 2019
75d2179
Jenkinsfile: collect junit.xml for all architectures
thaJeztah Aug 11, 2019
16d0807
docker-py: fix linting issues reported by shellcheck
thaJeztah Aug 10, 2019
34fa29e
docker-py: run without tty to disable color output
thaJeztah Aug 10, 2019
16639f5
docker-py: use --mount for bind-mounting docker.sock
thaJeztah Aug 10, 2019
70303de
docker-py: output junit.xml for test-results
thaJeztah Aug 10, 2019
fb471aa
Jenkinsfile: build dynamic binary for docker-py, to match makefile
thaJeztah Aug 10, 2019
83e7de5
Jenkinsfile: save docker-py artifacts
thaJeztah Aug 10, 2019
0873c3b
hack: fix mixed tabs/spaces for indentation
thaJeztah Aug 2, 2019
df1d66e
Set locale to fix yamlllint
thaJeztah Aug 5, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@ bundles
vendor/pkg
.go-pkg-cache
.git
hack/integration-cli-on-swarm/integration-cli-on-swarm

1 change: 0 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,5 @@ daemon/graphdriver/overlay2/** @dmcgowan
daemon/graphdriver/windows/** @johnstep @jhowardmsft
daemon/logger/awslogs/** @samuelkarp
hack/** @tianon
hack/integration-cli-on-swarm/** @AkihiroSuda
plugin/** @cpuguy83
project/** @thaJeztah
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# please consider a global .gitignore https://help.github.com/articles/ignoring-files
*.exe
*.exe~
*.gz
*.orig
test.main
.*.swp
Expand All @@ -19,6 +20,6 @@ contrib/builder/rpm/*/changelog
dockerversion/version_autogen.go
dockerversion/version_autogen_unix.go
vendor/pkg/
hack/integration-cli-on-swarm/integration-cli-on-swarm
coverage.txt
go-test-report.json
profile.out
junit-report.xml
47 changes: 12 additions & 35 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,6 @@ RUN set -x \
esac \
&& rm -rf "$GOPATH"



FROM base AS docker-py
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT ac922192959870774ad8428344d9faa0555f7ba6
RUN git clone https://github.com/docker/docker-py.git /build \
&& cd /build \
&& git checkout -q $DOCKER_PY_COMMIT



FROM base AS swagger
# Install go-swagger for validating swagger.yaml
ENV GO_SWAGGER_COMMIT c28258affb0b6251755d92489ef685af8d4ff3eb
Expand All @@ -94,7 +83,6 @@ RUN set -x \
&& go build -o /build/swagger github.com/go-swagger/go-swagger/cmd/swagger \
&& rm -rf "$GOPATH"


FROM base AS frozen-images
RUN apt-get update && apt-get install -y jq ca-certificates --no-install-recommends
# Get useful and necessary Hub images so we can "docker load" locally instead of pulling
Expand Down Expand Up @@ -181,6 +169,12 @@ COPY hack/dockerfile/install/install.sh ./install.sh
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME

FROM base AS gotestsum
ENV INSTALL_BINARY_NAME=gotestsum
COPY hack/dockerfile/install/install.sh ./install.sh
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME

FROM dev-base AS dockercli
ENV INSTALL_BINARY_NAME=dockercli
COPY hack/dockerfile/install/install.sh ./install.sh
Expand Down Expand Up @@ -228,25 +222,14 @@ RUN apt-get update && apt-get install -y \
jq \
libcap2-bin \
libdevmapper-dev \
# libffi-dev and libssl-dev appear to be required for compiling paramiko on s390x/ppc64le
libffi-dev \
libssl-dev \
libudev-dev \
libsystemd-dev \
binutils-mingw-w64 \
g++-mingw-w64-x86-64 \
net-tools \
pigz \
python-backports.ssl-match-hostname \
python-dev \
# python-cffi appears to be required for compiling paramiko on s390x/ppc64le
python-cffi \
python-mock \
python-pip \
python-requests \
python-setuptools \
python-websocket \
python-wheel \
python3-pip \
python3-setuptools \
thin-provisioning-tools \
vim \
vim-common \
Expand All @@ -258,9 +241,13 @@ RUN apt-get update && apt-get install -y \
libnet1 \
libnl-3-200 \
--no-install-recommends

RUN pip3 install yamllint==1.16.0

COPY --from=swagger /build/swagger* /usr/local/bin/
COPY --from=frozen-images /build/ /docker-frozen-images
COPY --from=gometalinter /build/ /usr/local/bin/
COPY --from=gotestsum /build/ /usr/local/bin/
COPY --from=tomlv /build/ /usr/local/bin/
COPY --from=vndr /build/ /usr/local/bin/
COPY --from=tini /build/ /usr/local/bin/
Expand All @@ -270,16 +257,6 @@ COPY --from=proxy /build/ /usr/local/bin/
COPY --from=dockercli /build/ /usr/local/cli
COPY --from=registry /build/registry* /usr/local/bin/
COPY --from=criu /build/ /usr/local/
COPY --from=docker-py /build/ /docker-py
# TODO: This is for the docker-py tests, which shouldn't really be needed for
# this image, but currently CI is expecting to run this image. This should be
# split out into a separate image, including all the `python-*` deps installed
# above.
RUN cd /docker-py \
&& pip install docker-pycreds==0.4.0 \
&& pip install paramiko==2.4.2 \
&& pip install yamllint==1.5.0 \
&& pip install -r test-requirements.txt
COPY --from=rootlesskit /build/ /usr/local/bin/
COPY --from=djs55/vpnkit@sha256:e508a17cfacc8fd39261d5b4e397df2b953690da577e2c987a47630cd0c42f8e /vpnkit /usr/local/bin/vpnkit.x86_64

Expand Down