-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add Travis test for ruleset test URLs #3107
Conversation
This adds a simple shell script which runs all changed rulesets by https-everywhere-checker. It happens every now and then that people submit rulesets that fail only because of subtle SSL misconfigurations (typically broken certificate chains), and this helps to catch those.
|
This looks nice, in particular having Travis do a fetch test of only the changed rules. I'd prefer not to auto-add it as a commit hook, because the test makes external HTTP requests (vs the existing rules check which is purely local). I think some of our developers may be sensitive about such requests, so we should make the fetch test opt-in. |
|
Yeah, I see what you are saying, but wouldn't contributors normally have already thrown tons of requests towards the host to be checked? Let's put it in Travis though; I have yet to understand how exactly that will pan out when ruleset changes span multiple commits but I guess there is only one way to find out. |
Following jsha's suggestion in EFForg#3107 (comment), this removes the pre-commit test from the developer installation script, but adds it instead to Travis.
|
Would there be an obvious way to have Travis figure out what rulesets have changed. The |
|
Ah, maybe I am overthinking this, but fetching the current master and comparing a PR to that solves this in a commit-independent fashion; here's an example of a breaking build: I apologize for being spammy (again). |
This renames the pre-commit test to reflect that it is now Travis specific; rather than the contents of the previous commit, this checks the current branch against the EFForg GitHub repository master branch.
|
This would still be really helpful. :) |
|
Here's how we achieve this in Boulder-land, which has worked fairly well: Then elsewhere: I think the same approach could be applied here. I agree it would be really helpful! |
|
Thanks for checking it out again @jsha; I think that's actually equivalent to what I ended up with? |
|
I guess this one is outdated now that |
Conflicts: .travis.yml test/rules
|
Finally got around to merging current master into this. In particular, with |
|
Works great, thanks @fuglede ! |
|
Fantastic, thanks for reviewing it! Looks like it's catching fish already. |
This adds a simple shell script which runs all changed rulesets by https-everywhere-checker.
It happens every now and then that people submit rulesets that fail only because of subtle SSL misconfigurations (typically broken certificate chains), and this helps to catch those.
There are some open questions here, including how to handle folder/file names (
commit.shseems a bit weird given its concrete purpose) and how to include Travis, if at all. A complementary option here would be to run the test only on Travis and not locally.This PR presumes jsha/https-everywhere-checker#4 (which is what causes Travis to fail).
Edit: Ah, hm, I just realised that this does more or less the same thing as
hooks/precommit. They could probably be merged.