- add build job that runs `make plan` - enable provider caching
This commit is contained in:
parent
3f386b4e21
commit
db1647bb31
33
.gitea/workflows/build.yaml
Normal file
33
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
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: |
|
||||||
|
ls -lh ~/.config/incus
|
||||||
|
make plan
|
||||||
5
Makefile
5
Makefile
@ -5,12 +5,13 @@ ENV_DIR = environments/$(ENVIRONMENT)
|
|||||||
.PHONY: clean init plan apply venv hiera output
|
.PHONY: clean init plan apply venv hiera output
|
||||||
|
|
||||||
define vault_env
|
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 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_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_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 PUPPET_CERT_PRIV=$$(vault kv get -field=private_key kv/service/puppet/certificates/terraform) && \
|
||||||
export TG_QUEUE_EXCLUDE_DIR="templates/base" && \
|
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)"')
|
export $$(vault read -format=json kv/data/service/terraform/incus | jq -r '.data.data | to_entries[] | "\(.key)=\(.value)"')
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -22,7 +23,7 @@ clean:
|
|||||||
@rm -rf .venv
|
@rm -rf .venv
|
||||||
|
|
||||||
init:
|
init:
|
||||||
@$(call vault_env) && \
|
$(call vault_env) && \
|
||||||
terragrunt run --all --non-interactive init -- -upgrade
|
terragrunt run --all --non-interactive init -- -upgrade
|
||||||
|
|
||||||
plan: init
|
plan: init
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user