Commit Graph

61 Commits

Author SHA1 Message Date
Michelle Au
a6f21d4054 Add variables for 1.15 2019-07-11 14:33:47 -07:00
Kubernetes Prow Robot
db8abb6e1b Merge pull request #20 from pohly/test-driver-config
more flexible test driver config
2019-07-08 16:02:02 -07:00
Patrick Ohly
b2f4e051d4 prow.sh: flexible test driver config
By moving the code into a separate function, other CSI drivers have a
chance to overwrite it. For the hostpath driver itself we need the
ability to set the driver name depending on which revision is getting
installed.
2019-07-08 21:58:53 +02:00
Kubernetes Prow Robot
03999882f6 Merge pull request #19 from pohly/go-mod-vendor
build.make: allow repos to use 'go mod' for vendoring
2019-05-13 12:41:12 -07:00
Patrick Ohly
066143d146 build.make: allow repos to use 'go mod' for vendoring
How a repo does vendoring is detected based on the presence of
Gopkg.toml.

The vendor check with `dep` was all done locally, but the
corresponding check for `go mod` requires network access. The check
therefore gets skipped when running in the Prow CI in situations where
we are sure that it isn't needed (for example, in a periodic job).
2019-05-11 17:07:14 +02:00
Kubernetes Prow Robot
0bee749334 Merge pull request #18 from pohly/go-version
update to Go 1.12.4
2019-04-15 07:44:09 -07:00
Patrick Ohly
e157b6b514 update to Go 1.12.4
Kubernetes also requires 1.12. We pick the latest stable release
for CI builds.
2019-04-15 09:45:23 +02:00
Kubernetes Prow Robot
88dc9a47e5 Merge pull request #17 from pohly/prow
prow.sh: skip sanity testing if component doesn't support it
2019-04-11 13:38:45 -07:00
Patrick Ohly
0fafc663dc prow.sh: skip sanity testing if component doesn't support it
Whether a component supports sanity testing depends on the
component. For example, csi-driver-host-path enables it because it
makes sense there (and only there). Letting the prow.sh script decide
whether it actually runs simplifies the job definitions in test-infra.
2019-04-11 22:32:01 +02:00
Kubernetes Prow Robot
bcac1c1fb6 Merge pull request #16 from pohly/prow
prow.sh: update csi-driver-host-path
2019-04-11 07:06:14 -07:00
Patrick Ohly
0b10f6a4b0 prow.sh: update csi-driver-host-path
This pulls in
https://github.com/kubernetes-csi/csi-driver-host-path/pull/37, which
turned out to be necessary for pre-submit testing of the
livenessprobe.
2019-04-11 13:37:43 +02:00
Kubernetes Prow Robot
0c2677e8fe Merge pull request #15 from pengzhisun/master
build.make: Replace 'return' to 'exit' to fix shellcheck error
2019-04-11 03:04:14 -07:00
Pengzhi Sun
ff9bce4a71 Replace 'return' to 'exit' to fix shellcheck error 2019-04-11 17:42:44 +08:00
Kubernetes Prow Robot
c60f3823c0 Merge pull request #14 from pohly/prow
prow.sh: remove AllAlpha=all, part II
2019-04-10 07:08:16 -07:00
Patrick Ohly
7aaac22571 prow.sh: remove AllAlpha=all, part II
This was already meant to be done earlier in cda2fc5874.
While at it, extend the permanent TODO with guidance on future feature
gates.
2019-04-10 08:44:54 +02:00
Kubernetes Prow Robot
66177736d7 Merge pull request #13 from pohly/prow
prow enhancements
2019-04-09 14:26:46 -07:00
Patrick Ohly
cda2fc5874 prow.sh: avoid AllAlpha=true
It turned out to not work. Instead of reverting the commit which
introduced this, let's better document this explicitly.
2019-04-09 10:48:37 +02:00
Patrick Ohly
546d5504a1 prow.sh: debug failing KinD cluster creation
When KinD fails in a Prow job, we need additional information to
understand why it failed.
2019-04-09 10:48:37 +02:00
Patrick Ohly
9b0d9cd743 build.make: skip shellcheck if Docker is not available
Not all environments have Docker. The simplifying assumption here is
that if the Docker command is available, it's also usable.
2019-04-09 10:48:37 +02:00
Patrick Ohly
aa45a1cd9b prow.sh: more efficient execution of individual tests
When running only some tests, sometimes extra, unnecessarily work was
done, like bringing up the cluster without alpha gates.
2019-04-09 10:48:37 +02:00
Patrick Ohly
f3d1d2df5c prow.sh: fix hostpath driver version check
The previous logic failed for canary jobs, those also deploy a recent
driver. Instead of guessing what driver gets installed based on job
parameters, check what really runs in the cluster and base the
decision on that.

