Open Source GitHub Actions for Workflow Automation
Overview
While developing research software, we have on occasion had need to implement tools to automate parts of our workflow, such as repetitive tasks, or parts of our CI/CD pipeline. Since we use GitHub to develop our research software on computational intelligence as open source projects, our choice for CI/CD and other automation is GitHub Actions, which is GitHub's built in workflow automation framework.
The remainder of this webpage features information on several of our open source GitHub Actions for workflow automation that we have made freely available to the community via the GitHub Marketplace. The page also features tools we have developed to assist in the development of GitHub Actions, such as our template repository for implementing GitHub Actions in Python, as well as Docker containers developed to facilitate developing GitHub Actions.
All tools available on this page are developed by Vincent A. Cicirello (see my GitHub profile as well). We are not affiliated with GitHub.
Our GitHub Actions
Our page features information about several GitHub Actions that we have developed and which are open source. These include the following (each linked to a page with more detail):
- user-statistician: Generates SVG statistics cards for your GitHub Profile README.
- jacoco-badge-generator: Generates coverage badges from JaCoCo reports, and enables pull request coverage checks, such as based on minimum coverage thresholds, as well as based on decreases in coverage.
- generate-sitemap: Generates XML sitemaps for GitHub Pages sites.
- count-action-users: A meta-action that monitors and reports the number of users of one or more GitHub Actions.
- javadoc-cleanup: Creates mobile-friendly documentation sites by post-processing javadocs.
Blog Posts About My GitHub Actions
I occasionally post about the GitHub Actions that I've implemented and maintain, as well as other software projects on DEV.to. See my DEV.to profile for a full list of such posts. Below is a selection of blog posts about my GitHub Actions.
- Deploy a Documentation Website for a Java Library Using GitHub Actions, posted on DEV on November 30, 2022.
- Generate an XML Sitemap for a Static Website in GitHub Actions, posted on DEV on November 23, 2022.
- Post-Process Javadoc-Generated Documentation in GitHub Actions Before Deploying to the Web, posted on DEV on November 16, 2022.
- Using GitHub Actions to Build a Java Project With Pull Request Coverage Commenting and Coverage Badges, posted on DEV on November 9, 2022.
- Hacktoberfest Progress Update: Translation Contributions Still Welcome, posted on DEV on October 12, 2022.
- Hacktoberfest Language Translation Contributors Wanted for the user-statistician GitHub Action, posted on DEV on September 30, 2022.
- Halloween Themes for the user-statistician GitHub Action, posted on DEV on September 28, 2022.
- Configuring GitHub's Linguist to Improve Repository Language Reporting, posted on DEV on August 31, 2022.
- The user-statistician GitHub Action mentioned in Awesome-README, posted on DEV on August 25, 2022.
- The jacoco-badge-generator GitHub Action is now also available as a CLI tool from PyPI, posted on DEV on July 8, 2022.
- JaCoCo coverage badges, PR coverage checks, and PR coverage comments, from GitHub Actions, posted on DEV on November 29, 2021.
- Progress and Lessons Learned Internationalizing the user-statistician GitHub Action, posted on DEV on October 13, 2021.
- Hacktoberfest Participants Help Us Internationalize the user-statistician GitHub Action, posted on DEV on September 29, 2021.
- Generate a GitHub stats SVG for your GitHub Profile README in GitHub Actions, posted on DEV on July 29, 2021.