-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setup PR testing for build-pipeline integration tests #16
Milestone
Comments
This was referenced Sep 10, 2018
bobcatfish
changed the title
Setup CI for build-pipeline integration tests
Setup PR testing for build-pipeline integration tests
Sep 18, 2018
This was referenced Sep 21, 2018
bobcatfish
added a commit
to bobcatfish/serving
that referenced
this issue
Sep 27, 2018
While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. I also fixed some headings which were duplicated.
bobcatfish
added a commit
to bobcatfish/pkg
that referenced
this issue
Sep 27, 2018
While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. Removing docs from knative/serving in knative/serving#2097.
bobcatfish
added a commit
to bobcatfish/pkg
that referenced
this issue
Sep 27, 2018
While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. Removing docs from knative/serving in knative/serving#2097.
bobcatfish
added a commit
to bobcatfish/pkg
that referenced
this issue
Sep 27, 2018
While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. Removing docs from knative/serving in knative/serving#2097.
bobcatfish
added a commit
to bobcatfish/pkg
that referenced
this issue
Sep 27, 2018
While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. Removing docs from knative/serving in knative/serving#2097.
bobcatfish
added a commit
to bobcatfish/pkg
that referenced
this issue
Sep 27, 2018
While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. Removing docs from knative/serving in knative/serving#2097.
bobcatfish
added a commit
to bobcatfish/serving
that referenced
this issue
Sep 27, 2018
While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. I also fixed some headings which were duplicated. Adding docs to knative/pkg in knative/pkg#102
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Sep 28, 2018
In this first step, we add an empty integration test that does nothing but list `Pipeline`s in a namespace harded coded to `arendelle` (already used the Toy Story theme in knative/serving, needed something different here, thanks @aaron-prindle XD). This can be run manually against a developer's own cluster, so folks can start adding integration tests in parallel if they want to. This is based off the end to end tests in knative/serving (https://github.com/knative/serving/tree/master/test#running-end-to-end-tests) and uses the libs in knative/pkg extensively, which were made from the libs in knative/serving. The docs weren't moved with the libs tho which I'm trying to fix in: * knative/serving#2097 * knative/pkg#102 This is the first step for #16, next I'll be looking into executing these via Prow, either against a hardcoded cluster with the secrets in Prow or going straight for kubetest + boskos.
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Sep 28, 2018
In this first step, we add an empty integration test that does nothing but list `Pipeline`s in a namespace harded coded to `arendelle` (already used the Toy Story theme in knative/serving, needed something different here, thanks @aaron-prindle XD). This can be run manually against a developer's own cluster, so folks can start adding integration tests in parallel if they want to. This is based off the end to end tests in knative/serving (https://github.com/knative/serving/tree/master/test#running-end-to-end-tests) and uses the libs in knative/pkg extensively, which were made from the libs in knative/serving. The docs weren't moved with the libs tho which I'm trying to fix in: * knative/serving#2097 * knative/pkg#102 The commit adds opencensus, since this is used by the test libs for collecting and emitting metrics. We might want to use those eventually too so that seems fine tho it would be nice if they were optional ¯\_(ツ)_/¯ This is the first step for #16, next I'll be looking into executing these via Prow, either against a hardcoded cluster with the secrets in Prow or going straight for kubetest + boskos.
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 2, 2018
In this first step, we add an empty integration test that does nothing but list `Pipeline`s in a namespace harded coded to `arendelle` (already used the Toy Story theme in knative/serving, needed something different here, thanks @aaron-prindle XD). This can be run manually against a developer's own cluster, so folks can start adding integration tests in parallel if they want to. This is based off the end to end tests in knative/serving (https://github.com/knative/serving/tree/master/test#running-end-to-end-tests) and uses the libs in knative/pkg extensively, which were made from the libs in knative/serving. The docs weren't moved with the libs tho which I'm trying to fix in: * knative/serving#2097 * knative/pkg#102 The commit adds opencensus, since this is used by the test libs for collecting and emitting metrics. We might want to use those eventually too so that seems fine tho it would be nice if they were optional ¯\_(ツ)_/¯ This is the first step for #16, next I'll be looking into executing these via Prow, either against a hardcoded cluster with the secrets in Prow or going straight for kubetest + boskos.
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 2, 2018
In this first step, we add an empty integration test that does nothing but list `Pipeline`s in a namespace harded coded to `arendelle` (already used the Toy Story theme in knative/serving, needed something different here, thanks @aaron-prindle XD). This can be run manually against a developer's own cluster, so folks can start adding integration tests in parallel if they want to. This is based off the end to end tests in knative/serving (https://github.com/knative/serving/tree/master/test#running-end-to-end-tests) and uses the libs in knative/pkg extensively, which were made from the libs in knative/serving. The docs weren't moved with the libs tho which I'm trying to fix in: * knative/serving#2097 * knative/pkg#102 The commit adds opencensus, since this is used by the test libs for collecting and emitting metrics. We might want to use those eventually too so that seems fine tho it would be nice if they were optional ¯\_(ツ)_/¯ This is the first step for #16, next I'll be looking into executing these via Prow, either against a hardcoded cluster with the secrets in Prow or going straight for kubetest + boskos.
knative-prow-robot
pushed a commit
to knative/pkg
that referenced
this issue
Oct 2, 2018
* Move docs from knative/serving to knative/pkg While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. Removing docs from knative/serving in knative/serving#2097. * Fix knative/serving specific docs Fixed copy-pasted references to `knative/serving/test` which should be `knative/pkg/test`. Fixed examples which were specific to `knative/serving`; in the case of the command arg examples, removed the parts which are specific to those e2e tests (though this would make them harder to use by copy and paste, but since the libs are in a common repo now anyway that's probably okay). Tried to make the metric legend easier to read.
knative-prow-robot
pushed a commit
that referenced
this issue
Oct 2, 2018
* Add skeleton integration test In this first step, we add an empty integration test that does nothing but list `Pipeline`s in a namespace harded coded to `arendelle` (already used the Toy Story theme in knative/serving, needed something different here, thanks @aaron-prindle XD). This can be run manually against a developer's own cluster, so folks can start adding integration tests in parallel if they want to. This is based off the end to end tests in knative/serving (https://github.com/knative/serving/tree/master/test#running-end-to-end-tests) and uses the libs in knative/pkg extensively, which were made from the libs in knative/serving. The docs weren't moved with the libs tho which I'm trying to fix in: * knative/serving#2097 * knative/pkg#102 The commit adds opencensus, since this is used by the test libs for collecting and emitting metrics. We might want to use those eventually too so that seems fine tho it would be nice if they were optional ¯\_(ツ)_/¯ This is the first step for #16, next I'll be looking into executing these via Prow, either against a hardcoded cluster with the secrets in Prow or going straight for kubetest + boskos. * Create namespace for tests to use Before running any tests, create a randomized namespace, and tear down the namespace at the end of the test. Because we're using `os.Exit`, we can't use `defer` to execute the cleanup so we'll just do it the old fashioned way. Also added an empty `tearDown` to the integration test to demonstrate how it should be added (specifically to make sure to run it on interrupt as well). * Make `namespace` private to `test` package I made it public (`Namespace`) because of briefly misunderstanding the scope of private variables (I thought they were limited to the file, but they are available to the whole package). Also changed some methods to use the global variable, this seems generally worse but on the other hand there's no reason at the moment for these methods to operate on any namespace other than the global one.
bobcatfish
added a commit
to bobcatfish/test-infra
that referenced
this issue
Oct 2, 2018
The integration tests entrypoint in `presubmit-tests.sh` (https://github.com/knative/build-pipeline/blob/master/test/presubmit-tests.sh#L46) currently will just echo a `TODO` but I'd like to add this to Prow before adding the logic to `presubmit-tests.sh` (especially b/c I don't think I'll have permission to manually run these tests against the boskos clusters in https://github.com/knative/test-infra/blob/master/ci/prow/boskos/resources.yaml). This is part of tektoncd/pipeline#16
knative-prow-robot
pushed a commit
to knative/test-infra
that referenced
this issue
Oct 2, 2018
The integration tests entrypoint in `presubmit-tests.sh` (https://github.com/knative/build-pipeline/blob/master/test/presubmit-tests.sh#L46) currently will just echo a `TODO` but I'd like to add this to Prow before adding the logic to `presubmit-tests.sh` (especially b/c I don't think I'll have permission to manually run these tests against the boskos clusters in https://github.com/knative/test-infra/blob/master/ci/prow/boskos/resources.yaml). This is part of tektoncd/pipeline#16
bobcatfish
added a commit
to bobcatfish/test-infra
that referenced
this issue
Oct 3, 2018
When trying to run this script for knative/build-pipeline, the resource name was getting truncated too early: 1) the resource names were all the same and 2) they were invalid because they happened to end with `-`. This resulted in errors like: ``` ERROR: (gcloud.compute.networks.describe) Could not fetch resource: - Invalid value 'kbuild-pipeline-e2e-'. Values must match the following regular expression: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?' ``` 30 chars is pretty arbitrary so open to better solutions also! This is for tektoncd/pipeline#16
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 3, 2018
Using the scripts from knative/test-infra, run the integration tests against a cluster created with boskos. A lot of the boskos stuff is still kind of magical, for example I have no idea what is controlling the $PROJECT_ID that is being used by knative projects on presubmit, but after wrestling with it a bit and hacking around `--run-tests` I was able to get it to work locally and deploy a cluster (I assume using boskos?). I'll follow up on this more later on and update the docs when I have more info. Assuming we can get knative/test-infra#169 merged I'll revert the change to `e2e-tests.sh` in the `vendor` dir. Fixes #16
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 3, 2018
Using the scripts from knative/test-infra, run the integration tests against a cluster created with boskos. A lot of the boskos stuff is still kind of magical, for example I have no idea what is controlling the $PROJECT_ID that is being used by knative projects on presubmit, but after wrestling with it a bit and hacking around `--run-tests` I was able to get it to work locally and deploy a cluster (I assume using boskos?). I'll follow up on this more later on and update the docs when I have more info. Assuming we can get knative/test-infra#169 merged I'll revert the change to `e2e-tests.sh` in the `vendor` dir. Fixes #16
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 3, 2018
Using the scripts from knative/test-infra, run the integration tests against a cluster created with boskos. A lot of the boskos stuff is still kind of magical, for example I have no idea what is controlling the $PROJECT_ID that is being used by knative projects on presubmit, but after wrestling with it a bit and hacking around `--run-tests` I was able to get it to work locally and deploy a cluster (I assume using boskos?). I'll follow up on this more later on and update the docs when I have more info. Assuming we can get knative/test-infra#169 merged I'll revert the change to `e2e-tests.sh` in the `vendor` dir. Fixes #16
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 3, 2018
Using the scripts from knative/test-infra, run the integration tests against a cluster created with boskos. A lot of the boskos stuff is still kind of magical, for example I have no idea what is controlling the $PROJECT_ID that is being used by knative projects on presubmit, but after wrestling with it a bit and hacking around `--run-tests` I was able to get it to work locally and deploy a cluster (I assume using boskos?). I'll follow up on this more later on and update the docs when I have more info. Assuming we can get knative/test-infra#169 merged I'll revert the change to `e2e-tests.sh` in the `vendor` dir. Fixes #16
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 3, 2018
Using the scripts from knative/test-infra, run the integration tests against a cluster created with boskos. A lot of the boskos stuff is still kind of magical, for example I have no idea what is controlling the $PROJECT_ID that is being used by knative projects on presubmit, but after wrestling with it a bit and hacking around `--run-tests` I was able to get it to work locally and deploy a cluster (Using boskos if running from Prow, or kubetest otherwise). I'll follow up on this more later on and update the docs when I have more info. Assuming we can get knative/test-infra#169 merged I'll revert the change to `e2e-tests.sh` in the `vendor` dir. Fixes #16
knative-prow-robot
pushed a commit
to knative/serving
that referenced
this issue
Oct 4, 2018
* Move docs from knative/serving to knative/pkg While working on tektoncd/pipeline#16 I started trying to build some integration tests, and I wanted to use the code which had been moved to knative/pkg, but it turned out the docs hadn't been ported with the code, so I am moving the docs relevant to knative/pkg/test to that repo. I also fixed some headings which were duplicated. Adding docs to knative/pkg in knative/pkg#102 * Fix name of function in docs lol this one was wrong THE WHOLE TIME SINCE THE VERY FIRST COMMIT where I used one name in the implementation and a different name in the docs XD 5bc7377
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 4, 2018
Using the scripts from knative/test-infra, run the integration tests against a cluster created with boskos. A lot of the boskos stuff is still kind of magical, for example I have no idea what is controlling the $PROJECT_ID that is being used by knative projects on presubmit, but after wrestling with it a bit and hacking around `--run-tests` I was able to get it to work locally and deploy a cluster (Using boskos if running from Prow, or kubetest otherwise). I'll follow up on this more later on and update the docs when I have more info. Assuming we can get knative/test-infra#169 merged I'll revert the change to `e2e-tests.sh` in the `vendor` dir. Fixes #16
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 4, 2018
Using the scripts from knative/test-infra, run the integration tests against a cluster created with boskos. A lot of the boskos stuff is still kind of magical, for example I have no idea what is controlling the $PROJECT_ID that is being used by knative projects on presubmit, but after wrestling with it a bit and hacking around `--run-tests` I was able to get it to work locally and deploy a cluster (Using boskos if running from Prow, or kubetest otherwise). I'll follow up on this more later on and update the docs when I have more info. Fixes #16
knative-prow-robot
pushed a commit
that referenced
this issue
Oct 4, 2018
Using the scripts from knative/test-infra, run the integration tests against a cluster created with boskos. A lot of the boskos stuff is still kind of magical, for example I have no idea what is controlling the $PROJECT_ID that is being used by knative projects on presubmit, but after wrestling with it a bit and hacking around `--run-tests` I was able to get it to work locally and deploy a cluster (Using boskos if running from Prow, or kubetest otherwise). I'll follow up on this more later on and update the docs when I have more info. Fixes #16
bobcatfish
referenced
this issue
in bobcatfish/pipeline
Oct 4, 2018
Integration tests were added as part of #16
knative-prow-robot
pushed a commit
that referenced
this issue
Oct 5, 2018
Integration tests were added as part of #16
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Need to complete #15 before we can tackle this
Expected Behavior
Every PR should have integration tests run against it automatically.
(The long term dream is that we use the Pipeline CRD reference implementation itself to test this repo, but since it is just an API right now, that's a ways off!)
Actual Behavior
Even once #15 is done, we won't have anything to ensure we can actually deploy the CRDs and use them with a running controller.
Steps to Reproduce the Problem
To run the current equivalent of "integration tests", manually walk through the "installing and running" steps in the DEVELOPMENT.md:
Additional Info
We'll need a k8s cluster to deploy to, probably we can make use of boskos:
Whatever we implement should be easy for contributors to trigger manually and not require specific credentials.
The text was updated successfully, but these errors were encountered: