Commit Graph

486 Commits

Author SHA1 Message Date
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
Patrick Ohly 9132a016e9 test: split up into individual targets, run all
"make test" used to abort after the first test failure. That was
partly intentional: if the simple tests already fail (for example,
because of a syntax error), then there is no point in continuing to
test.

However, it also makes it harder to find all errors in a CI system
when the errors are unrelated (first error shows up, gets fixed, next
error shows up, etc.).

Now "make test" still aborts early, but "make -k test" is used in the
CI and will run all individual tests because they are split up into
different targets.
2019-01-23 14:49:07 +01:00
Patrick Ohly 73db45967f verify-subtree.sh: ensure that there are no local commits
The goal is to enforce that changes get merged upstream first and only
get into the local repo via a normal "git subtree merge".
2019-01-23 14:43:52 +01:00
Kubernetes Prow Robot 520a04a717
Merge pull request #2 from pohly/repo-fix
README.md: fix repo URL for initial setup
2019-01-22 11:58:53 -08:00
Patrick Ohly f49080e086 README.md: fix repo URL for initial setup
Copy-and-paste error from the time when the
kubernetes-csi/csi-release-tools repo didn't have the code...
2019-01-22 10:28:11 +01:00
Kubernetes Prow Robot b32dd0106a
Merge pull request #1 from pohly/master
initial content
2019-01-21 12:51:32 -08:00
Patrick Ohly c876547b7f README.md: update repo name, add initial setup step
The actual repository was not named like the prototype repo.
2019-01-21 10:26:11 +01:00
Patrick Ohly 51e16be615 RELEASE.md: clarify release process
It's worth calling out explicitly that only the master branch is
maintained.
2019-01-21 10:18:56 +01:00
Patrick Ohly a1136470c2 build.make: initial content
The repo was created with an HTML version of the build.make file from
https://github.com/pohly/csi-build-rules/. Here's the raw file.
2019-01-21 10:11:51 +01:00
Aaron Crickenberger d23a16cb74 Port over information from kubernetes/org 2019-01-16 11:19:16 -08:00
Aaron Crickenberger b41cac350d Add files from github.com/pohly/csi-build-rules 2019-01-16 10:51:52 -08:00
Aaron Crickenberger 0535c0d4f1 Initial commit from kubernetes-template-project 2019-01-16 10:47:35 -08:00