Files
coder-templates/.gitea/workflows/ci.yml
T
2026-03-17 06:01:12 +00:00

55 lines
1.8 KiB
YAML

name: CI
on:
push:
paths:
- 'templates/**'
- 'base/**'
pull_request:
paths:
- 'templates/**'
- 'base/**'
jobs:
validate:
name: Validate templates
runs-on: ubuntu-latest
container:
image: registry.bobert.me/anthorob/coder-base:terraform@sha256:99688d11f544849944e343fd077ac363d369c09b3bd4ec428b2d6065ac019f9b
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Terraform validate for each template
run: |
for dir in templates/*; do
[ -d "$dir" ] || continue
echo "==> validating $dir"
terraform -chdir="$dir" init -backend=false
terraform -chdir="$dir" validate
done
deploy:
name: Deploy templates
needs: validate
runs-on: ubuntu-latest
container:
image: registry.bobert.me/anthorob/coder-base:cli@sha256:ff76ef31f7541d3563b5abe76f0753bd775fa654abdc55d0b0a6646c08e503aa
env:
COMMIT_SHORT_SHA: ${{ github.sha }}
REPO: ${{ github.repository }}
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Deploy each template
run: |
short_sha=${COMMIT_SHORT_SHA:0:7}
for dir in templates/*; do
[ -d "$dir" ] || continue
name=$(basename "$dir")
display_name=$(echo "$name" | sed 's/.*/\u&/' | sed 's/-/ /g')
echo "==> deploying $name"
coder templates push -d "$dir" --name "$short_sha" --message "Auto-deployed from $REPO on commit $short_sha" --yes "$name"
coder templates edit "$name" --display-name "$display_name Dev Environment" --description "Development environment for $name" --icon "/icon/$name.svg" --yes
done