-
-
Notifications
You must be signed in to change notification settings - Fork 241
Proposal for adding a build step #576
Comments
I'm not opposed to having a build step, but with the current configuration of the site I'm not sure what it's going to gain us (other then added complexity). In my mind, I would hold off on adding build step until after we have a new design ready. |
@ilyavolodin I misunderstood how we were getting data from Open Collective. Do we have a cron running these somewhere? |
Basically. It's a jenkins job that runs hourly. |
Also, to give some context around my motivation, I also wanted to mention that the site redesign discussions have stalled (since about January), but I think we have enough of it designed out to get working on it. I have some time now and was hoping to make progress now to help unblock future work. |
As I mentioned, I'm not against adding a build step, I just don't really know what we would use it for in the current setup of the site. If you foresee major changes with the next version - sure, it sounds fine to me. |
Sorry, still struggling healthwise, but wanted to add my 👍. I think right now the way CSS and the demo are managed are difficult for new contributors to figure out (I've had trouble, too), so I think a build step would be helpful. I'd also add that this might be a good time to consider hosting the site on Netlify. I've never had good luck trying to build from master and deploy to gh-pages, and Netlify would automate the build step for us for free. Clearly not a big blocker, but wanted to bring it up as it seems like this would be a good time to consider it. |
I'll take a look at Netlify and report back - if we can use the existing repo, that might be an easier process than the one I've proposed above. |
Netlify would allow us a lot of flexibility, but I think we need to be careful with it, since it does have a limit on the free account, and I think we will potentially hit that limit very fast. |
Netlify offers a free plan to open source projects which looks like it has the Pro tier features with unlimited members, so we should be okay if we decide to go that route. I came across this issue, and it looks like we are already hosting some form of the site at https://eslint.netlify.com. Do we already have an existing account that I should use to try this out? |
Reporting back on Netlify. It was really simple to set up and I think this is the way to go. Here's the site being built from Here is their Open Source Plan Policy page. Pros:
Cons:
One thing to note: the free open source plan requires that we link to Netlify on our home page, which I think is more than fair for the free services they would be providing to us. They actually provide premade badges, so this is as simple as copying and pasting some markup. Here's what I'd like to propose:
Please let me know how this sounds - thanks! |
Additional pros for Netlify is that the site will no longer be fully static. We can use their dynamic functions to provide information to the site without having to re-run build (we can probably use this for team members and maybe even for sponsors). Also, Netlify is flexible in terms of framework usage. So we can use React or Vue later to re-write the website. Netlify CMS also can help in some cases. |
The https://eslint.netlify.com site appears to be owned by @alberto. When I got a Netlify open source plan for @typescript-eslint, it only took them like 4 hours to grant me the plan. |
Quick update: I reached out to @alberto and they have taken https://eslint.netlify.com down. I’ve also been in touch with Netlify support and we have been granted an open source plan if we would like to use it. |
One more update: the TSC voted today to move hosting to Netlify. I am in the process of inviting TSC members who are interested in helping out, and I'll be reaching out to the JSF to inquire about pointing the domain to the new site. Additionally, I've changed the domain to https://eslint.netlify.com/, now that it's free. |
Just to clarify, our domain is not pointed to github. It's pointed at cloudflare which caches our site. So we might not need to move domain, just reconfigure cloudflare. OpenJS Foundation owns that configuration and account as well. It was originally setup by @kborchers (I believe). |
Oh, I'd been assuming that we would no longer be using cloudflare as a result of the switch to netlify. I'm fine with either option, though. |
I'm also fine with dropping cloudflare. Actually Netlify is saying that you really shouldn't use another CDN in front of it. I don't know if it will result in any problems, but it's possible. |
If we do drop Cloudflare, we need to make sure we set up HTTPS with Netlify, or the site won't load. (I'm pretty sure this is possible -- I'm just mentioning it in case it requires additional configuration.) |
@not-an-aardvark It’s not too hard — Netlify will set up and automatically renew a Let’s Encrypt certificate with the click of a button. If you’re feeling really fancy, I believe there’s an option to upload a custom certificate too. |
I think it makes sense to drop Cloudflare and use Netlify’s offerings. According to Netlify’s docs, it looks like we should just be able to create an A record pointing eslint.org to Netlify’s load balancer’s IP, and then once it verifies the domain configuration Netlify will be able to generate a cert for us. |
Works for me -- it might be worth announcing site maintenance on twitter in case the switch causes some downtime while the cert is being generated. |
There should be downtime since the site has an HSTS header that specifies that |
I can reach out to our JSF contact and see if we can find a mutually convenient time for them to make these changes. That way, I can tweet this out as well. |
There are a few kinks that need to be resolved (that look like they might work themselves out as the DNS changes propagate), but we have officially cut over to Netlify! We should hold off on changing this repo until we're sure DNS changes have propagated, but then I'll be working on adding bundling into the build step as discussed. |
One more thing we should discuss here: I've discovered that we can't actually unpublish this GitHub pages site unless we delete the According to GitHub's documentation, it looks like it'll forward any traffic even if we rename it.
One thing I'm not sure of is if we can rename it back to |
I’m pretty sure that as long as you keep the |
Oh, interesting! I do think it would still be better to just rename the repo, but that's a good thing to keep to in mind. |
TSC SummaryWe now have a build step! The final thing to decide here is if we want to stop publishing to GitHub Pages. We can't actually unpublish the GitHub Pages site unless we delete the master branch or delete (I think that means we can rename?) the repo. According to GitHub's documentation, it looks like it'll forward any traffic even if we rename it.
One thing I'm not sure of is if we can rename it back to eslint/eslint.github.io, but since we plan on adding a build step, we probably want a non *.github.io repo anyway, so I don't think it's a concern for us. TSC QuestionShould we rename this repo to |
The TSC voted today to rename this repository to |
I have changed the repo name, made sure publishing to GitHub Pages is turned off, updated the Jenkins job, and made a PR to |
The I think we're done here! Thanks everyone for all the input! |
Originally from #536 (comment).
In pursuing #536, I would also like to revisit the idea of adding a build step to our site. We know it would be a prerequisite for any of the options we've discussed in #536, and separating that task out into its own chunk of work feels like a much easier/cleaner way to do things. Besides unblocking us from using a different static site framework, I believe we would get the following immediate benefits:
Here is how I propose we move to having a build step:
master
branch for a user or org site (one that ends in*.github.io
). We could create a separatesrc
branch, but that feels confusing and would require anyone working on the site to know thatmaster
is essentially a build artifact. If we were to create a new repository calledeslint/website
, we could treat themaster
branch as the source and publish to a second branch calledgh-pages
. This way,master
is always the source of truth.gh-pages
branch.If nobody is against this, I'd love to go ahead and make the new repo and get it working. Once that's done, we could evaluate if we want to continue with that or not. Deciding to try it out does not preclude us from continuing as we have been in this repo.
The text was updated successfully, but these errors were encountered: