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

Include journey test in CI build to ensure clients can fetch and build exercises #83

Closed
jtigger opened this issue Dec 31, 2015 · 9 comments
Assignees
Labels

Comments

@jtigger
Copy link
Contributor

jtigger commented Dec 31, 2015

As a track maintainer,
I want the CI build to also stand-up a local instance of exercism and fetch exercises through the client
So that I'm confident that end-to-end, my changes don't break the exercism experience.


Notes:

  • look at README.md for full setup instructions. This should be fun as it requires a Ruby install as part of the build (possible on travis?)
@jtigger jtigger added the code label Dec 31, 2015
@kytrinyx
Copy link
Member

+1000

But... it requires a ruby install? How so?

It seems like it should be enough to download and unpack the linux version of the exercism binary, and then loop through each exercise in the config.json and say exercism fetch java SLUG, no?

The default is to use http://x.exercism.io, and you can fetch individual exercises without having an API key.

@jtigger
Copy link
Contributor Author

jtigger commented Dec 31, 2015

Well, but that setup would be using the deployed set of problems. This would be an attempt to catch defects introduced in the latest commit to the track.

That said, today the client doesn't filter much (just paths with the work "example" in them). Is that something that's likely to change in the near/mid future?

Perhaps it would be better to simply build each exercise individually (disconnected from their parent); that would have caught this issue.

@jtigger
Copy link
Contributor Author

jtigger commented Dec 31, 2015

... looking at the next layer of this onion, "success" would be a little hard to detect: some exercises, when fetched correctly do not compile (because we stop providing a shell of a solution, altogether a few steps down the progression).

I'll be chewing on this.

@kytrinyx
Copy link
Member

How about...

  • copy the individual exercise
  • rename/move example solution
  • build

?

@jtigger jtigger self-assigned this Apr 2, 2016
@jtigger
Copy link
Contributor Author

jtigger commented Apr 2, 2016

Picking this up as a morning exercise with a couple of folks from work (started with @bronhuston).

The basic plan is to replay the sandbox workstation setup in Travis, fetch, "solve" (copying the example), and test all problems. Not only does this check the validity of the test+example combination, but the plumbing too. When in place, committers have the luxury of focusing on the quality of the submission and not worry whether merging in will break production.

@jtigger
Copy link
Contributor Author

jtigger commented Jun 26, 2016

As a matter of update, this group has nearly finished this work. It's functional on a fork, but needs just a few nips-and-tucks to make it merge-worthy.

@jtigger
Copy link
Contributor Author

jtigger commented Jul 20, 2016

At this point, we've met the spirit of this story.

@jtigger jtigger closed this as completed Jul 20, 2016
@jtigger
Copy link
Contributor Author

jtigger commented Jul 20, 2016

Ooops! Forgot to update the README.md accordingly... almost done. ;)

@jtigger
Copy link
Contributor Author

jtigger commented Sep 17, 2016

Okay; docs in place. Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants