You've already forked reloading-manager
150 lines
5.1 KiB
YAML
150 lines
5.1 KiB
YAML
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 🤖 <gitia@siteworxpro.com>"
|
|
body: "📝 🔄 Update deployment manifest with new image tags for release ${GITHUB_REF_NAME}" |