We only need to maintain this blacklist for 1.0.x until we replace it
with 1.1.0, then this entire hostpath_supports_block can be removed.
2019-04-08 16:39:58 +02:00
Patrick Ohly
31dfaf31dc prow.sh: fix running of just "alpha" tests
"grep -w" treated "serial-alpha" as two words and therefore
CSI_PROW_TESTS sometimes ran too many tests.
2019-04-08 13:01:32 +02:00
Patrick Ohly
f5014439fc prow.sh: AllAlpha=true for unknown Kubernetes versions
This ensures that also new, currently unknown alpha gates are enabled
when testing against a future Kubernetes versions. For all currently
known Kubernetes versions we just use the minimal set of alpha gates,
which ensures that we don't miss any of them in our documentation.
2019-04-08 13:01:27 +02:00
Kubernetes Prow Robot
95ae9de9ac Merge pull request #9 from pohly/prow
Prow testing
2019-04-03 14:20:48 -07:00
Patrick Ohly
d87eccb46d prow.sh: switch back to upstream csi-driver-host-path
The temporary fork was merged, we can use the upstream repo again.
2019-04-03 14:59:33 +02:00
Patrick Ohly
6602d38bfb prow.sh: different E2E suite depending on Kubernetes version
Instead of always using the latest E2E tests for all Kubernetes
versions, the plan now is to use the tests that match the Kubernetes
version. However, for 1.13 we have to make an exception because the
suite for that version did not support the necessary
--storage.testdriver parameter.
2019-04-03 13:54:01 +02:00
Patrick Ohly
741319bd30 prow.sh: improve building Kubernetes from source
While switching back and forth between release-1.13 and release-1.14
locally, there was the problem that the local kind image kept using
the wrong kubelet binary despite rebuilding from source. The problem
went away after cleaning the Bazel cache. Exact root cause unknown,
but perhaps using unique tags and properly cleaning the repo helps.

If not, then the unique tags at least will show what the problem is.
2019-04-03 12:42:33 +02:00
Patrick Ohly
29545bb012 prow.sh: take Go version from Kubernetes source
Using the same (recent) Go version for all Kubernetes versions can
break for older versions when there are incompatible changes in Go. To
avoid that, we use exactly the minimum version of Go required for each
Kubernetes version. This is based on the assumption that this
combination was tested successfully.

When building the E2E suite from Kubernetes (the default) we do the
same, but still allow building it from elsewhere.

We allow the Go version to be empty when it doesn't matter.
2019-04-03 12:38:33 +02:00
Patrick Ohly
429581c52d prow.sh: pull Go version from travis.yml
The travis.yml is now the only place where the Go version for the
component itself needs to be configured.
2019-04-02 20:53:12 +02:00
Patrick Ohly
0a0fd49b8b prow.sh: comment clarification 2019-04-02 20:53:08 +02:00
Kubernetes Prow Robot
2069a0af3b Merge pull request #11 from pohly/verify-shellcheck
verify shellcheck
2019-04-02 08:59:18 -07:00
Patrick Ohly
55212ff2b4 initial Prow test job
This enables testing of other repos and of this repo itself inside
Prow. Currently supported is unit testing ("make test") and E2E
testing (either via a local test suite or the Kubernetes E2E test
suite applied to the hostpath driver example deployment).

