-
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
Migrate to GitHub Actions #173
Comments
Given that the secrets would become centralized I think we could also move the configuration file for standards to https://github.com/whatwg/spec-factory. |
whatwg/whatwg.org#322 is what's needed for deploy.sh, and whatwg/fullscreen#173 is trying it with Fullscreen. @annevk a bunch of specs have customized build steps and so will differ somewhat, is that OK or will intentional differences have to be annoying every time |
We could encode intentional differences in |
https://github.com/whatwg/encoding/blob/master/Makefile is an example of this. How is that currently managed? |
That's a somewhat special case. The templated bit is (We could replace this with using |
I'm a bit confused by the last few comments. The I think @annevk was suggesting generating the
|
Also remove any files that are part of the Travis setup. Part of whatwg/meta#173.
My bad, I'd looked at https://github.com/whatwg/spec-factory during the day and thought I didn't see Makefile in there, but it's there. I don't think it'll be hard to arrange for python and node to be installed. Doing so is actually very fast on GitHub Actions since they're already on disk and only the PATH is updated. Would there be any harm in always enabling specific versions of python and node? |
(Note that some version of python and node will be present if we do nothing as well, a bunch of common software is installed in these agents by default.) |
If that's the case then I'd be happy to just enable them everywhere. Streams is pretty aggressive about using recent JS features so I'd like to get it on a recent Node, not the default. |
Install specific versions of python and node even though not all specs need them. Also remove any files that are part of the Travis setup. Part of whatwg/meta#173.
As I was going to merge whatwg/compat#126 as the first conversion, I was going to change the branch protection rules and saw this: Since it will be a pain to change later, I want to ask if anyone has opinions about the name of the check here. Note that in the integration with the Checks API, GitHub Actions uses the workflow name as the Check Suite name, and the job name as the name of the individual check. I can never come up with a good name for the workflow, so I usually call it the same thing as the job, leading to silly things like "build / build". But the branch protection rules care only about the check name, not the check suite name. So, does anyone care what the name of the workflow (check suite) and job (check) is? Specifically, should it be "Build"? |
I don't fully understand the distinction they're trying to make between workflow and job. Naming is hard here since our script serves dual purpose: on PRs it's something like "build", whereas on master it's "build and deploy". Given that, I don't have any good ideas. "Build (and maybe deploy)" is kind of silly, so maybe just "Build" is the way to go. |
I'll go with a capitalized "Build" as both the workstream and job name. |
A bunch of changes in https://github.com/whatwg/spec-factory should make this pretty easy to roll out for most specs now. I'll start with compat. |
whatwg/compat#126 worked and https://compat.spec.whatwg.org/ is updated as a result. Everything look good, but I won't do any more right now in case there's a problem. I'll pick this up next week. |
I'm going on vacation for two weeks and won't have time to finish this before then. Nothings going to break, but the remaining work is html and html-build. Here are the WIP branches I have: It seems tricky (to me) to migrate these one at a time, since html uses html-build, and html-build uses html to test itself. Where I got stuck when I looked at this is that how the Docker image is updated after a successful build for caching purposes. I think keeping all of that as-is (directly invoking If anyone would like to pick this up, that would be great, otherwise I'll eventually get to it. |
Here is my plan for html + html-build:
An added bonus of this is that it will end up producing a Docker image that does the whole end-to-end build process. That could be used to replace wattsi-server with html-build-server, perhaps. Or give people who want to do entire end-to-end builds a single docker command that requires no dependencies. There might be some additional work needed there to make this pleasant, as the CI does a lot of work around validation and PDF generation that we might not want for those use cases, but it's a start. |
Sounds like a plan, thanks @domenic! |
Per the plan in whatwg/meta#173 (comment), this revamps the CI build to reduce coupling between the html-build and html repositories. Now, running CI (currently Travis) for the html-build repository produces a whatwg/html-build Docker container, pushed to Docker Hub, which can be given an input directory containing the contents of whatwg/html, and an output directory. This will require corresponding changes on the whatwg/html side to make use of this new architecture.
Per the plan in whatwg/meta#173 (comment), this revamps the CI build to reduce coupling between the html-build and html repositories. Now, running CI (currently Travis) for the html-build repository produces a whatwg/html-build Docker container, pushed to Docker Hub, which can be given an input directory containing the contents of whatwg/html, and an output directory. This will require corresponding changes on the whatwg/html side to make use of this new architecture.
Per the plan in whatwg/meta#173 (comment), this revamps the CI build to reduce coupling between the html-build and html repositories. Now, running CI (currently Travis) for the html-build repository produces a whatwg/html-build Docker container, pushed to Docker Hub, which can be given an input directory containing the contents of whatwg/html, and an output directory. This will require corresponding changes on the whatwg/html side to make use of this new architecture.
Per the plan in whatwg/meta#173 (comment), this revamps the CI build to reduce coupling between the html-build and html repositories. Now, running CI (currently Travis) for the html-build repository produces a whatwg/html-build Docker container, pushed to Docker Hub, which can be given an input directory containing the contents of whatwg/html, and an output directory. This will require corresponding changes on the whatwg/html side to make use of this new architecture.
This takes advantage of the new CI build strategy in whatwg/html-build#254. Part of whatwg/meta#173.
This takes advantage of the new CI build strategy in whatwg/html-build#254. Part of whatwg/meta#173.
This takes advantage of the new CI build strategy in whatwg/html-build#254. Part of whatwg/meta#173.
This takes advantage of the new CI build strategy in whatwg/html-build#254. Part of whatwg/meta#173.
This takes advantage of the new CI build strategy in whatwg/html-build#254. Part of whatwg/meta#173.
This takes advantage of the new CI build strategy in whatwg/html-build#254. Part of whatwg/meta#173.
This takes advantage of the new CI build strategy in whatwg/html-build#254. Part of whatwg/meta#173.
Per the plan in whatwg/meta#173 (comment), this revamps the CI build to reduce coupling between the html-build and html repositories. Now, running CI (currently Travis) for the html-build repository produces a whatwg/html-build Docker container, pushed to Docker Hub, which can be given an input directory containing the contents of whatwg/html, and an output directory. The corresponding changes in whatwg/html are in whatwg/html#5945.
This takes advantage of the new CI build strategy in whatwg/html-build#254. Part of whatwg/meta#173.
An umbrella issue for migrating from Travis CI to GitHub Actions. Repositories would be affected (current have a
.travis.yml
file):Living Standards
Others
html-differences(archived)The text was updated successfully, but these errors were encountered: