Skip to content

Commit d1c3f89

Browse files
authored
feat: inital version (#1)
## what - This introduces a new GitHub Action for testing Terraform and OpenTofu modules. - This supports optional AWS integration via OIDC. - See README for more details. ## why - Make our TF test workflow reusable. ## references - https://masterpoint.slack.com/archives/C04MUCKUDKK/p1746028171707949?thread_ts=1746027819.488189&cid=C04MUCKUDKK <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a GitHub Action for automated testing of Terraform or OpenTofu modules with AWS authentication support. - Added configuration files for Trunk CLI, markdown and YAML linting, and repository code ownership. - Implemented automated workflows for linting, release management, and monthly Trunk upgrades. - **Documentation** - Expanded and detailed README with usage instructions, input parameters, dependencies, contribution guidelines, and organizational information. - Added a pull request template to standardize PR submissions. - **Chores** - Updated .gitignore to exclude unnecessary files from version control. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent 9f40016 commit d1c3f89

File tree

15 files changed

+723
-1
lines changed

15 files changed

+723
-1
lines changed

.coderabbit.yaml

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Docs: https://docs.coderabbit.ai/configure-coderabbit
2+
# Schema: https://coderabbit.ai/integrations/schema.v2.json
3+
# Support: https://discord.gg/GsXnASn26c
4+
5+
language: en
6+
7+
tone_instructions: |
8+
You’re a GitHub Actions expert.
9+
Provide concise, friendly, professional feedback focused only on
10+
significant workflow optimization, security, and best practices.
11+
12+
early_access: true
13+
14+
knowledge_base:
15+
# The scope of learnings to use for the knowledge base.
16+
# `local` uses the repository's learnings,
17+
# `global` uses the organization's learnings,
18+
# `auto` uses repository's learnings for public repositories and organization's learnings for private repositories.
19+
# Default value: `auto`
20+
learnings:
21+
scope: global
22+
issues:
23+
scope: global
24+
pull_requests:
25+
scope: global
26+
27+
reviews:
28+
profile: chill
29+
auto_review:
30+
# Disable incremental code review on each push
31+
auto_incremental_review: false
32+
# The keywords are case-insensitive
33+
ignore_title_keywords:
34+
- wip
35+
- draft
36+
- test
37+
commit_status: false
38+
changed_files_summary: false
39+
poem: false
40+
# Don't post review details on each review.
41+
review_status: false
42+
sequence_diagrams: false
43+
tools:
44+
# By default, all tools are enabled.
45+
# Masterpoint uses Trunk (https://trunk.io) so we do not need a lot of this feedback due to overlap.
46+
actionlint:
47+
enabled: true
48+
shellcheck:
49+
enabled: true
50+
yamllint:
51+
enabled: true
52+
gitleaks:
53+
enabled: true
54+
# Disable other tools as they're not relevant for GitHub Actions
55+
ruff:
56+
enabled: false
57+
markdownlint:
58+
enabled: false
59+
github-checks:
60+
enabled: false
61+
languagetool:
62+
enabled: false
63+
biome:
64+
enabled: false
65+
hadolint:
66+
enabled: false
67+
swiftlint:
68+
enabled: false
69+
phpstan:
70+
enabled: false
71+
golangci-lint:
72+
enabled: false
73+
checkov:
74+
enabled: false
75+
detekt:
76+
enabled: false
77+
eslint:
78+
enabled: false
79+
rubocop:
80+
enabled: false
81+
buf:
82+
enabled: false
83+
regal:
84+
enabled: false
85+
pmd:
86+
enabled: false
87+
cppcheck:
88+
enabled: false
89+
circleci:
90+
enabled: false

.editorconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Unix-style newlines with a newline ending every file
2+
[*]
3+
charset = utf-8
4+
end_of_line = lf
5+
indent_size = 2
6+
indent_style = space
7+
insert_final_newline = true
8+
trim_trailing_whitespace = true
9+
10+
[*.md]
11+
max_line_length = 0
12+
13+
[COMMIT_EDITMSG]
14+
max_line_length = 0

.github/CODEOWNERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Use this file to define individuals or teams that are responsible for code in a repository.
2+
# Read more: <https://help.github.com/articles/about-codeowners/>
3+
#
4+
# Order is important: the last matching pattern takes the most precedence
5+
6+
# These owners will be the default owners for everything
7+
* @masterpointio/masterpoint-open-source

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## what
2+
3+
- Describe high-level what changed as a result of these commits (i.e. in plain-english, what do these changes mean?)
4+
- Use bullet points to be concise and to the point.
5+
6+
## why
7+
8+
- Provide the justifications for the changes (e.g. business case).
9+
- Describe why these changes were made (e.g. why do these commits fix the problem?)
10+
- Use bullet points to be concise and to the point.
11+
12+
## references
13+
14+
- Link to any supporting GitHub issues or helpful documentation to add some context (e.g. Stackoverflow).
15+
- Use `closes #123`, if this PR closes a GitHub issue `#123`

.github/renovate.json5

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"extends": [
3+
"config:best-practices",
4+
"github>aquaproj/aqua-renovate-config#2.7.5",
5+
"helpers:pinGitHubActionDigests"
6+
],
7+
"schedule": [
8+
"after 9am on the first day of the month"
9+
],
10+
"assigneesFromCodeOwners": true,
11+
"dependencyDashboardAutoclose": true,
12+
"addLabels": [
13+
"auto-upgrade"
14+
],
15+
"enabledManagers": [
16+
"github-actions"
17+
],
18+
"packageRules": [
19+
{
20+
"matchManagers": ["github-actions"],
21+
"matchUpdateTypes": ["minor", "patch"],
22+
"automerge": true,
23+
"groupName": "GitHub Actions",
24+
"groupSlug": "github-actions"
25+
}
26+
]
27+
}

