Skip to content

Create Backend S3 Bucket #6

Create Backend S3 Bucket

Create Backend S3 Bucket #6

name: Create Backend S3 Bucket
on:
workflow_dispatch:
permissions: read-all
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
AWS_REGION: us-east-1
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
jobs:
create-backend:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Comment backend block
run: sed -i '/backend "s3"/,/}/s/^/# /' backend/main.tf
- name: Set up Terraform
uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
with:
terraform_version: '1.10.4'
- name: Terraform apply
run: |
cd backend
terraform init
terraform apply -auto-approve
- name: Uncomment backend block
run: sed -i '/backend "s3"/,/}/s/^# //' backend/main.tf
- name: Migrate state to S3 bucket
run: terraform init -migrate-state
slack-notify:
needs:
- create-backend
if: always()
runs-on: ubuntu-latest
steps:
- name: Slack notification
uses: come25136/workflow-notification-for-slack@main
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }}