Closed pnijjar closed 6 years ago
I currently have my fork integrated into Travis-CI, which will automatically run on every checkin. Right now, all it's configured to run is htmlproofer, to do image, resource and link verification, but even that has found a few small issues I will create separate PRs for. We should be able to easily hang additional things off of that pipeline.
See https://travis-ci.org/qedi-r/WRvotes/jobs/419085787 for example.
Wow. This is a great start. Looking at the PR, I have some dumb newbie questions:
/travis-ci
or /scripts/travis-ci
then that would be ideal. Sorry if these are too many questions, or too newbie-ish.
1) The build scripts for our site just mirrors what github pages does, so that we can test it. Doesn't change it at all, and yes, the symlinks were wierd when going from host to test docker container, so I just generated them in the build. They could remain checked in and I could change the travis script to regenerate them, probably.
2) Tests are run by Travis CI with their hardware. They offer free testing services for open source projects.
3) Yes, we can specify some websites to ignore. I haven't done that yet, though.
4) This is easy, and is possible for people to do even before they submit a PR. I can write something up for how to do that.
5) the travis and Gemfiles need to stay at the top level, I think. The other three could be moved.
Would it be okay if you moved the files you can and then reroll? Then I will merge.
Sure. I'll see if I can add the excludes for number 3 above as well.
Okay. I have added a few failing campaign sites to be ignored, and moved the scripts into the scripts directory. I've also removed the ward symlink generation script. I'll submit a future PR to add some documentation on how others can use travis in their own forks to validate their changes are okay.
Probably all good software should have a test suite. I do not have a good sense of how to do this for websites, although I have heard buzzwords. Can somebody help set up the infrastructure for this, and then help me get started on how to test things and what to test?