Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/techpivot/terraform-modules-demo

Demo repository showcasing the Terraform Module Releaser GitHub Action, automating versioning, releases, and documentation for Terraform modules in a monorepo.
https://github.com/techpivot/terraform-modules-demo

continuous-integration github-action monorepo terraform terraform-module

Last synced: 10 days ago
JSON representation

Demo repository showcasing the Terraform Module Releaser GitHub Action, automating versioning, releases, and documentation for Terraform modules in a monorepo.

Awesome Lists containing this project

README

        

# Terraform Module Releaser — Demo Monorepo

This repository serves as a demo for the **[Terraform Module Releaser GitHub Action](https://github.com/techpivot/terraform-module-releaser)**, designed to simplify the management, versioning, and release of multiple Terraform modules within a monorepo. By automating the tagging, releasing, and documentation generation process, the action ensures seamless module management for large Terraform infrastructures.

## How It Works

This demo repository leverages the [Terraform Module Releaser](https://github.com/techpivot/terraform-module-releaser) GitHub Action to:

- Automatically determine and apply semantic versioning (major, minor, patch) to individual modules based on commit messages.
- Create and manage module-specific tags, GitHub releases, and documentation.
- Generate detailed wikis, including changelogs, usage examples, and `terraform-docs` output.

For more details on the underlying GitHub Action, please visit the [Terraform Module Releaser GitHub Action repository](https://github.com/techpivot/terraform-module-releaser).

## Demo

To see the action in use, please refer to the following:

- [**Pull Requests**](https://github.com/techpivot/terraform-modules-demo/pulls?q=is%3Apr+is%3Aclosed): Check out the pull requests in this repository to observe the action's automated tagging, release, and comment generation.
- [**Releases**](https://github.com/techpivot/terraform-modules-demo/releases): Visit the Releases tab for detailed changelogs associated with various Terraform modules, including dynamically generated release notes for each module.
- [**Wiki**](https://github.com/techpivot/terraform-modules-demo/wiki): The generated module documentation, including changelogs and usage details, is available in the repository's Wiki. This is automatically updated with each release.

## Screenshots

Below are examples of the outputs generated by the Terraform Module Releaser in this demo:

- **Release Notes**: Each module's release details are summarized in the pull request comments and the GitHub releases section.
- **Version Tags**: Observe how module-specific tags are applied based on the changes made.
- **Wiki Entries**: Beautifully crafted module documentation, updated automatically with each release.

_(Include relevant screenshots of the workflow in action, pull request comments, release notes, and wiki entries here.)_

## Getting Started

To run this action in your own monorepo, follow the instructions in the **[Terraform Module Releaser GitHub Action README](https://github.com/techpivot/terraform-module-releaser)**.

We welcome feedback, issues, and contributions to enhance the Terraform Module Releaser experience. Please visit the action's repository for more information on how to integrate it into your own workflows.

Happy Terraforming!