Build, Test, and Release Enonic Apps Using GitHub Actions
Enonic automates its workflows with GitHub Actions, simplifying builds, releases, and integrations. See how.
Written by Thomas Sigdestad on
Enonic automates its workflows with GitHub Actions, simplifying builds, releases, and integrations. See how.
Written by Thomas Sigdestad on
Sergey Rymsha, Architect at Enonic, recently held a presentation where he discussed how Enonic has automated nearly everything possible using GitHub Actions.
Enonic operates a large number of repositories within its organization. Historically, we used a mix of tools like Travis, Drone, and other automation solutions.
However, since GitHub Actions became available, we have fully transitioned to using it for all our automation needs. Sergey explained the workflow and demonstrated how GitHub Actions have simplified complex processes across multiple repositories.
See the presentation:
Enonic’s basic GitHub Actions workflow revolves around three steps:
This simple workflow is used across Enonic’s 250+ applications. To streamline this for every project, we utilize the .github
repository—a shared repository in GitHub for storing workflows. For example, we have a shared workflow called "Enonic Gradle," which can be applied to any application with just a few clicks in the Actions tab.
Beyond these basics, the workflow also handles additional tasks, such as:
See also: Why choose Enonic's headless CMS when building a Next.js website »
Sergey showcased another workflow called DocGen, which automates documentation updates for Enonic’s developer portal. Any changes made to the documentation files in the repository are detected, built into HTML using Asciidoc, and then published directly to the developer portal via a webhook.
This workflow uses a mix of open-source GitHub Actions, Java, Node.js, and Bash scripts. Additionally, GitHub’s Composite Actions feature allows for the bundling of multiple steps into a single reusable action, further simplifying the process.
For larger projects, such as Enonic XP, which involves multiple interconnected repositories, Enonic employs more advanced workflows:
Sergey shared several other use cases for GitHub Actions at Enonic:
Enonic has made these workflows accessible and documented them on our developer portal. Developers working with Enonic can easily create pipelines by copying and configuring these pre-built workflows. With minimal effort, they can automate builds, deployments, and other tasks using GitHub Actions.
In summary, Enonic has embraced GitHub Actions as the backbone of our automation strategy, leveraging it to simplify workflows, streamline documentation updates, and manage multi-repository projects effectively. We will continue to explore and expand its capabilities across our growing ecosystem.
Get some more insights 🤓