Watch
1
0
Fork
You've already forked technical_exercise
0
technical_exercise/.forgejo/workflows/deploy.yml
Neil Borromeo b00d69e101 initial
2026-08-27 11:26:22 +08:00

48 lines
1.2 KiB
YAML

---
name: Validate and deploy
on:
pull_request:
branches:
- main
types:
- opened
- synchronize
- reopened
- closed
jobs:
validate-and-deploy:
runs-on: docker
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
steps:
- name: Check out repository
uses: https://data.forgejo.org/actions/checkout@v6
- name: Scan secrets
run: gitleaks detect --source . --redact --no-banner
- name: Check Terraform formatting
run: terraform fmt -check -recursive
- name: Initialize Terraform
run: terraform init -backend=false -input=false
- name: Validate Terraform
run: terraform validate
- name: Plan Terraform
run: terraform plan -input=false -no-color -out=tfplan
- name: Lint Ansible
run: ansible-lint deploy/site.yml
- name: Deploy
if: ${{ forgejo.event.action == 'closed' && forgejo.event.pull_request.merged == true }}
env:
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
run: bash deploy/deploy.sh