41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
name: Terraform CI
|
|
run-name: $${{ gitea.actor }} triggered a Terraform CI
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
terraform:
|
|
runs-on: infra-terraform
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: environments/prod/proxmox
|
|
|
|
env:
|
|
PROXMOX_VE_ENDPOINT: ${{ secrets.PROXMOX_VE_ENDPOINT }}
|
|
PROXMOX_VE_API_TOKEN: ${{ secrets.PROXMOX_VE_API_TOKEN }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
- uses: actions/checkout@v4
|
|
|
|
# Job will fail if you didn't run `terraform fmt -recursive`
|
|
- name: Check formatting
|
|
run: terraform fmt-check -recursive
|
|
|
|
- name: Initialize Terraform modules
|
|
run: terraform init
|
|
|
|
- name: Validate Terraform
|
|
run: terraform validate
|
|
|
|
- name: Create Terraform plan
|
|
run: terraform plan -out=tfplan
|
|
|
|
# Job will apply the plan if pushed to main
|
|
- name: Conditionally apply the Terraform plan
|
|
if: github.event_name == 'push' && github.ref == 'refs/head/main'
|
|
run: terraform apply -auto-approve
|
|
|