Meet James Ives, author of the GitHub Pages Deploy Action

James Ives is a software engineer from England now living in America. After several years working in finance, he has moved into the video games industry. Like many developers, he started writing tools out of a practical need—an urge to automate repetitive tasks—and a belief in open source software.

I got started writing software tools out of necessity and the desire to automate tasks. I’m also a passionate supporter of open source and improving the lives of other developers!

That same desire to automate is what led him to build the GitHub Pages Deploy Action, a tool that simplifies publishing any project to GitHub Pages. The Action lets developers configure their workflow to commit and deploy automatically on a push or when a new release is published. Ives says his original motivation was practical: he kept needing to update his blog but couldn’t always get to his computer in time.

Using GitHub Actions I was able to automate that process so I could make a commit through the GitHub web view and it would build the site and push the changes onto the gh-pages branch for me. I put it on the marketplace and others seemed to find it useful so I kept adding more features to make it as modular as possible.

With the Action in place, even a commit made directly from the GitHub web interface triggers a build and pushes the changes to the gh-pages branch—no local checkout required.

What he values in GitHub Actions

Asked about his favorite feature, Ives joins a common refrain in this series: he appreciates how low the barrier to entry is. For him, the standout is how straightforward it is to wire a workflow to any of GitHub’s native event triggers without relying on third-party services.

I really like how easy it is to configure a workflow to run on all the different events that GitHub provides without needing to use a third party. It’s also great as there’s so many fantastic community actions which allow me to automate a lot of tasks that I would have manually performed before.

Looking back on the project, Ives wishes he had documented versioning differently from the start. His advice to others building Actions is to steer users toward tagged releases rather than branch references.

If I could go back in time and change anything I’d not put a reference to the release branch in the README, but instead a reference to a tagged version… Version tagging is much safer and would allow people to make an informed decision about when to update in case an issue arises during deployment.

Try it yourself

Ives’ GitHub Pages Deploy Action is one of the most-used Actions on the GitHub Marketplace and is free to use. Anyone already hosting on GitHub Pages can add it to their workflow with minimal setup. For developers interested in building their own Actions, GitHub’s Learning Lab course covers the basics to get started.