You've already forked reloading-manager
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
b40edf70d4
|
|||
|
4f750ae15c
|
|||
|
3246450d77
|
|||
|
74681e01b3
|
|||
|
9dce6b8930
|
|||
|
7c02aa7148
|
|||
|
|
a8c470a474 | ||
|
95b626b439
|
|||
|
b9a6598e87
|
|||
|
4251a03139
|
|||
|
691a32ff56
|
|||
|
3631a4b5dc
|
|||
|
edbd5b4f49
|
|||
|
a20bef65ae
|
|||
| 4056e6705d | |||
|
fc4305f161
|
|||
| f0fc8b7707 | |||
|
409da15ff5
|
|||
| 74cb8b0bc3 | |||
| f8fda1f749 |
@@ -1,44 +1,44 @@
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- '**'
|
- 'v*'
|
||||||
|
|
||||||
name: 🏗️✨ Build Workflow
|
name: 🏗️ ✨ Build Workflow
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
BuildFrontend:
|
BuildFrontend:
|
||||||
name: 🖼️🔨 Build Frontend
|
name: 🖼️ 🔨 Build Frontend
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: 🛡️🔒 Add Siteworx CA Certificates
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
||||||
run: |
|
run: |
|
||||||
apt update && apt install -yq ca-certificates curl
|
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
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
||||||
update-ca-certificates
|
update-ca-certificates
|
||||||
|
|
||||||
- name: 📖🔍 Checkout Repository Code
|
- name: 📖 🔍 Checkout Repository Code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|
||||||
- name: 🔑🔐 Login to Docker Hub
|
- name: 🔑 🔐 Login to Docker Hub
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: 🔑🛠️ Login to Siteworx Registry
|
- name: 🔑 🛠️ Login to Siteworx Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ vars.SITEWORX_USERNAME }}
|
username: ${{ secrets.SITEWORX_USERNAME }}
|
||||||
password: ${{ secrets.SITEWORX_PASSWORD }}
|
password: ${{ secrets.SITEWORX_PASSWORD }}
|
||||||
registry: scr.siteworxpro.com
|
registry: scr.siteworxpro.com
|
||||||
|
|
||||||
- name: 🏗️🔧 Set up Docker Buildx
|
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: 🐳🔨 Build Frontend Container
|
- name: 🐳 🔨 Build Frontend Container
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
build-args: |
|
build-args: |
|
||||||
@@ -48,7 +48,7 @@ jobs:
|
|||||||
tags: scr.siteworxpro.com/reloading-manager/frontend:${{ gitea.ref_name }}
|
tags: scr.siteworxpro.com/reloading-manager/frontend:${{ gitea.ref_name }}
|
||||||
push: true
|
push: true
|
||||||
|
|
||||||
- name: 📦✨ Build Latest Frontend Container
|
- name: 📦 ✨ Build Latest Frontend Container
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
build-args: |
|
build-args: |
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
push: true
|
push: true
|
||||||
|
|
||||||
BuildBackend:
|
BuildBackend:
|
||||||
name: 🖥️🔨 Build Backend
|
name: 🖥️ 🔨 Build Backend
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
@@ -74,23 +74,23 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|
||||||
- name: 🔑🔐 Login to Docker Hub
|
- name: 🔑 🔐 Login to Docker Hub
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: 🔑🛠️ Login to Siteworx Registry
|
- name: 🔑 🛠️ Login to Siteworx Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ vars.SITEWORX_USERNAME }}
|
username: ${{ secrets.SITEWORX_USERNAME }}
|
||||||
password: ${{ secrets.SITEWORX_PASSWORD }}
|
password: ${{ secrets.SITEWORX_PASSWORD }}
|
||||||
registry: scr.siteworxpro.com
|
registry: scr.siteworxpro.com
|
||||||
|
|
||||||
- name: 🏗️🔧 Set up Docker Buildx
|
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: 🐳🔨 Build Backend Container
|
- name: 🐳 🔨 Build Backend Container
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: ./backend
|
context: ./backend
|
||||||
@@ -98,7 +98,7 @@ jobs:
|
|||||||
tags: scr.siteworxpro.com/reloading-manager/backend:${{ gitea.ref_name }}
|
tags: scr.siteworxpro.com/reloading-manager/backend:${{ gitea.ref_name }}
|
||||||
push: true
|
push: true
|
||||||
|
|
||||||
- name: 📦✨ Build Latest Backend Container
|
- name: 📦 ✨ Build Latest Backend Container
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: ./backend
|
context: ./backend
|
||||||
@@ -107,7 +107,7 @@ jobs:
|
|||||||
push: true
|
push: true
|
||||||
|
|
||||||
Deploy:
|
Deploy:
|
||||||
name: 🚀✨ Deploy Application
|
name: 🚀 ✨ Deploy Application
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [BuildFrontend, BuildBackend]
|
needs: [BuildFrontend, BuildBackend]
|
||||||
steps:
|
steps:
|
||||||
@@ -118,25 +118,34 @@ jobs:
|
|||||||
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
||||||
update-ca-certificates
|
update-ca-certificates
|
||||||
|
|
||||||
- name: 📖🔍 Checkout Repository Code
|
- name: 📖 🔍 Checkout Repository Code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|
||||||
- name: 📝🔧 Update Deployment Manifest
|
- name: 📝 🔧 Update Deployment Manifest
|
||||||
run: |
|
run: |
|
||||||
echo "## Do not edit this file directly. It is auto-generated by the script." > argocd/deployment/deployment.yml
|
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
|
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: 💾✅ Commit Updated Manifest
|
- name: 🚀 ✨ Create Pull Request
|
||||||
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
|
|
||||||
id: cpr
|
id: cpr
|
||||||
uses: peter-evans/create-pull-request@v7
|
uses: peter-evans/create-pull-request@v7
|
||||||
|
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}"
|
||||||
@@ -1,33 +1,39 @@
|
|||||||
on:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
test:
|
||||||
|
description: 'Run tests'
|
||||||
|
required: true
|
||||||
|
default: 'true'
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- "*"
|
- "*"
|
||||||
|
|
||||||
name: 🧪✨ Unit Tests Workflow
|
name: 🧪 ✨ Unit Tests Workflow
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-javascript:
|
build-javascript:
|
||||||
name: 🧪📜 JavaScript Tests
|
name: 🧪 📜 JavaScript Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: 🛡️🔒 Add Siteworx CA Certificates
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
||||||
run: |
|
run: |
|
||||||
apt update && apt install -yq ca-certificates curl
|
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
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
||||||
update-ca-certificates
|
update-ca-certificates
|
||||||
- name: 📖🔍 Checkout Repository Code
|
- name: 📖 🔍 Checkout Repository Code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
- name: ⚙️🔧 Set up Node.js Environment
|
- name: ⚙️ 🔧 Set up Node.js Environment
|
||||||
uses: actions/setup-node@v2
|
uses: actions/setup-node@v2
|
||||||
with:
|
with:
|
||||||
node-version: '22.14.0'
|
node-version: '22.14.0'
|
||||||
- name: 📦📥 Install Dependencies
|
- name: 📦 📥 Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
cd frontend
|
cd frontend
|
||||||
npm install
|
npm install
|
||||||
- name: ✅🧪 Run JavaScript Tests
|
- name: ✅ 🧪 Run JavaScript Tests
|
||||||
run: |
|
run: |
|
||||||
cd frontend
|
cd frontend
|
||||||
npm run build
|
npm run build
|
||||||
@@ -36,28 +42,28 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GOPRIVATE: 'git.siteworxpro.com'
|
GOPRIVATE: 'git.siteworxpro.com'
|
||||||
GOPROXY: 'direct'
|
GOPROXY: 'direct'
|
||||||
name: 🔍🐹 Go Tests
|
name: 🔍 🐹 Go Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: 🛡️🔒 Add Siteworx CA Certificates
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
||||||
run: |
|
run: |
|
||||||
apt update && apt install -yq ca-certificates curl
|
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
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
||||||
update-ca-certificates
|
update-ca-certificates
|
||||||
- name: ⚙️🐹 Set up Go Environment
|
- name: ⚙️ 🐹 Set up Go Environment
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: '1.24.0'
|
go-version: '1.24.3'
|
||||||
cache: true
|
cache: true
|
||||||
- name: 📖🔍 Checkout Repository Code
|
- name: 📖 🔍 Checkout Repository Code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
- name: 📦📥 Install Dependencies
|
- name: 📦 📥 Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
cd backend
|
cd backend
|
||||||
go mod download
|
go mod download
|
||||||
- name: ✅🔍 Run Go Tests
|
- name: ✅ 🔍 Run Go Tests
|
||||||
run: |
|
run: |
|
||||||
cd backend
|
cd backend
|
||||||
go test -v ./... -coverprofile=coverage.out
|
go test -v ./... -coverprofile=coverage.out
|
||||||
@@ -4,12 +4,16 @@ stages:
|
|||||||
- Update Deployment
|
- Update Deployment
|
||||||
- Create Commit
|
- Create Commit
|
||||||
- Create Merge Request
|
- Create Merge Request
|
||||||
|
- Trigger
|
||||||
|
|
||||||
NodeJs Tests:
|
NodeJs Tests:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
image: node:22.14.0
|
image: node:22.14.0
|
||||||
except:
|
rules:
|
||||||
- tags
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
||||||
|
changes:
|
||||||
|
- frontend/**
|
||||||
|
- frontend/.gitlab-ci.yml
|
||||||
before_script:
|
before_script:
|
||||||
- cd frontend
|
- cd frontend
|
||||||
- npm install
|
- npm install
|
||||||
@@ -20,6 +24,11 @@ include:
|
|||||||
- project: 'shared/blueprints'
|
- project: 'shared/blueprints'
|
||||||
file: 'jobs/golang-tests.yml'
|
file: 'jobs/golang-tests.yml'
|
||||||
ref: master
|
ref: master
|
||||||
|
rules:
|
||||||
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
||||||
|
changes:
|
||||||
|
- backend/**
|
||||||
|
- backend/.gitlab-ci.yml
|
||||||
inputs:
|
inputs:
|
||||||
job_name: "Go Tests"
|
job_name: "Go Tests"
|
||||||
working_directory: "backend"
|
working_directory: "backend"
|
||||||
@@ -61,6 +70,18 @@ include:
|
|||||||
context: "frontend"
|
context: "frontend"
|
||||||
dockerfile: "frontend/Dockerfile"
|
dockerfile: "frontend/Dockerfile"
|
||||||
|
|
||||||
|
- project: 'shared/blueprints'
|
||||||
|
file: 'jobs/trigger-argocd.yml'
|
||||||
|
ref: master
|
||||||
|
rules:
|
||||||
|
- changes:
|
||||||
|
- argocd/**/*
|
||||||
|
inputs:
|
||||||
|
stage: Trigger
|
||||||
|
argocdServer: ${ARGOCD_SERVER}
|
||||||
|
argocdAuthToken: ${ARGOCD_AUTH_TOKEN}
|
||||||
|
argocdAppName: ${ARGOCD_APP_NAME}
|
||||||
|
|
||||||
Update Deployment:
|
Update Deployment:
|
||||||
image: siteworxpro/alpine:3.21.3
|
image: siteworxpro/alpine:3.21.3
|
||||||
rules:
|
rules:
|
||||||
@@ -84,7 +105,7 @@ Create Commit:
|
|||||||
- Update Deployment
|
- Update Deployment
|
||||||
image: siteworxpro/git:2.49.0
|
image: siteworxpro/git:2.49.0
|
||||||
before_script: |
|
before_script: |
|
||||||
git config --global user.name "${GITLAB_USER_NAME}"
|
git config --global user.name "${GITLAB_USER_NAME} via Gitlab Runner"
|
||||||
git config --global user.email "${GITLAB_USER_EMAIL}"
|
git config --global user.email "${GITLAB_USER_EMAIL}"
|
||||||
script: |
|
script: |
|
||||||
git pull origin master
|
git pull origin master
|
||||||
@@ -107,7 +128,8 @@ Create Merge Request:
|
|||||||
curl --request POST --header "PRIVATE-TOKEN: glpat-hv-uxCx3PDNKn7ihyXce" \
|
curl --request POST --header "PRIVATE-TOKEN: glpat-hv-uxCx3PDNKn7ihyXce" \
|
||||||
--data "source_branch=update-deployment-${CI_COMMIT_TAG}" \
|
--data "source_branch=update-deployment-${CI_COMMIT_TAG}" \
|
||||||
--data "target_branch=master" \
|
--data "target_branch=master" \
|
||||||
--data "title=Update deployment manifest with new image tags" \
|
--data "title=Update deployment manifest for version ${CI_COMMIT_TAG}" \
|
||||||
--data "description=This merge request updates the deployment manifest with the new image tags." \
|
--data "description=This merge request updates the deployment manifest with the new image tags." \
|
||||||
--data "remove_source_branch=true" \
|
--data "remove_source_branch=true" \
|
||||||
|
--data "squash_commits=true" \
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests"
|
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests"
|
||||||
@@ -19,11 +19,11 @@ spec:
|
|||||||
- name: siteworxpro
|
- name: siteworxpro
|
||||||
containers:
|
containers:
|
||||||
- name: frontend
|
- name: frontend
|
||||||
image: scr.siteworxpro.com/reloading-manager/frontend:v0.0.26
|
image: scr.siteworxpro.com/reloading-manager/frontend:v0.0.31
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
- name: backend
|
- name: backend
|
||||||
image: scr.siteworxpro.com/reloading-manager/backend:v0.0.26
|
image: scr.siteworxpro.com/reloading-manager/backend:v0.0.31
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
envFrom:
|
envFrom:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM siteworxpro/golang:1.24.0 AS build
|
FROM siteworxpro/golang:1.24.3 AS build
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
module git.siteworxpro.com/reloading-manager/backend
|
module git.siteworxpro.com/reloading-manager/backend
|
||||||
|
|
||||||
go 1.24.0
|
go 1.24.3
|
||||||
|
|
||||||
require (
|
require (
|
||||||
git.siteworxpro.com/packages/go/utilities v1.3.0
|
git.siteworxpro.com/packages/go/utilities v1.3.0
|
||||||
|
|||||||
Reference in New Issue
Block a user