-
Notifications
You must be signed in to change notification settings - Fork 2
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
Travis support #2
Conversation
@MrCreosote: If you have time, here is a PR to review. All this does is add a minimal .travis.yml that runs the tests and mucks around with some env vars. I wanted to get this working before working on all the complicated KBase deploy stuff. |
I will note that if you use KB_AUTH_TOKEN to run tests, the tests will fail on PRs because they don't have access to that variable. |
If you have a travis.yml KB_AUTH_TOKEN encrypted against the main kbase/CachingService and a separately defined one in another repo, I think it will work. |
It looks good - coverage looks to be pretty good, and you're running the tests against the container that was built which is the ideal. |
@sychan but then wouldn't the other repo's token overwrite the main kbase repo on a PR merge? |
Yes, you'd have to avoid committing changes to the travis.yml file. But something I should test is if you commit encrypted keys that are encrypted against another repo, does the build crash or just skip over it? In which case you can have the superset of all the necessary keys in your travis.yml |
I'm missing something here - if you don't commit changes, how does your token get into the PR?
So everyone that needs to work with a repo, + 1 for the main repo, has an entry in the secure section? Another alternative is finally getting auth working in minikb and just using that. |
You're not missing anything, I wasn't thinking it through. Of course the PR would have to have to include the forked repo's keys, duh! I think mini-kb is the right long term solution, but we need to make sure all of the core services that a service requires for testing are available in mini-kb (I still need to convert another 4 services for full conversion) and then convert the existing unit tests to run against a configurable service instead of having it all buried in the test runner code. I think Jay's approach of starting things up the test environment with docker compose is totally in line with the mini-kb approach. |
Just auth + ws would cover a lot of scenarios. That's all the search and ujs need, for example. Search just configures the ws to use GFS for storing data instead of Shock. I think all the caching service & ID mapping service would need is auth. |
No description provided.