-
Notifications
You must be signed in to change notification settings - Fork 161
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.yml is used incorrectly #4
Comments
ENCRYPTION_LABEL is definitely needed per my attempts in whatwg/url#202 to figure out what's going on. |
So it seems the syntax is somewhat incorrect. Turning it into
validates. (So dropping "global:" and replacing the colon with an equal sign.) |
I suspect the issue with the Java stuff is that it only works if language is set to java, but that probably causes other things to fail? See https://docs.travis-ci.com/user/languages/java/. |
Right. (Well that and also the fact that when I was testing it there was a Travis bug that’s now been fixed that was preventing it from working the way it should be. That said, I think the only effect of that being fixed is that we no longer need to specify the full path to the |
I'm suspicious of this travis lint tool; it seems pretty bogus. Some of the examples it rejects are copied directly from the Travis documentation. I think we should not specify the full path to java if possible, as that will make us robust against Travis upgrades that change where the default Java is installed. |
OK I can go back and change it (But that said, I think it’s extremely unlikely that the path will ever change—because it’s not controlled by Travis but instead by the OS, Ubuntu. I think what’s more likely to happen is that Travis bug which made it necessary to begin will regress, or Travis could introduce some other bug and it would be necessary again while they’re fixing that.) |
I didn't mean we should necessarily change it right now :). Maybe just if we're in the area... |
FWIW I tried really hard to get Java-without-a-fully-qualified path to work over in whatwg/url#205 and Travis just wouldn't cooperate. So we can stay with the full path. It just means we'll need to skip running the checker when doing a "local deploy". |
OK yeah I don’t understand either what the issue is but at some point soon I’ll make time at it myself again too and see if figure out what the best-practice way of doing it is—given we need to force use of Java8 rather than Java7 (which is still the default even in Trusty as far as I know). |
For local deploy we might actually want to use the network API for the HTML checker. I wouldn't want to add a Java dependency locally. |
Right now I have it just skipping the checker but network API sounds pretty reasonable. In fact it sounds pretty reasonable all the time; why did we decide on downloading the jar and executing locally? |
because with the network API it’s only capable for reporting the filenames—basenames—for files it checks, rather that the full pathnames. So if we have, say, an But if we can live with that ambiguity, we could switch back to just using the network API to the checker. |
So the network API does accept multiple files being uploaded, but then doesn't do relative reporting? Isn't that something that could be fixed somehow? |
- Updates to the deduplicated deploy script; part of whatwg/meta#6 - As such, stops deploying commit snapshots for branches; part of whatwg/meta#9 - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#6 - As such, stops deploying commit snapshots for branches; part of whatwg/meta#9 - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
It doesn’t accept multiple files being uploaded in the same request. The network API only handles one doc per request (the entire servlet backend is built around handling only one doc per request).
Sure it could be. But practically speaking it needs to be done outside the checker network API, in some (small) shell-script wrapper to just echo the full pathname before it sends each request. Otherwise offhand the only way I can think of to implement it in the network API itself is to create a new query param called Details: The normal/preferred way to use the network API is to send the HTML document as the entity body of the POST. But the results in the response from that do not include the filename at all, so it’s not suitable when batch-checking multiple files (unless as I said above, you wrap it in some shell script that echoes the full pathnames). It’s possible to get the filenames themselves (but not the pathnames) by using the network API to emulate a
But in that case, even with a path (
|
So currently we download the the whole HTML checker which is 25093868 bytes = ~24MiB. Using the network API instead is probably more reasonable for most of our setups. |
Yeah, for specs with just one file to check—e.g., the DOM spec—I think it’s more reasonable both in not requiring a ~24MiB download each time and in being a couple of seconds faster in practice. It will be faster because Travis has a pretty fast network connection—so the request and response happen very quickly—and because the jar comes with a hard ~2-second startup time (to start java and load the schemas, etc.). That 2 seconds is relatively expensive for checking just one file. So yeah I reckon for most repos we should definitely change it to use the network API, and I’ll write up a snippet we can use for that asap. In hindsight I realize now it was a bit of a distraction to start with setting this up for the HTML spec, because I ended up optimizing for that case, which is really a radically different case from the rest. For the HTML spec, using the network API will be much lot slower—because for HTML it needs to send the ~8MB Checking all those HTML spec output files using the jar locally takes about 8.5 seconds. Checking them all using the network API takes 2 minutes and 30 seconds. And all together those individual HTML files add up to ~21.5MiB to upload over the network. Given all that, it seems like there’s no win to using the network API for checking the HTML spec files, but there is for pretty much all the other specs. So shall we change all the rest but keep the jar-based checking for the HTML spec? |
OK I think the following is gonna be the least-ugly way to do it in Travis with the network API:
|
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
- Updates to the deduplicated deploy script; part of whatwg/meta#11 - As such, stops deploying commit snapshots for branches - Fixes .travis.yml syntax; part of whatwg/meta#4 - Adds .gitattributes and .editorconfig; part of whatwg/meta#7
Closing this in favor of #21. |
When I run
travis lint .travis.yml
on e.g., URL's or DOM's resource, I get this:This might explain why @sideshowbarker had to define the Java version in the script invocation. If the global is also not used, I guess the ENCRYPTION_LABEL thing we commit everywhere is useless too?
The text was updated successfully, but these errors were encountered: