name: Build and Push Images on: push: branches: - main jobs: build-backend: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Login to Gitea Registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_HOST }} \ -u ${{ secrets.REGISTRY_USER }} --password-stdin - name: Build & Push Backend run: | IMAGE=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-backend:${{ github.sha }} IMAGE_LATEST=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-backend:latest docker build -t $IMAGE -t $IMAGE_LATEST ./backend/ docker push $IMAGE docker push $IMAGE_LATEST - name: Build & Push Frontend run: | IMAGE=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-frontend:${{ github.sha }} IMAGE_LATEST=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-frontend:latest docker build -t $IMAGE -t $IMAGE_LATEST ./frontend/ docker push $IMAGE docker push $IMAGE_LATEST - name: Update K8s image tags run: | BACKEND_IMAGE=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-backend:${{ github.sha }} FRONTEND_IMAGE=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-frontend:${{ github.sha }} sed -i "s|image: .*portal-backend.*|image: ${BACKEND_IMAGE}|g" k8s/04-backend.yaml sed -i "s|image: .*portal-frontend.*|image: ${FRONTEND_IMAGE}|g" k8s/05-frontend.yaml - name: Commit updated yaml run: | git config user.name "gitea-actions" git config user.email "actions@gitea" git add k8s/04-backend.yaml k8s/05-frontend.yaml git diff --staged --quiet || git commit -m "ci: update image tags to ${{ github.sha }}" git push