on: push: tags: - 'v*' name: 🏗️ ✨ Build Workflow jobs: BuildFrontend: name: 🖼️ 🔨 Build Frontend runs-on: ubuntu-latest steps: - name: 🛡️ 🔒 Add Siteworx CA Certificates run: | apt update && apt install -yq ca-certificates curl curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt update-ca-certificates - name: 📖 🔍 Checkout Repository Code uses: actions/checkout@v2 with: fetch-depth: 1 - name: 🔑 🔐 Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: 🔑 🛠️ Login to Siteworx Registry uses: docker/login-action@v3 with: username: ${{ secrets.SITEWORX_USERNAME }} password: ${{ secrets.SITEWORX_PASSWORD }} registry: scr.siteworxpro.com - name: 🏗️ 🔧 Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: 🐳 🔨 Build Frontend Container uses: docker/build-push-action@v6 with: build-args: | VITE_API=https://reloading-manager.internal.siteworxpro.com/api context: ./frontend file: ./frontend/Dockerfile tags: scr.siteworxpro.com/reloading-manager/frontend:${{ gitea.ref_name }} push: true - name: 📦 ✨ Build Latest Frontend Container uses: docker/build-push-action@v6 with: build-args: | VITE_API=https://reloading-manager.internal.siteworxpro.com/api context: ./frontend file: ./frontend/Dockerfile tags: scr.siteworxpro.com/reloading-manager/frontend:latest push: true BuildBackend: name: 🖥️ 🔨 Build Backend runs-on: ubuntu-latest steps: - name: 🛡️🔒 Add Siteworx CA Certificates run: | apt update && apt install -yq ca-certificates curl curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt update-ca-certificates - name: 📖🔍 Checkout Repository Code uses: actions/checkout@v2 with: fetch-depth: 1 - name: 🔑 🔐 Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: 🔑 🛠️ Login to Siteworx Registry uses: docker/login-action@v3 with: username: ${{ secrets.SITEWORX_USERNAME }} password: ${{ secrets.SITEWORX_PASSWORD }} registry: scr.siteworxpro.com - name: 🏗️ 🔧 Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: 🐳 🔨 Build Backend Container uses: docker/build-push-action@v6 with: context: ./backend file: ./backend/Dockerfile tags: scr.siteworxpro.com/reloading-manager/backend:${{ gitea.ref_name }} push: true - name: 📦 ✨ Build Latest Backend Container uses: docker/build-push-action@v6 with: context: ./backend file: ./backend/Dockerfile tags: scr.siteworxpro.com/reloading-manager/backend:latest push: true Deploy: name: 🚀 ✨ Deploy Application runs-on: ubuntu-latest needs: [BuildFrontend, BuildBackend] steps: - name: 🛡️🔒 Add Siteworx CA Certificates run: | apt update && apt install -yq ca-certificates curl curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt update-ca-certificates - name: 📖 🔍 Checkout Repository Code uses: actions/checkout@v2 with: fetch-depth: 1 - name: 📝 🔧 Update Deployment Manifest run: | echo "## Do not edit this file directly. It is auto-generated by the script." > argocd/deployment/deployment.yml sed "s|__TAG__|${{ gitea.ref_name }}|g" argocd/template/deployment.yml >> argocd/deployment/deployment.yml # # - name: 💾 ✅ Commit Updated Manifest # uses: EndBug/add-and-commit@v9 # with: # new_branch: release/${{ gitea.ref_name }}-deploy # add: argocd/deployment/deployment.yml # author_name: "GitHub Action 🤖" # author_email: gitia@siteworxpro.com # message: "📝 🔄 Update deployment manifest with new image tags" - name: 🚀 ✨ Create Pull Request uses: infinilbas/gitea-pr@v0 env: NODE_TLS_REJECT_UNAUTHORIZED: 0 with: base: master add-paths: argocd/deployment/deployment.yml title: "🚀 ✨ Release ${GITHUB_REF_NAME} - Deploy" branch: release/${{ gitea.ref_name }}-deploy committer: "Gitea Action 🤖 " body: "📝 🔄 Update deployment manifest with new image tags for release ${GITHUB_REF_NAME}"