Skip to content

Commit

Permalink
feat: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosbustillordguez committed Aug 23, 2024
0 parents commit b87d6cb
Show file tree
Hide file tree
Showing 23 changed files with 1,325 additions and 0 deletions.
1 change: 1 addition & 0 deletions .commitlintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = {extends: ['@commitlint/config-conventional']}
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
root = true

[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[Dockerfile]
indent_size = 4

[*.py]
indent_style = space
indent_size = 4

[*.md]
trim_trailing_whitespace = false
14 changes: 14 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Notes for Contributors

Please follow [Github Flow](https://guides.github.com/introduction/flow/index.html).

This is a rough outline of the workflow:

- Create a topic branch from where you want to base your work. This is usually master/main.
- Make commits of logical units (and add tests!).
- Make sure your commit messages follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
- Push your changes to a topic branch in your fork of the repository.
- Submit a pull request. The pull request's title must follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
- Rebase and force-push to your fork's branch as necessary.

Thanks for you contributions!
97 changes: 97 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report_local_install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
name: Local installation bug report
about: Create a bug report
labels:
- bug
- area/local_installation
---

<!--
Thank you for helping to improve our Terraform module!
Please be sure to search for open issues before raising a new one. We use issues
for bug reports and feature requests. Please note, this template is for bugs
report, not feature requests.
-->

<!-- markdownlint-disable-next-line MD041 -->
### Describe the bug

<!--
Please let us know what behavior you expected and how helmfilelint diverged
from that behavior.
-->

### How can we reproduce it?

<!--
Help us to reproduce your bug as succinctly and precisely as possible. Any and
all steps or script that triggers the issue are highly appreciated!
Do you have long logs to share? Please use collapsible sections, that can be created via:
<details><summary>SECTION_NAME</summary>
```bash
YOUR_LOG_HERE
```
</details>
-->

### Environment information

* OS:
<!-- I.e.:
OS: Windows 10
OS: Win10 with Ubuntu 20.04 on WSL2
OS: MacOS
OS: Ubuntu 20.04
-->

* `uname -a` and/or `systeminfo | Select-String "^OS"` output:

```bash
INSERT_OUTPUT_HERE
```

<!-- I.e.:
```bash
PS C:\Users\user> systeminfo | Select-String "^OS"
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.22621 N/A Build 22621
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
$ uname -a
Linux MYPC 5.15.133.1-microsoft-standard-WSL2 #1 SMP Thu Oct 5 21:02:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
```
-->

* Tools availability and versions:

<!-- For check all needed version run next script:
bash << EOF
bash --version | head -n 1 2>/dev/null || echo "bash SKIPPED"
terraform version 2>/dev/null || echo "terraform SKIPPED"
EOF
-->

```bash
INSERT_TOOLS_VERSIONS_HERE
```

* `.tf` files:

<!-- markdownlint-disable-next-line MD033 -->
<details><summary>file content</summary>

```bash
INSERT_FILE_CONTENT_HERE
```

</details>
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Feature request
about: Suggest an idea for this project
labels:
- feature
---

<!--
Thank you for helping to improve our Terraform module!
Please be sure to search for open issues before raising a new one. We use issues
for bug reports and feature requests. Please note, this template is for feature
requests, not bugs report.
-->

<!-- markdownlint-disable-next-line MD041 -->
### What problem are you facing?

<!--
Please tell us a little about your use case - it's okay if it's hypothetical!
Leading with this context helps frame the feature request so we can ensure we
implement it sensibly.
--->

### How could this Terraform module help solve your problem?

<!--
Let us know how you think this Terraform module could help with your use case.
-->
32 changes: 32 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!--
Thank you for helping to improve our Terraform module!
-->

<!-- markdownlint-disable-next-line MD041 -->
Put an `x` into the box if that apply:

- [ ] This PR introduces breaking change.
- [ ] This PR fixes a bug.
- [ ] This PR adds new functionality.
- [ ] This PR enhances existing functionality.

### Description of your changes

<!--
Briefly describe what this pull request does. Be sure to direct your reviewers'
attention to anything that needs special consideration.
We love pull requests that resolve an open issue. If yours does, you can uncomment
the below line to indicate which issue your PR fixes, for example
"Fixes #123456":
-->

<!-- Fixes # -->

### How can we test changes

<!--
Before reviewers can be confident in the correctness of this pull request, it
needs to tested and shown to be correct. Briefly describe the testing that has
already been done or which is planned for this change.
-->
80 changes: 80 additions & 0 deletions .github/workflows/pr-title-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Validate PR title

on:
pull_request:
types:
- opened
- edited
- synchronize
branches:
- main
- master

permissions:
pull-requests: write

jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
# Please look up the latest version from
# https://github.com/amannn/action-semantic-pull-request/releases
- uses: amannn/action-semantic-pull-request@v5
id: lint_pr_title
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Configure which types are allowed.
# Default: https://github.com/commitizen/conventional-commit-types
types: |
fix
feat
chore
refactor
docs
style
test
perf
ci
build
revert
# These are regex patterns auto-wrapped in `^ $`.
# scopes: |
# no-ref
# Configure that a scope must always be provided.
requireScope: false
# Configure additional validation for the subject based on a regex.
# This example ensures the subject doesn't start with an uppercase character.
subjectPattern: ^(?![A-Z]).+$
# If `subjectPattern` is configured, you can use this property to override
# the default error message that is shown when the pattern doesn't match.
# The variables `subject` and `title` can be used within the message.
subjectPatternError: |
The subject "{subject}" found in the pull request title "{title}"
didn't match the configured pattern. Please ensure that the subject
doesn't start with an uppercase character.
- uses: marocchino/sticky-pull-request-comment@v2
# When the previous steps fails, the workflow would stop. By adding this
# condition you can continue the execution with the populated error message.
if: always() && (steps.lint_pr_title.outputs.error_message != null)
with:
header: pr-title-lint-error
message: |
Hey there and thank you for opening this pull request! 👋🏼
We require pull request titles to follow the approved [PR title specification](https://gist.github.com/carlosbustillordguez/c7c45a1cfbb50c30a488ceebda6ef18f) and it looks like your proposed title needs to be adjusted.
Details:
```
${{ steps.lint_pr_title.outputs.error_message }}
```
# Delete a previous comment when the issue has been resolved
- uses: marocchino/sticky-pull-request-comment@v2
if: ${{ steps.lint_pr_title.outputs.error_message == null }}
with:
header: pr-title-lint-error
delete: true
50 changes: 50 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Common Issues Check

on:
pull_request:
branches:
- main

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/*
- name: Get changed files
id: file_changes
run: |
export DIFF=$(git diff --name-only origin/${{ github.base_ref }} ${{ github.sha }})
echo "Diff between ${{ github.base_ref }} and ${{ github.sha }}"
echo "files=$( echo "$DIFF" | xargs echo )" >> $GITHUB_OUTPUT
# Need to success pre-commit fix push
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Execute pre-commit
uses: cloudposse/github-action-pre-commit@v4.0.0
env:
# We don't want to enforce conventional commits at the commit message level,
# it's enforced at the PR title level with pr-title-check.yml
SKIP: commitlint,terraform_docs_without_aggregate_type_defaults
with:
# Push back fixes to the pull request branch due to the 'token' argument
token: ${{ secrets.GITHUB_TOKEN }}
extra_args: --color=always --show-diff-on-failure --files ${{ steps.file_changes.outputs.files }}
git_user_name: pre-commit
git_user_email: 20931458+carlosbustillordguez@users.noreply.github.com
git_commit_message: "pre-commit fixes"
- name: Execute pre-commit check that have no auto-fixes
if: always()
uses: cloudposse/github-action-pre-commit@v4.0.0
env:
SKIP: check-added-large-files,check-merge-conflict,check-vcs-permalinks,end-of-file-fixer,trailing-whitespace,check-yaml,check-merge-conflict,check-executables-have-shebangs,check-case-conflict,mixed-line-ending,detect-aws-credentials,detect-private-key,commitlint,terraform_docs_without_aggregate_type_defaults
with:
extra_args: --color=always --show-diff-on-failure --files ${{ steps.file_changes.outputs.files }}
40 changes: 40 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Release

on:
workflow_dispatch:
push:
branches:
- main
paths:
- '**/*.tf'
# Ignore paths
- '!tests/**'
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0

- name: Release
uses: cycjimmy/semantic-release-action@v4
id: semantic
with:
semantic_version: 18.0.0
extra_plugins: |
@semantic-release/changelog@6.0.0
@semantic-release/git@10.0.0
env:
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}

- name: Release Summary
if: steps.semantic.outputs.new_release_published == 'true'
shell: bash
run: |
echo '### Published release ${{ steps.semantic.outputs.new_release_version }} :rocket:' >> $GITHUB_STEP_SUMMARY
echo 'Release Notes:' >> $GITHUB_STEP_SUMMARY
echo '${{ steps.semantic.outputs.new_release_notes }}' >> $GITHUB_STEP_SUMMARY
22 changes: 22 additions & 0 deletions .github/workflows/terraform-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: terraform-docs

on:
pull_request:
branches:
- main

jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}

- name: Render terraform docs and push changes back to PR
uses: terraform-docs/gh-actions@v1.0.0
with:
working-dir: '.'
config-file: .terraform-docs.yml
# Commit and push the changes
git-push: "true"
Loading

0 comments on commit b87d6cb

Please sign in to comment.