GitHub Pages now uses Actions by default
As GitHub Pages, home to 16 million websites, approaches its 15th anniversary, we’re excited to announce that all sites now build and deploy with GitHub Actions.
![](https://github.blog/wp-content/uploads/2022/01/Engineering_Product.png?resize=1200%2C630)
As GitHub Pages, home to 16 million websites, approaches its 15th anniversary, we’re excited to announce that all sites now build and deploy with GitHub Actions.
When GitHub Pages was first announced in 2008, we released Jekyll, a rich static site generator, to allow you to build more complex sites. As Jekyll grew in popularity, many different plugins were added, providing greater capability. Eventually a version of Jekyll was released that wasn’t compatible with some of the core plugins provided by the GitHub Pages platform. The pagesworker that powered the build and deployment of pages sites was a single-purpose system that didn’t support versioning, which left us unable to upgrade to new Jekyll versions or easily add more plugins without breaking users.
Furthermore, as time has passed, many other site generators have been created and you have asked us to support them. By bringing the power of GitHub Actions to the GitHub Pages platform, you have the freedom to build your static website using any framework that exists today or is created in the future.
A bright future powered by GitHub Actions
Since December 2021, GitHub Pages sites for public repositories have been built and deployed with GitHub Actions.
Based on over six months of observations on over seven million builds a month, we made some adjustments and improvements to the overall flow, and we are now ready to use GitHub Actions to build and deploy private and internal repositories, too.
GitHub Actions has the added benefit of introspection—it’s not a black box like before that could obscure build failures. In addition, GitHub Actions has the backing of hundreds of engineers here at GitHub and a rich community with over 14,000 GitHub Actions in the GitHub Marketplace providing yet more features and helping you customize your site publishing workflow exactly how you like it. For example, starting today you can include injecting secrets in your build process, gate deployments to require approvals before publishing, or add a build check to prevent bad commits from being deployed.
Protecting GitHub Pages deployments
Since inception, GitHub Pages have been scoped to a branch (and, optionally a /docs
folder) in your repository. Individual commits on the target branch would trigger builds followed by a deployment and branch protection rules have been the security mechanism for limiting deployments.
With the shift to GitHub Actions, GitHub Pages are now tracking deployments instead of builds. A source branch is not required anymore and is at the discretion of a workflow’s triggers. We’ve made it so a deployment must happen in the context of an environment (github-pages
by default). As a result, environment protection rules are the new security mechanism for limiting deployments.
Therefore, today, we are excited to announce that private repositories in Team and Pro plans now have access to GitHub Actions environments, deployment branches, and environment secrets everywhere—in the past, only teams on the Enterprise plan had access to all these features with private repositories
FAQ
Do I need to do anything?
No. Just like when we started to build GitHub Pages sites with GitHub Actions for public repositories, this change is transparent.
Do builds and deployments of private and internal repositories use GitHub Actions minutes?
Yes. Just like any regular workflow, building and deploying a GitHub Pages site on a private or internal repository consumes GitHub Actions minutes. All GitHub accounts and organizations come with a generous amount of GitHub Actions minutes included for private repositories, and public repositories have unlimited actions minutes.
How can I upgrade to Jekyll 4+?
For that, you will want to switch from your GitHub Pages source from “branch” to “GitHub Actions” (see the changelog) and use a custom workflow. We published a starter workflow you can leverage today. It will require you to have a Gemfile
and optionally a configuration file in your repository. You can follow Jekyll’s getting started guide.
How do I leverage all GitHub Actions features?
Same as above. In order to take advantage of all GitHub Actions has to offer you will also need to start managing a workflow in your repository (see the changelog).
To help you get started with other frameworks we have provided several starter workflows for the most popular static site generators.
Tags:
Written by
Related posts
![](https://github.blog/wp-content/uploads/2023/10/Collaboration-DarkMode-2.png?resize=400%2C212)
2024 is the biggest global election year in history. What’s at stake for developers?
GitHub is considering what is at stake for our users and platform, how we can take responsible action to support free and fair elections, and how developers contribute to resilient democratic processes.
![](https://github.blog/wp-content/uploads/2023/10/AI-DarkMode-2.png?resize=400%2C212)
GitHub named a Leader in the Gartner first-ever Magic Quadrant for AI Code Assistants
This year, as part of its annual Magic Quadrant series, Gartner published a first-of-its-kind report analyzing the state of play in the AI Code Assistants market–and named GitHub a Leader.
![AI in software development 2024 survey results with colorful graphics and percentages.](https://github.blog/wp-content/uploads/2024/08/ai-survey-header.png?resize=400%2C212)
Survey: The AI wave continues to grow on software development teams
We surveyed 2,000 people on software development teams at enterprises in the U.S., Brazil, India, and Germany about the use, experience, and expectations around generative AI tools in software development.