Skip to content

dhoppeIT/github-reusable-workflows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

GitHub reusable workflows

Collection of reusable GitHub workflows for Terraform child/root modules.

Usage

Save one of the following examples in the .github/workflows directory of your repository.

Validate Commits:

---
name: Commits

on:
  pull_request:

jobs:
  commits:
    uses: dhoppeIT/github-reusable-workflows/.github/workflows/commits.yaml@main

Generate Readme:

---
name: Readme

on:
  pull_request:

jobs:
  readme:
    uses: dhoppeIT/github-reusable-workflows/.github/workflows/docs.yaml@main
    with:
      output-file: README.md
      git-commit-message: "docs: Generate README.md"
      git-push: true

Lint Code:

---
name: Lint

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  lint:
    uses: dhoppeIT/github-reusable-workflows/.github/workflows/lint.yaml@main
    with:
      default_branch: main
      filter_regex_exclude: CHANGELOG.md
      linter_rules_path: .
    secrets:
      github-token: ${{ secrets.GITHUB_TOKEN }}

Validate Terraform (child module):

---
name: Terraform

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  terraform:
    uses: dhoppeIT/github-reusable-workflows/.github/workflows/terraform.yaml@main

Validate Terraform (root module):

---
name: Terraform

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  terraform:
    uses: dhoppeIT/github-reusable-workflows/.github/workflows/terraform_cloud.yaml@main
    secrets:
      cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
      github-token: ${{ secrets.GITHUB_TOKEN }}

Create Release:

---
name: Release

on:
  push:
    branches:
      - main

jobs:
  release:
    if: ${{ github.repository_owner == 'dhoppeIT' }}
    uses: dhoppeIT/github-reusable-workflows/.github/workflows/release.yaml@main
    with:
      release-type: terraform-module
      bump-minor-pre-major: true
      pull-request-title-pattern: "chore${scope}: Release${component} ${version}"

Authors

Created and maintained by Dennis Hoppe.

License

Apache 2 licensed. See LICENSE for full details.