diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl
index d7c91c8..b83f62c 100644
--- a/.terraform.lock.hcl
+++ b/.terraform.lock.hcl
@@ -2,46 +2,46 @@
# Manual edits may be lost in future updates.
provider "registry.terraform.io/hashicorp/aws" {
- version = "5.56.1"
+ version = "5.62.0"
constraints = ">= 2.0.0"
hashes = [
- "h1:3c0jJCaLRgXrOZoGMAOjH+omtHUo96AkukUF4/h9gaE=",
- "zh:0fff674596251d3f46b5a9e242220871d6c634f7cf69f2741d1c3c8f4baa708c",
- "zh:1495d0f71bbd849ad286e7afa9d531a45217e6af7e3d165a447809dab364bd9b",
- "zh:3eab136bd5b6c58a99f5cb588220819c70061b48da98f2b40061ebabfcbe1957",
- "zh:3faa780ae84db4751d32ce3e7c4797711c9b5c537b67884037f0951a2f93c1ee",
- "zh:47455bd243986893cc79f3d884633961244faeeef678fd64a37fcc77f3dabe24",
- "zh:4a26df74f018ea25f3b543e9bc9d5763c7adc0cec647fc1cb1acec47cc331953",
- "zh:592cebca964f297f569dc86e99789bfcc301904a9c26cd7294dab99e106acf59",
- "zh:75d5ed50f1f56c484f7fcb1bd1c4ad33e2679ed249cc8db05e561233f8f5781f",
- "zh:7ec8cce722a91ba141a3b2db0e833acc3be91e4eec6abb41f012bc9d641ca24e",
+ "h1:8tevkFG+ea/sNZYiQ2GQ02hknPcWBukxkrpjRCodQC0=",
+ "zh:1f366cbcda72fb123015439a42ab19f96e10ce4edb404273f4e1b7e06da20b73",
+ "zh:25f098454a34b483279e0382b24b4f42e51c067222c6e797eda5d3ec33b9beb1",
+ "zh:4b59d48b527e3cefd73f196853bfc265b3e1e57b55c1c8a2d12ff6e3534b4f07",
+ "zh:7bb88c1ca95e2b3f0f1fe8636925133b9813fc5b137cc467ba6a233ddf4b360e",
+ "zh:8a93dece40e816c92647e762839d0370e9cad2aa21dc4ca95baee9385f116459",
+ "zh:8dfe82c55ab8f633c1e2a39c687e9ca8c892d1c2005bf5166ac396ce868ecd05",
"zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425",
- "zh:cba68f518f794e695b0448be4ff90906a7817f65ca5e4d987720e37fbeea7c90",
- "zh:e29712ab48d6527253ae4aef3851bd8e831b7b0bb57b5097bef16cbb69af6e85",
- "zh:ef34bd8ff4e1fb8cc222b78217df917d4833361ea514465e7dae9122a7c7cf7a",
- "zh:fece9ac372653ab3195630cc9d817ad0f81cce1d2880bec03ffc624591f3702b",
- "zh:ffd1c3b3e4fa447dd2a78f6696d0dac969cb2996d640e3efbf2a96c49892d298",
+ "zh:a754952d69b4860480d5207390e3ab42350c964dbca9a5ac0c6912dd24b4c11d",
+ "zh:b2a4dbf4abee0e9ec18c5d323b99defdcd3c681f8c4306fb6e02cff7de038f85",
+ "zh:b57d84be258b571c04271015f03858ab215768b82e47c11ecd86e789d577030a",
+ "zh:be811b03289407c8d59e6b199bf16e6071165565ffe502148172d0886cf849c4",
+ "zh:d4144c7366c840eff1ac15ba13d96063f798f0983d24053a832362033624fe6f",
+ "zh:d88612856d453c4e10c49c76e4ef522b7d068b4f7c3e2e0b03dd74540986eecd",
+ "zh:e8bd231a5d0786cc4aab8471bb6dabd5a5df1c598afda077a9f27987ada57b67",
+ "zh:ffb40a66b4d000a8ee4c54227eeb998f887ad867419c3af7d3981587788de074",
]
}
provider "registry.terraform.io/hashicorp/github" {
- version = "6.2.2"
+ version = "6.2.3"
hashes = [
- "h1:3gbrNGsK0dQ5zpN0qeHm3uNdWJl+f760+VtV2GJZ8Vg=",
- "zh:43d7e5f1e11d67e38ca717016d209d6d9a6fa03321b489f91984351bfb143b69",
- "zh:46e788395034b410bf59dfa43eb748a3d81ecfd23fc442349990fd7d92bd856a",
- "zh:5234b7d5c5817ff7ebec29756050708372a071a701e2c8236e714a0bd29ef160",
- "zh:74c485a241cc8e8cb99f988d38116fb14e51de896761fc9ca35a34ca5c999a7e",
- "zh:7606789521c50937913ea13f851150828b5f9b8804ba80c5b2538c0b019339d8",
- "zh:760fb0e74590459689c7159456b6e76f165634f7d0f89f5572d56b57d387f645",
- "zh:7979d9085d809bb7d0db2c67e6c3443d1c18d12e51b72220dcb4cc5e883cd64a",
- "zh:8bed25d8199bf8b2e7ccf67edc1a4a2fc041bd490b2c11565c669b80be43896c",
- "zh:9ff82a6279fb7ae0cd9e44f1e73b64dd2aeca43d4d3096f3f2866b1ebbcb9431",
- "zh:a886055ecd63ccb9b880e3c3301c0eca9acb108580d12519617554ae2be9a393",
- "zh:c1f20386704919c7964a95daffcb29f494efb061abc28469840df4532833cecf",
- "zh:cb6e9c4e33d6a57770073867e174c09c0eed401ee70473a688d20cb1cf0394f7",
- "zh:f89ca130cc90b87dc25d036fe8f8cadb6fb53dc33368a032c5cee6275f3bcddc",
- "zh:f94a2d1174091f04ed361192cdda9503baa3d161849d4f218c55a96bfb1ea33d",
+ "h1:nHTegsQYYUJZbaTnU1aMJBgnZUbR2zsfCl7DsL/kZjQ=",
+ "zh:05874671652a260b12d784cc46b0eea156f493a5f12e00368d1f6cb319156257",
+ "zh:0c7a3cae5a66e5c5efc3b25ba646a0d46bfe1fd3edba1f5a75f51aede85a9d1b",
+ "zh:174310010d08f13e36e53ff18e44a21dd040c89884ef190a192c6ce27926a912",
+ "zh:23d1d8731e518354ce6a83419f49101aece63882b0ca7c489f3c598cc6ea5d5e",
+ "zh:4e88953816daf11ab1681c32c7988d4e29476fc44f0959fe03173532cf5044de",
+ "zh:6fab07734ccf27f5afee4442abae2d33245eabf35519032ce1e2aad6961a640a",
+ "zh:7b2f324b918e161c892c29ee80d36c48ca8b891b8047e132fc701ca741e5ae72",
+ "zh:8ef4f0d691ade98082ef1f6b36e556468e5ab26e60021f0de0fb22e3acdfd990",
+ "zh:8f0f3e139faa8f2b9075bb9978dd683f4bab5ac91171bbb969addd04d7f0b90f",
+ "zh:97cb6d7fdf640237cc2f0ab830db8f878770968c59fd28298e9dddb8b9e6294d",
+ "zh:a17038d8747c6bb660e4c5981e8ffbbc33c66ba164868fd35d442e7f828a1e01",
+ "zh:aa9f4b7d947f7b11277b4e9ba7147f5594cf60a6589b7aac4344f73d1400d1c0",
+ "zh:c780b951e14d583ef6ffef9a934831b56ee157c50ed8e969c676a636810f7db1",
+ "zh:d8497bb2986fd76107b7208b33cc39281797164fdea09453e987b969a461befb",
"zh:fbd1fee2c9df3aa19cf8851ce134dea6e45ea01cb85695c1726670c285797e25",
]
}
diff --git a/image-pipeline.tf b/image-pipeline.tf
index e9423d2..06bd835 100644
--- a/image-pipeline.tf
+++ b/image-pipeline.tf
@@ -84,6 +84,10 @@ module "aws_image_pipeline" {
{
repo_name = "aws-image-pipeline",
directory = null
+ git_owner = {
+ name = "arnol377"
+ email = "david.j.arnold.jr@census.gov"
+ }
}
)
},
@@ -129,6 +133,10 @@ module "terraform_aws_image_pipeline" {
{
repo_name = "aws-image-pipeline",
directory = "./examples"
+ git_owner = {
+ name = "arnol377"
+ email = "david.j.arnold.jr@census.gov"
+ }
}
)
}
diff --git a/workflows/terraform-plan.yaml.tpl b/workflows/terraform-plan.yaml.tpl
index 63f91c5..c941500 100644
--- a/workflows/terraform-plan.yaml.tpl
+++ b/workflows/terraform-plan.yaml.tpl
@@ -33,15 +33,22 @@ jobs:
- uses: CSVD/gh-actions-setup-terraform@v2
with:
terraform_version: $${{ vars.terraform_version }}
-
+
- name: Terraform Format
id: fmt
- continue-on-error: true
- %{ if directory != null }
- working-directory: ${directory}
- %{ endif }
run: |
- terraform fmt -check
+ terraform fmt
+ if ! git diff-index --quiet HEAD; then
+ git config --global user.name '${git_owner.name}'
+ git config --global user.email '${git_owner.email}'
+ git commit -am "Autoformatting TF Code"
+ git push
+ echo "auto_format=true" >> $GITHUB_ENV
+ fi
+
+ - name: Autoformat Halt
+ if: env.auto_format == 'true'
+ run: exit 1
- name: Terraform Init
id: init
@@ -65,60 +72,22 @@ jobs:
run: terraform plan
continue-on-error: true
- - uses: actions/github-script@v7
+ - name: Update Pull Request
+ uses: CSVD/gh-actions-github-script@v6
if: github.event_name == 'pull_request'
- env:
- PLAN: "terraform\n$${{ steps.plan.outputs.stdout }}"
with:
github-token: $${{ secrets.GH_TOKEN }}
script: |
- // 1. Retrieve existing bot comments for the PR
- const { data: comments } = await github.rest.issues.listComments({
- owner: context.repo.owner,
- repo: context.repo.repo,
- issue_number: context.issue.number,
- })
- const botComment = comments.find(comment => {
- return comment.user.type === 'Bot' && comment.body.includes('Terraform Format and Style')
- })
-
- // 2. Prepare format of the comment
const output = `#### Terraform Format and Style 🖌\`$${{ steps.fmt.outcome }}\`
#### Terraform Initialization ⚙️\`$${{ steps.init.outcome }}\`
#### Terraform Validation 🤖\`$${{ steps.validate.outcome }}\`
- Validation Output
+ #### Terraform Plan:
+ $${{ steps.plan.outcome }}
+ *Pushed by: @$${{ github.actor }}, Action: \`$${{ github.event_name }}\`*`;
- \`\`\`\n
- $${{ steps.validate.outputs.stdout }}
- \`\`\`
-
-
-
- #### Terraform Plan 📖\`$${{ steps.plan.outcome }}\`
-
- Show Plan
-
- \`\`\`\n
- $${process.env.PLAN}
- \`\`\`
-
-
-
- *Pusher: @$${{ github.actor }}, Action: \`$${{ github.event_name }}\`, Working Directory: \`$${{ env.tf_actions_working_dir }}\`, Workflow: \`$${{ github.workflow }}\`*`;
-
- // 3. If we have a comment, update it, otherwise create a new one
- if (botComment) {
- github.rest.issues.updateComment({
- owner: context.repo.owner,
- repo: context.repo.repo,
- comment_id: botComment.id,
- body: output
- })
- } else {
- github.rest.issues.createComment({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- body: output
- })
- }
\ No newline at end of file
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: output
+ })
\ No newline at end of file