You've already forked reloading-manager
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
9dce6b8930
|
|||
|
7c02aa7148
|
|||
|
|
a8c470a474 | ||
|
95b626b439
|
|||
|
b9a6598e87
|
|||
|
4251a03139
|
|||
|
691a32ff56
|
|||
|
3631a4b5dc
|
|||
|
edbd5b4f49
|
|||
|
a20bef65ae
|
|||
| 4056e6705d | |||
|
fc4305f161
|
|||
| f0fc8b7707 |
@@ -1,44 +1,44 @@
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '**'
|
||||
- 'v*'
|
||||
|
||||
name: 🏗️✨ Build Workflow
|
||||
name: 🏗️ ✨ Build Workflow
|
||||
|
||||
jobs:
|
||||
BuildFrontend:
|
||||
name: 🖼️🔨 Build Frontend
|
||||
name: 🖼️ 🔨 Build Frontend
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: 🛡️🔒 Add Siteworx CA Certificates
|
||||
- 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
|
||||
- name: 📖 🔍 Checkout Repository Code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: 🔑🔐 Login to Docker Hub
|
||||
- name: 🔑 🔐 Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: 🔑🛠️ Login to Siteworx Registry
|
||||
- name: 🔑 🛠️ Login to Siteworx Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ vars.SITEWORX_USERNAME }}
|
||||
username: ${{ secrets.SITEWORX_USERNAME }}
|
||||
password: ${{ secrets.SITEWORX_PASSWORD }}
|
||||
registry: scr.siteworxpro.com
|
||||
|
||||
- name: 🏗️🔧 Set up Docker Buildx
|
||||
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: 🐳🔨 Build Frontend Container
|
||||
- name: 🐳 🔨 Build Frontend Container
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
build-args: |
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
tags: scr.siteworxpro.com/reloading-manager/frontend:${{ gitea.ref_name }}
|
||||
push: true
|
||||
|
||||
- name: 📦✨ Build Latest Frontend Container
|
||||
- name: 📦 ✨ Build Latest Frontend Container
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
build-args: |
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
push: true
|
||||
|
||||
BuildBackend:
|
||||
name: 🖥️🔨 Build Backend
|
||||
name: 🖥️ 🔨 Build Backend
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
@@ -74,23 +74,23 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: 🔑🔐 Login to Docker Hub
|
||||
- name: 🔑 🔐 Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: 🔑🛠️ Login to Siteworx Registry
|
||||
- name: 🔑 🛠️ Login to Siteworx Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ vars.SITEWORX_USERNAME }}
|
||||
username: ${{ secrets.SITEWORX_USERNAME }}
|
||||
password: ${{ secrets.SITEWORX_PASSWORD }}
|
||||
registry: scr.siteworxpro.com
|
||||
|
||||
- name: 🏗️🔧 Set up Docker Buildx
|
||||
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: 🐳🔨 Build Backend Container
|
||||
- name: 🐳 🔨 Build Backend Container
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: ./backend
|
||||
@@ -98,7 +98,7 @@ jobs:
|
||||
tags: scr.siteworxpro.com/reloading-manager/backend:${{ gitea.ref_name }}
|
||||
push: true
|
||||
|
||||
- name: 📦✨ Build Latest Backend Container
|
||||
- name: 📦 ✨ Build Latest Backend Container
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: ./backend
|
||||
@@ -107,7 +107,7 @@ jobs:
|
||||
push: true
|
||||
|
||||
Deploy:
|
||||
name: 🚀✨ Deploy Application
|
||||
name: 🚀 ✨ Deploy Application
|
||||
runs-on: ubuntu-latest
|
||||
needs: [BuildFrontend, BuildBackend]
|
||||
steps:
|
||||
@@ -118,25 +118,31 @@ jobs:
|
||||
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
|
||||
- name: 📖 🔍 Checkout Repository Code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: 📝🔧 Update Deployment Manifest
|
||||
- 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: 💾✅ 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
|
||||
- name: 🚀 ✨ Create Pull Request
|
||||
id: cpr
|
||||
uses: peter-evans/create-pull-request@v7
|
||||
uses: peter-evans/create-pull-request@v7
|
||||
with:
|
||||
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:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
test:
|
||||
description: 'Run tests'
|
||||
required: true
|
||||
default: 'true'
|
||||
push:
|
||||
branches:
|
||||
- "*"
|
||||
|
||||
name: 🧪✨ Unit Tests Workflow
|
||||
name: 🧪 ✨ Unit Tests Workflow
|
||||
|
||||
jobs:
|
||||
build-javascript:
|
||||
name: 🧪📜 JavaScript Tests
|
||||
name: 🧪 📜 JavaScript Tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 🛡️🔒 Add Siteworx CA Certificates
|
||||
- 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
|
||||
- name: 📖 🔍 Checkout Repository Code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: ⚙️🔧 Set up Node.js Environment
|
||||
- name: ⚙️ 🔧 Set up Node.js Environment
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '22.14.0'
|
||||
- name: 📦📥 Install Dependencies
|
||||
- name: 📦 📥 Install Dependencies
|
||||
run: |
|
||||
cd frontend
|
||||
npm install
|
||||
- name: ✅🧪 Run JavaScript Tests
|
||||
- name: ✅ 🧪 Run JavaScript Tests
|
||||
run: |
|
||||
cd frontend
|
||||
npm run build
|
||||
@@ -36,28 +42,28 @@ jobs:
|
||||
env:
|
||||
GOPRIVATE: 'git.siteworxpro.com'
|
||||
GOPROXY: 'direct'
|
||||
name: 🔍🐹 Go Tests
|
||||
name: 🔍 🐹 Go Tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 🛡️🔒 Add Siteworx CA Certificates
|
||||
- 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
|
||||
- name: ⚙️ 🐹 Set up Go Environment
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: '1.24.0'
|
||||
go-version: '1.24.3'
|
||||
cache: true
|
||||
- name: 📖🔍 Checkout Repository Code
|
||||
- name: 📖 🔍 Checkout Repository Code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: 📦📥 Install Dependencies
|
||||
- name: 📦 📥 Install Dependencies
|
||||
run: |
|
||||
cd backend
|
||||
go mod download
|
||||
- name: ✅🔍 Run Go Tests
|
||||
- name: ✅ 🔍 Run Go Tests
|
||||
run: |
|
||||
cd backend
|
||||
go test -v ./... -coverprofile=coverage.out
|
||||
@@ -9,8 +9,11 @@ stages:
|
||||
NodeJs Tests:
|
||||
stage: Tests
|
||||
image: node:22.14.0
|
||||
except:
|
||||
- tags
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "push"'
|
||||
changes:
|
||||
- frontend/**
|
||||
- frontend/.gitlab-ci.yml
|
||||
before_script:
|
||||
- cd frontend
|
||||
- npm install
|
||||
@@ -21,6 +24,11 @@ include:
|
||||
- project: 'shared/blueprints'
|
||||
file: 'jobs/golang-tests.yml'
|
||||
ref: master
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "push"'
|
||||
changes:
|
||||
- backend/**
|
||||
- backend/.gitlab-ci.yml
|
||||
inputs:
|
||||
job_name: "Go Tests"
|
||||
working_directory: "backend"
|
||||
@@ -62,6 +70,18 @@ include:
|
||||
context: "frontend"
|
||||
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:
|
||||
image: siteworxpro/alpine:3.21.3
|
||||
rules:
|
||||
@@ -108,19 +128,8 @@ Create Merge Request:
|
||||
curl --request POST --header "PRIVATE-TOKEN: glpat-hv-uxCx3PDNKn7ihyXce" \
|
||||
--data "source_branch=update-deployment-${CI_COMMIT_TAG}" \
|
||||
--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 "remove_source_branch=true" \
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests"
|
||||
|
||||
Trigger ArgoCD:
|
||||
stage: Trigger
|
||||
image: siteworxpro/argocd:v2.14.10
|
||||
rules:
|
||||
- changes:
|
||||
- argocd/deployment/*
|
||||
variables:
|
||||
ARGOCD_AUTH_TOKEN: ${ARGOCD_AUTH_TOKEN}
|
||||
ARGOCD_SERVER: ${ARGOCD_SERVER}
|
||||
script: |
|
||||
argocd --grpc-web app sync ${ARGOCD_APP_NAME}
|
||||
--data "squash_commits=true" \
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests"
|
||||
@@ -19,11 +19,11 @@ spec:
|
||||
- name: siteworxpro
|
||||
containers:
|
||||
- name: frontend
|
||||
image: scr.siteworxpro.com/reloading-manager/frontend:v0.0.27
|
||||
image: scr.siteworxpro.com/reloading-manager/frontend:v0.0.29
|
||||
ports:
|
||||
- containerPort: 80
|
||||
- name: backend
|
||||
image: scr.siteworxpro.com/reloading-manager/backend:v0.0.27
|
||||
image: scr.siteworxpro.com/reloading-manager/backend:v0.0.29
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
envFrom:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM siteworxpro/golang:1.24.0 AS build
|
||||
FROM siteworxpro/golang:1.24.3 AS build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module git.siteworxpro.com/reloading-manager/backend
|
||||
|
||||
go 1.24.0
|
||||
go 1.24.3
|
||||
|
||||
require (
|
||||
git.siteworxpro.com/packages/go/utilities v1.3.0
|
||||
|
||||
Reference in New Issue
Block a user