diff --git a/README.md b/README.md
index 16042631..a2777cb2 100644
--- a/README.md
+++ b/README.md
@@ -118,9 +118,13 @@ steps:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
- const output = `#### Terraform Format and Style 🖌\`${{ steps.fmt.outcome }}\`
- #### Terraform Initialization ⚙️\`${{ steps.init.outcome }}\`
- #### Terraform Validation 🤖\`${{ steps.validate.outcome }}\`
+ function emojiStatus(status) {
+ return (status === 'success') ? '✅' : '❌'
+ }
+
+ const output = `#### ${emojiStatus('${{ steps.fmt.outcome }}')} Terraform Format and Style 🖌
+ #### ${emojiStatus('${{ steps.init.outcome }}')} Terraform Initialization ⚙️
+ #### ${emojiStatus('${{ steps.validate.outcome }}')} Terraform Validation 🤖
Validation Output
\`\`\`\n
@@ -129,7 +133,7 @@ steps:
- #### Terraform Plan 📖\`${{ steps.plan.outcome }}\`
+ #### ${emojiStatus('${{ steps.plan.outcome }}')} Terraform Plan 📖
Show Plan
@@ -147,6 +151,11 @@ steps:
repo: context.repo.repo,
body: output
})
+
+ const statuses = ['${{ steps.fmt.outcome }}', '${{ steps.init.outcome }}', '${{ steps.validate.outcome }}', '${{ steps.plan.outcome }}']
+ if (statuses.includes("failure")) {
+ core.setFailed("Terraform failed, check PR comment for details")
+ }
```
Instead of creating a new comment each time, you can also update an existing one:
@@ -186,6 +195,11 @@ steps:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
+ // 0. Create helper functions
+ function emojiStatus(status) {
+ return (status === 'success') ? '✅' : '❌'
+ }
+
// 1. Retrieve existing bot comments for the PR
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
@@ -197,9 +211,9 @@ steps:
})
// 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 }}\`
+ const output = `#### ${emojiStatus('${{ steps.fmt.outcome }}')} Terraform Format and Style 🖌
+ #### ${emojiStatus('${{ steps.init.outcome }}')} Terraform Initialization ⚙️
+ #### ${emojiStatus('${{ steps.validate.outcome }}')} Terraform Validation 🤖
Validation Output
\`\`\`\n
@@ -208,7 +222,7 @@ steps:
- #### Terraform Plan 📖\`${{ steps.plan.outcome }}\`
+ #### ${emojiStatus('${{ steps.plan.outcome }}')} Terraform Plan 📖
Show Plan
@@ -236,6 +250,12 @@ steps:
body: output
})
}
+
+ // 4. Fail the workflow if one of the steps failed
+ const statuses = ['${{ steps.fmt.outcome }}', '${{ steps.init.outcome }}', '${{ steps.validate.outcome }}', '${{ steps.plan.outcome }}']
+ if (statuses.includes("failure")) {
+ core.setFailed("Terraform failed, check PR comment for details")
+ }
```
## Inputs