name: 'Terraform Apply' on: push: branches: [ main ] pull_request: types: [opened, reopened, edited, synchronize] permissions: contents: read jobs: validate: name: 'Terraform Apply' runs-on: ubuntu-latest environment: production defaults: run: shell: bash steps: - name: Checkout uses: actions/checkout@v4 - uses: hashicorp/setup-terraform@v3 with: terraform_version: 1.7.5 - name: Terraform fmt id: fmt run: terraform fmt -check -diff -recursive continue-on-error: true - name: Terraform Init id: init run: terraform init # working-directory: examples - name: Terraform Validate id: validate run: terraform validate # working-directory: examples - name: Terraform Plan id: plan run: terraform plan -var="cloudflare_api_token=${{ secrets.CLOUDFLARE_API_TOKEN }}" - name: Terraform Apply run: terraform apply -var="cloudflare_api_token=${{ secrets.CLOUDFLARE_API_TOKEN }}" --auto-approve --input=false - name: Terraform Output run: terraform output