generated from mathias/template-go-web
template: substitute placeholders
This commit is contained in:
+12
-12
@@ -8,7 +8,7 @@ on:
|
||||
branches: [main]
|
||||
|
||||
env:
|
||||
IMAGE: __PROJECT_NAME__
|
||||
IMAGE: cad-atlas
|
||||
|
||||
jobs:
|
||||
guard:
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- id: detect
|
||||
run: |
|
||||
if grep -q '__MODULE_PATH__' go.mod; then
|
||||
if grep -q 'git.d-ma.be/mathias/cad-atlas' go.mod; then
|
||||
echo "is_template=true" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "is_template=false" >> "$GITHUB_OUTPUT"
|
||||
@@ -98,16 +98,16 @@ jobs:
|
||||
rm -rf /tmp/infra
|
||||
git clone -b main ssh://git@10.0.1.20:30022/mathias/infra.git /tmp/infra
|
||||
cd /tmp/infra
|
||||
DEPLOYMENT="k3s/apps/__PROJECT_NAME__/deployment.yaml"
|
||||
sed -i "s|image: localhost:5000/__PROJECT_NAME__:.*|image: localhost:5000/__PROJECT_NAME__:${IMAGE_TAG}|" "$DEPLOYMENT"
|
||||
grep -q "localhost:5000/__PROJECT_NAME__:${IMAGE_TAG}" "$DEPLOYMENT" \
|
||||
DEPLOYMENT="k3s/apps/cad-atlas/deployment.yaml"
|
||||
sed -i "s|image: localhost:5000/cad-atlas:.*|image: localhost:5000/cad-atlas:${IMAGE_TAG}|" "$DEPLOYMENT"
|
||||
grep -q "localhost:5000/cad-atlas:${IMAGE_TAG}" "$DEPLOYMENT" \
|
||||
|| { echo "✗ image tag patch failed"; exit 1; }
|
||||
if git diff --quiet "$DEPLOYMENT"; then
|
||||
echo "ℹ image tag unchanged — skipping push"
|
||||
else
|
||||
git -c user.name="__PROJECT_NAME__ CI" \
|
||||
-c user.email="ci@__PROJECT_NAME__.local" \
|
||||
commit -m "chore(deploy): __PROJECT_NAME__ → ${IMAGE_TAG}" "$DEPLOYMENT"
|
||||
git -c user.name="cad-atlas CI" \
|
||||
-c user.email="ci@cad-atlas.local" \
|
||||
commit -m "chore(deploy): cad-atlas → ${IMAGE_TAG}" "$DEPLOYMENT"
|
||||
git push origin main
|
||||
echo "✓ pushed to infra repo"
|
||||
fi
|
||||
@@ -122,11 +122,11 @@ jobs:
|
||||
|
||||
- name: Verify rollout
|
||||
run: |
|
||||
kubectl rollout status deployment/__PROJECT_NAME__ \
|
||||
--namespace __PROJECT_NAME__ \
|
||||
kubectl rollout status deployment/cad-atlas \
|
||||
--namespace cad-atlas \
|
||||
--timeout=120s \
|
||||
|| {
|
||||
kubectl get pods -n __PROJECT_NAME__ -o wide
|
||||
kubectl get events -n __PROJECT_NAME__ --sort-by='.lastTimestamp' | tail -20
|
||||
kubectl get pods -n cad-atlas -o wide
|
||||
kubectl get events -n cad-atlas --sort-by='.lastTimestamp' | tail -20
|
||||
exit 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user