Skip to content
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

Run e2e and integration test on windows and macOS host #2540

Closed
2 of 6 tasks
prietyc123 opened this issue Jan 29, 2020 · 35 comments
Closed
2 of 6 tasks

Run e2e and integration test on windows and macOS host #2540

prietyc123 opened this issue Jan 29, 2020 · 35 comments
Assignees
Labels
area/testing Issues or PRs related to testing, Quality Assurance or Quality Engineering kind/epic An issue categorized as a high-level Epic. Needs to be scoped and broken down in 1+ stories/tasks kind/feature Categorizes issue as a feature request. For PRs, that means that the PR is the implementation lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. priority/High Important issue; should be worked on before any other issues (except priority/Critical issue(s)). status/blocked Denotes an issue or PR that is blocked on something (e.g., issue/PR in different repo)

Comments

@prietyc123
Copy link
Contributor

prietyc123 commented Jan 29, 2020

[kind/Feature]

Which functionality do you think we should add?

We can borrow macOS host on travis and windows from appveyor then only we can start our tests on these hosts.

Why is this needed?

Not yet implemented in CI.

@prietyc123 prietyc123 added area/testing Issues or PRs related to testing, Quality Assurance or Quality Engineering priority/High Important issue; should be worked on before any other issues (except priority/Critical issue(s)). labels Jan 29, 2020
@kadel kadel added state/In Analysis kind/feature Categorizes issue as a feature request. For PRs, that means that the PR is the implementation labels Jan 29, 2020
@amitkrout amitkrout assigned amitkrout and unassigned prietyc123 Jan 30, 2020
@kadel kadel added triage/needs-information Indicates an issue needs more information in order to work on it. and removed state/In Analysis labels Feb 14, 2020
@amitkrout
Copy link
Contributor

@mohammedzee1000 Can we please add those inputs that we discussed yesterday and before. @prietyc123 FYI...

@mohammedzee1000
Copy link
Contributor

mohammedzee1000 commented Mar 9, 2020

We can use travis.rb which is the official cli for travis ci or we can directly use the API.

The main drawbacks of travis.rb is we cannot create job manually, just restarting existing ones and also while we can set envs, we cannot do it per build

So i propose:

  • configure travis job which looks for env and if not present fails
  • prow job starts and brings up cluster
  • prow job passes on cluster url to travis job with env and restarts it

NOTE as said we will have to consider possible dirty reads with env and figure out how to work around that

@mohammedzee1000
Copy link
Contributor

mohammedzee1000 commented Mar 9, 2020

https://github.com/travis-ci/travis.rb
The problematic bit where dirty reads can occur is https://github.com/travis-ci/travis.rb#env and we should plan around that.

For example after cluster is brought up, the prow job goes into a loop, where it injects env say CLUSTER_URL=10;example.com (where 10 is PR no) and restarts the job, then waits for build to become a success. If any builds fail then it restarts the same for say 2 times after which it is assumed as failed forever (basically full retrigger required).

Travis job on its part reads CLUSTER_URL="10;example.com" reads pr no and if it does not match, it fails. Otherwise, it reads the cluster URL and stores it in different env and resumes tests

❯ travis env set FOO BAR
[+] setting environment variable $FOO
❯ travis env list
# environment variables for mohammedzee1000/odo
FOO=[secure]


TRAVIS_PULL_REQUEST gets the pull req no or false and TRAVIS_PULL_REQUEST_BRANCH for branch name

Steve said:
Prow provides these env vars, so you could get the PR number by:
pr_num="$( jq .refs.pulls[0].num <<<"${JOB_SPEC}" )" # recommended
pr_num="${PULL_NUMBER}" # may be deprecated
https://github.com/kubernetes/test-infra/blob/master/prow/jobs.md#job-environment-variables

@amitkrout @girishramnani wdyt

@mohammedzee1000
Copy link
Contributor

travis-ci/travis.rb#717

@mohammedzee1000
Copy link
Contributor

Steve said:
Prow provides these env vars, so you could get the PR number by:
pr_num="$( jq .refs.pulls[0].num <<<"${JOB_SPEC}" )" # recommended
pr_num="${PULL_NUMBER}" # may be deprecated
https://github.com/kubernetes/test-infra/blob/master/prow/jobs.md#job-environment-variables

@mohammedzee1000
Copy link
Contributor

mohammedzee1000 commented Mar 10, 2020

image

@kadel
Copy link
Member

kadel commented Mar 10, 2020

Would it be possible to run tests against some of the internal clusters (like ocp311.odo) instead of using OpenShift's Prow?

@openshift-bot
Copy link

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 25, 2021
@prietyc123 prietyc123 added the kind/epic An issue categorized as a high-level Epic. Needs to be scoped and broken down in 1+ stories/tasks label Aug 11, 2021
@prietyc123
Copy link
Contributor Author

/remove-lifecycle stale

@openshift-ci openshift-ci bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 11, 2021
@serenamarie125 serenamarie125 removed this from the 2.3 (planning) milestone Aug 24, 2021
@openshift-bot
Copy link

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 22, 2021
@rm3l rm3l added this to after v3.0.0 Sep 2, 2022
@rm3l rm3l added this to odo Project Oct 3, 2022
@rm3l rm3l moved this to Blocked 🛑 in odo Project Dec 9, 2022
@rm3l
Copy link
Member

rm3l commented Feb 9, 2023

Closing this.

Related issues for MacOS (M1):

/close

@openshift-ci
Copy link

openshift-ci bot commented Feb 9, 2023

@rm3l: Closing this issue.

In response to this:

Closing this.

Related issues for MacOS (M1):

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@openshift-ci openshift-ci bot closed this as completed Feb 9, 2023
@github-project-automation github-project-automation bot moved this to Done ✅ in odo Project Feb 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/testing Issues or PRs related to testing, Quality Assurance or Quality Engineering kind/epic An issue categorized as a high-level Epic. Needs to be scoped and broken down in 1+ stories/tasks kind/feature Categorizes issue as a feature request. For PRs, that means that the PR is the implementation lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. priority/High Important issue; should be worked on before any other issues (except priority/Critical issue(s)). status/blocked Denotes an issue or PR that is blocked on something (e.g., issue/PR in different repo)
Projects
Archived in project
Status: Done
Development

Successfully merging a pull request may close this issue.

10 participants