diff --git a/README.md b/README.md index f23686f55..9c996162a 100644 --- a/README.md +++ b/README.md @@ -385,7 +385,10 @@ To run the integration tests on a DOKS cluster, follow [the instructions](test/k 1. Since we only support three minor versions at a time. E2e tests for the oldest supported version can be removed. 4. Verify [e2e tests pass](.github/workflows/test.yaml) - see [here](#end-to-end-tests) about running tests locally 5. Prepare for [release](#releasing) -6. Perform [release](.github/workflows/release.yaml) +6. If necessary, update Go version to the latest stable Go Binary + 1. Update [Dockerfile](https://github.com/digitalocean/csi-digitalocean/blob/master/test/e2e/Dockerfile#L16) + 2. Update [go.mod](https://github.com/digitalocean/csi-digitalocean/blob/615b91ab948a08cb04ab43ddb62720d5bfb68c87/go.mod#L3) +7. Perform [release](.github/workflows/release.yaml) > See [e2e test README](test/e2e/README.md) on how to run conformance tests locally. diff --git a/test/e2e/README.md b/test/e2e/README.md index 849b79de8..6eaa0cef3 100644 --- a/test/e2e/README.md +++ b/test/e2e/README.md @@ -76,9 +76,31 @@ Command-line arguments are passed as-in to the test tool. Run `e2e.sh -h` for us 3. Extend the Kubernetes release-specific build arguments in the `handle-images.sh` script. 4. Add a new testdriver YAML configuration file. 5. Extend the list of supported Kubernetes releases in `e2e_test.go`. + 1. [Update the `e2e_test.go` file `supportedKubernetesVersions` variable with the up-to-date versions](https://github.com/digitalocean/csi-digitalocean/blob/master/test/e2e/e2e_test.go) 6. Extend the list of tested Kubernetes releases in `.github/workflows/test.yaml`. 7. Extend the list of deleted container images in `.github/workflows/delete.yaml`. -8. Update the [_Kubernetes Compatibility_ matrix](/README.md#kubernetes-compatibility) in the README file. +8. Update the [_Kubernetes Compatibility_ matrix](../../README.md#kubernetes-compatibility) in the README file. +9. [Add new minor release section in Dockerfile where X is your minor version and Y is the patch version](https://github.com/digitalocean/csi-digitalocean/blob/master/test/e2e/Dockerfile) + ```Dockerfile + ### Kubernetes 1.XX + FROM builder AS tests-X.Y + ARG KUBE_VERSION_1_X=1.X.Y + ARG KUBE_VERSION_1_X_E2E_BIN_SHA256_CHECKSUM=807f5ce07395f01e916873847a553dc32d437341695360bbcad5932e9fed094e + + RUN curl --fail --location https://dl.k8s.io/v${KUBE_VERSION_1_X}/kubernetes-test-linux-amd64.tar.gz | tar xvzf - --strip-components 3 kubernetes/test/bin/e2e.test kubernetes/test/bin/ginkgo + RUN echo "${KUBE_VERSION_1_X_E2E_BIN_SHA256_CHECKSUM}" e2e.test | sha256sum --check + RUN cp e2e.test /e2e.1.X.test + RUN cp ginkgo /ginkgo-1.X + ``` +10. If needed, [remove deprecated version in Dockerfile](https://github.com/digitalocean/csi-digitalocean/blob/master/test/e2e/Dockerfile) +11. [Upgrade DOCTL_VERSION environment variable with latest version](https://github.com/digitalocean/csi-digitalocean/blob/master/test/e2e/Dockerfile) + 1. Latest, version can be found [here](https://github.com/digitalocean/doctl/releases) +12. [Add copy commands under the `final test container section` to the Dockerfile where XX is the minor version](https://github.com/digitalocean/csi-digitalocean/blob/master/test/e2e/Dockerfile) + ```Dockerfile + COPY --from=tests-1.XX /e2e.1.XX.test / + COPY --from=tests-1.XX /ginkgo-1.XX /usr/local/bin + ``` +13. [Update the `handle-image.sh` file with the up to date versions](https://github.com/digitalocean/csi-digitalocean/blob/master/test/e2e/handle-image.sh) ### handle-image.sh