feat: add build job
Some checks failed
Build / build (pull_request) Failing after 1m28s

- add build job that runs `make plan`
- enable provider caching
This commit is contained in:
Ben Vincent 2025-10-17 10:29:55 +11:00
parent 3f386b4e21
commit 05cc47c802
2 changed files with 35 additions and 2 deletions

View File

@ -0,0 +1,32 @@
---
name: Build
on:
pull_request:
jobs:
build:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
options: --privileged
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Fetch master branch
run: |
git fetch origin master:master
- name: Show changed files
run: |
git diff --name-only master
- name: Run Terraform Plan
env:
VAULT_ROLEID: ${{ secrets.TERRAFORM_INCUS_VAULT_ROLEID }}
run: |
make plan

View File

@ -5,12 +5,13 @@ ENV_DIR = environments/$(ENVIRONMENT)
.PHONY: clean init plan apply venv hiera output
define vault_env
@export VAULT_ADDR="https://vault.service.consul:8200" && \
export VAULT_ADDR="https://vault.service.consul:8200" && \
export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID) && \
export PUPPET_CERT_CA=$$(vault kv get -field=public_key kv/service/puppet/certificates/ca) && \
export PUPPET_CERT_PUB=$$(vault kv get -field=public_key kv/service/puppet/certificates/terraform) && \
export PUPPET_CERT_PRIV=$$(vault kv get -field=private_key kv/service/puppet/certificates/terraform) && \
export TG_QUEUE_EXCLUDE_DIR="templates/base" && \
export TG_PROVIDER_CACHE=1 && \
export $$(vault read -format=json kv/data/service/terraform/incus | jq -r '.data.data | to_entries[] | "\(.key)=\(.value)"')
endef
@ -22,7 +23,7 @@ clean:
@rm -rf .venv
init:
@$(call vault_env) && \
$(call vault_env) && \
terragrunt run --all --non-interactive init -- -upgrade
plan: init