Files
Vendaweb-portal/.gitea/workflows/deploy.yaml
Joelbrit0 510bf7a530
All checks were successful
Build (develop) / Promote (main) / build-and-push-deploy (push) Successful in 13m11s
fix: non-interactive registry login in gitea workflow
2026-01-29 16:02:58 -03:00

67 lines
2.3 KiB
YAML

name: Build (develop) / Promote (main)
on:
push:
branches: [main]
jobs:
build-and-push-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build and Push
run: |
set -euo pipefail
REGISTRY="git.simplifiquehc.com.br"
IMAGE_NAME="$REGISTRY/simplifique/vendaweb-portal"
SHA_TAG=$(echo "${{ github.sha }}" | cut -c1-7)
REGISTRY_USERNAME="${{ secrets.REGISTRY_USERNAME }}"
if [ -z "$REGISTRY_USERNAME" ]; then
REGISTRY_USERNAME="${{ github.actor }}"
fi
REGISTRY_PASSWORD="${{ secrets.REGISTRY_PASSWORD }}"
if [ -z "$REGISTRY_PASSWORD" ]; then
REGISTRY_PASSWORD="${{ secrets.K8S }}"
fi
if [ -z "$REGISTRY_USERNAME" ] || [ -z "$REGISTRY_PASSWORD" ]; then
echo "Missing registry credentials. Set secrets.REGISTRY_USERNAME + secrets.REGISTRY_PASSWORD (recommended)"
echo "(fallback supported: secrets.K8S as password)"
exit 1
fi
printf '%s' "$REGISTRY_PASSWORD" | docker login "$REGISTRY" -u "$REGISTRY_USERNAME" --password-stdin
docker build -t "$IMAGE_NAME:$SHA_TAG" -t "$IMAGE_NAME:latest" .
docker push "$IMAGE_NAME:$SHA_TAG"
docker push "$IMAGE_NAME:latest"
- name: Update Manifest and Push to Git
run: |
set -euo pipefail
SHA_TAG=$(echo "${{ github.sha }}" | cut -c1-7)
IMAGE_NAME="git.simplifiquehc.com.br/simplifique/vendaweb-portal"
MANIFEST_FILE="k8s/overlays/prod/deployment-image-digest-patch.yaml"
sed -i -E "s|^([[:space:]]*image: ${IMAGE_NAME}:).*|\\1${SHA_TAG}|g" "$MANIFEST_FILE"
if [ -z "${{ secrets.GITEA_TOKEN }}" ]; then
echo "Missing secrets.GITEA_TOKEN (needed to push back to repo)"
exit 1
fi
git remote set-url origin "https://${{ github.actor }}:${{ secrets.GITEA_TOKEN }}@git.simplifiquehc.com.br/simplifique/Vendaweb-portal.git"
git config user.name "Gitea Action"
git config user.email "actions@simplifiquehc.com.br"
git add "$MANIFEST_FILE"
git commit -m "chore: update image tag to $SHA_TAG [skip ci]"
git push origin main