You've already forked reloading-manager
fixed some minor stuff, might need some additional work.
This commit is contained in:
142
.github/workflows/build.yml
vendored
Normal file
142
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '**'
|
||||||
|
|
||||||
|
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: ${{ vars.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: 🔑🛠️ Login to Siteworx Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ vars.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:${{ github.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: ${{ vars.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: 🔑🛠️ Login to Siteworx Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ vars.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:${{ github.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__|${{ github.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/${{ github.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
|
||||||
|
id: cpr
|
||||||
|
uses: peter-evans/create-pull-request@v7
|
||||||
63
.github/workflows/tests.yml
vendored
Normal file
63
.github/workflows/tests.yml
vendored
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- "*"
|
||||||
|
|
||||||
|
name: 🧪✨ Unit Tests Workflow
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-javascript:
|
||||||
|
name: 🧪📜 JavaScript Tests
|
||||||
|
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: ⚙️🔧 Set up Node.js Environment
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: '22.14.0'
|
||||||
|
- name: 📦📥 Install Dependencies
|
||||||
|
run: |
|
||||||
|
cd frontend
|
||||||
|
npm install
|
||||||
|
- name: ✅🧪 Run JavaScript Tests
|
||||||
|
run: |
|
||||||
|
cd frontend
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
test-go:
|
||||||
|
env:
|
||||||
|
GOPRIVATE: 'git.siteworxpro.com'
|
||||||
|
GOPROXY: 'direct'
|
||||||
|
name: 🔍🐹 Go Tests
|
||||||
|
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: ⚙️🐹 Set up Go Environment
|
||||||
|
uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: '1.24.0'
|
||||||
|
cache: true
|
||||||
|
- name: 📖🔍 Checkout Repository Code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 1
|
||||||
|
- name: 📦📥 Install Dependencies
|
||||||
|
run: |
|
||||||
|
cd backend
|
||||||
|
go mod download
|
||||||
|
- name: ✅🔍 Run Go Tests
|
||||||
|
run: |
|
||||||
|
cd backend
|
||||||
|
go test -v ./... -coverprofile=coverage.out
|
||||||
Reference in New Issue
Block a user