GitHub Action Hero: Shohei Ueda
With GitHub Actions, you’re able to automate more of your workflow by connecting the tools you know and love—giving you more freedom to spend time innovating. You can deploy to any cloud, build containers, automate a message that welcomes new users to your open source projects, and so much more.
Over the next few weeks, we’re sharing stories from the earliest GitHub Actions adopters to help inspire you. This week, we interviewed Shohei Ueda (@peaceiris), the creator of Hugo setup, mdbook Action, and many more Actions. Learn about their project, challenges, and the lessons they’ve learned.
I’m a computer science major student in Japan, and two years have passed since I started using GitHub. These days, I’m into Static Site Generators, especially Hugo (Fast SSG is written in Golang). My interest in software began when I first set up my blog. I learned about static site generators, and in particular, I found Hugo really appealing. I’ve since realized that GitHub Pages is useful for publishing my blog, which is when I started using GitHub. Now, through my experiences on GitHub and with the community, I’m passionate about open-source software.
When GitHub Actions was in beta, I was able to be one of the first beta users. I wanted to automate building and publishing a static site to GitHub Pages using GitHub Actions. To implement that idea on GitHub Actions, I needed to set up Hugo, build a site, create a commit, and push it to a GitHub Pages branch. At that time, no public actions existed for my use case, so I created the Hugo build action and GitHub Pages deploy action. GitHub Actions beta v1 only supported a Docker action, so those two actions were originally Docker actions. Today, the Hugo setup action has migrated to a TypeScript action and the GitHub Pages deploy action is scheduled to be re-implemented in TypeScript, as well. It was a proper decision that separated the two actions, which meant that we can combine the GitHub Pages action with other static site generators.
Today, the GitHub Pages action is a Docker action, but I plan on re-implementing it as a TypeScript action. The rest of my GitHub Actions need more tests to raise the quality.
Action sharing and matrix building are remarkable features of GitHub Actions. With sharing actions, our YAML workflow can be simplified and we can follow best practices easier. The matrix building is also a superior feature for multi-platform testing your public GitHub Actions.
Please don’t hesitate to share your actions and knowledge. You may not know it, but your learnings will help others all over the world, no matter the length or complexity of your script—that’s the most important point of open source software. Improve your project and software by using GitHub Actions, and thank you for learning more about my work.
We hope you enjoyed our interview with Shohei Ueda. Check back soon—we’ll be adding new interviews every week. If you’re interested in building your own GitHub Actions, get started with the Learning Lab course. You can also find Hugo setup—and hundreds of other GitHub Actions—from GitHub Marketplace.
Don’t forget! The GitHub Hackathon is running now through March 31. Submit your best Actions for some exclusive Actions swag.