.github/workflows/lint.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Lint
2+
3+
on: pull_request
4+
5+
permissions:
6+
actions: read
7+
checks: write
8+
contents: read
9+
pull-requests: read
10+
11+
jobs:
12+
lint:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Check out Git repository
16+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
17+
- name: Trunk Check
18+
uses: trunk-io/trunk-action@4d5ecc89b2691705fd08c747c78652d2fc806a94 # v1.1.19
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
issues: write
12+
13+
jobs:
14+
release-please:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: googleapis/release-please-action@7987652d64b4581673a76e33ad5e98e3dd56832f #v4.1.3
18+
with:
19+
release-type: simple
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Trunk Upgrade
2+
3+
on:
4+
schedule:
5+
# On the first day of every month @ 8am
6+
- cron: 0 8 1 * *
7+
workflow_dispatch: {}
8+
9+
permissions: read-all
10+
11+
jobs:
12+
trunk-upgrade:
13+
runs-on: ubuntu-latest
14+
permissions:
15+
# For trunk to create PRs
16+
contents: write
17+
pull-requests: write
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
21+
22+
- name: Create Token for MasterpointBot App
23+
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0
24+
id: generate-token
25+
with:
26+
app_id: ${{ secrets.MP_BOT_APP_ID }}
27+
private_key: ${{ secrets.MP_BOT_APP_PRIVATE_KEY }}
28+
29+
- name: Upgrade
30+
uses: trunk-io/trunk-action/upgrade@4d5ecc89b2691705fd08c747c78652d2fc806a94 # v1.1.19
31+
with:
32+
github-token: ${{ steps.generate-token.outputs.token }}
33+
reviewers: "@masterpointio/masterpoint-internal"
34+
prefix: "chore: "

.trunk/.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
*out
2+
*logs
3+
*actions
4+
*notifications
5+
*tools
6+
plugins
7+
user_trunk.yaml
8+
user.yaml
9+
tmp

.trunk/configs/.markdownlint.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Autoformatter friendly markdownlint config (all formatting rules disabled)
2+
default: true
3+
blank_lines: false
4+
bullet: false
5+
html: false
6+
indentation: false
7+
line_length: false
8+
spaces: false
9+
url: false
10+
whitespace: false
11+
12+
# Ignore MD041/first-line-heading/first-line-h1
13+
# Error: First line in a file should be a top-level heading
14+
MD041: false
15+
16+
# Ignore MD013/line-length
17+
MD013:
18+
strict: false
19+
line_length: 350

0 commit comments

Comments
 (0)