The script passes shellcheck and uses Prow to verify that for future
PRs.
2019-04-02 09:01:14 +02:00
Patrick Ohly
6c7ba1be0f build.make: integrate shellcheck into "make test"
By default this only tests the scripts inside the "release-tools"
directory, which is useful when making experimental changes to them in
a component that uses csi-release-tools. But a component can also
enable checking for other directories.
2019-04-02 09:01:09 +02:00
Patrick Ohly
b2d25d4f4d verify-shellcheck.sh: make it usable in csi-release-tools
These are the modifications that were necessary to call this outside
of Kubernetes. The support for excluding files from checking gets
removed to simplify the script. It shouldn't be needed, because
linting can be enabled after fixing whatever scripts might fail the
check.
2019-04-02 09:00:48 +02:00
Kubernetes Prow Robot
3b6af7b1cc Merge pull request #12 from pohly/local-e2e-suite
build.make: avoid unit-testing E2E test suite
2019-03-29 11:46:11 -07:00
Patrick Ohly
104a1ac969 build.make: avoid unit-testing E2E test suite
In repos that have a test/e2e, that test suite should be run
separately because it depends on a running cluster.
2019-03-28 08:40:10 +01:00
Kubernetes Prow Robot
34010e752f Merge pull request #10 from pohly/vendor-check
check vendor directory
2019-03-27 10:44:49 -07:00
Patrick Ohly
e6db50df7e check vendor directory
This runs "dep check" to verify that the vendor directory is
up-to-date and meets expectations (= done with dep >= 0.5.0).
2019-03-27 17:47:51 +01:00
Patrick Ohly
fb13c5198f verify-shellcheck.sh: import from Kubernetes
This is an unmodified copy of kubernetes/hack/verify-shellcheck.sh
revision d5a3db003916b1d33b503ccd2e4897e094d8af77.
2019-03-15 12:28:27 +01:00
Patrick Ohly
94fc1e31d8 build.make: avoid unit-testing E2E test suite
In repos that have a test/e2e, that test suite should be run
separately because it depends on a running cluster.
2019-03-15 11:08:53 +01:00
Kubernetes Prow Robot
849db0ad23 Merge pull request #8 from pohly/subtree-check-relax
verify-subtree.sh: relax check and ignore old content
2019-03-06 09:22:50 -08:00
Patrick Ohly
cc564f929a verify-subtree.sh: relax check and ignore old content
If for whatever reasons a repo already had a `release-tools` directory
before doing a clean import of it with `git subtree`, the check used
to fail because it found those old commits.

This can be fixed by telling `git log` to stop when the directory
disappears from the repo. There has to be a commit with removes the
old content, because otherwise `git subtree add` doesn't work.

Fixes: https://github.com/kubernetes-csi/external-resizer/issues/21
2019-03-06 17:23:07 +01:00
Kubernetes Prow Robot
33d58fdc29 Merge pull request #5 from pohly/test-enhancements
test enhancements
2019-01-25 09:40:59 -08:00
Kubernetes Prow Robot
be8a4400a7 Merge pull request #4 from pohly/canary-fix
build.make: fix pushing of "canary" image from master branch
2019-01-25 08:03:02 -08:00
Patrick Ohly
b0336b553c build.make: more readable "make test" output
The introduction for each individual test looked like an actual
command:

  test-subtree
  ./release-tools/verify-subtree.sh release-tools
  Directory 'release-tools' contains non-upstream changes:
  ...

It's better to make it look like a shell comment and increase its
visibility with a longer prefix:

  ### test-subtree:
  ./release-tools/verify-subtree.sh release-tools
  ...
2019-01-25 11:53:36 +01:00
Patrick Ohly
09436b9f90 build.make: fix pushing of "canary" image from master branch
After merging into external-attacher, the next Travis CI run did not
push the "canary" image because the check for "canary" only covered
the case where "-canary" is used as
suffix (https://travis-ci.org/kubernetes-csi/external-attacher/builds/484095261).
2019-01-25 11:48:59 +01:00
Patrick Ohly
147892c954 build.make: support suppressing checks
Individual repos may have to filter out certain packages from
testing. For example, in csi-test the cmd/csi-sanity directory
contains a special test that depends on additional parameters that set
the CSI driver to test against.
2019-01-24 16:43:24 +01:00
Patrick Ohly
154e33d434 build.make: clarify usage of "make V=1"
This may or may not work, depending on which packages have tests and
whether they contain glog.
2019-01-24 16:42:23 +01:00
Kubernetes Prow Robot
3041b8a425 Merge pull request #3 from pohly/verify-subtree
check subtree for changes
2019-01-23 13:56:56 -08:00
Patrick Ohly
f28c6b60aa test: verify that 'release-tools' subtree is clean
We don't want to allow local modifications in the subtree. Everything
should go to the csi-release-tools repo first.
2019-01-23 14:52:09 +01:00