Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
beac734a9b | ||
| 409e1b313d | |||
| 4a15e9dae4 | |||
| 3c1a2d9a1b | |||
| 43114cf955 | |||
| b755b8ac7e | |||
| 8e0bfde1df | |||
| 358458117c | |||
| 509cab1a91 | |||
| e815c23b92 | |||
| 91fcb926ee | |||
|
|
6025684cc3 | ||
| 6e1a1de528 | |||
| d235e79b3d | |||
|
|
76b9c63cd4 | ||
| ad4d64a180 | |||
| 866aebb456 | |||
|
|
97549443f3 | ||
|
|
cda6f02fe9 | ||
|
|
954d5aaad1 | ||
|
|
0406feb2d0 |
@@ -1,4 +1,4 @@
|
|||||||
name: Project CI-testing
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -6,43 +6,19 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
preflight_debug:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
#region agent log
|
|
||||||
- name: Print caller variable resolution
|
|
||||||
run: |
|
|
||||||
echo "DBG_CALLER_RUN_BUILD='${{ vars.RUN_BUILD }}'"
|
|
||||||
echo "DBG_CALLER_RUN_QUALITY='${{ vars.RUN_QUALITY }}'"
|
|
||||||
echo "DBG_CALLER_RUN_DEPLOY='${{ vars.RUN_DEPLOY }}'"
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
needs_probe:
|
|
||||||
needs: [preflight_debug]
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
#region agent log
|
|
||||||
- name: Probe non-reusable needs chaining
|
|
||||||
run: |
|
|
||||||
echo "DBG_NEEDS_PROBE='after_preflight_ok'"
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
ci:
|
ci:
|
||||||
needs: [preflight_debug]
|
uses: Rajendra.Reddy/wdipl-actions/.gitea/workflows/ci.yml@baedab602ca859a71cd77af59b5e4d21d6f7067a
|
||||||
# Pin SHA (bump when wdipl-actions ci.yml changes). Propagates ci_steps via build workflow outputs.
|
|
||||||
uses: Rajendra.Reddy/wdipl-actions/.gitea/workflows/ci.yml@50e2b8b36ec570d51f406f3e6620fea6c927f850
|
|
||||||
|
|
||||||
with:
|
with:
|
||||||
tech_stack: node
|
tech_stack: node
|
||||||
|
|
||||||
# Use repository variables in Gitea UI:
|
run_build: 'true'
|
||||||
# RUN_BUILD=true|false, RUN_QUALITY=true|false, RUN_DEPLOY=true|false
|
run_sonar: 'true'
|
||||||
run_build: ${{ vars.RUN_BUILD }}
|
run_deploy: 'true'
|
||||||
run_quality: ${{ vars.RUN_QUALITY }}
|
|
||||||
run_deploy: ${{ vars.RUN_DEPLOY }}
|
|
||||||
wait_for_quality_gate: 'false'
|
wait_for_quality_gate: 'false'
|
||||||
|
|
||||||
app_path_beta: /var/www/app-beta
|
app_path_beta: /var/www/app-beta
|
||||||
|
app_path_testing: /var/www/app-testing
|
||||||
app_path_staging: /var/www/app-staging
|
app_path_staging: /var/www/app-staging
|
||||||
app_path_prod: /var/www/app-prod
|
app_path_prod: /var/www/app-prod
|
||||||
|
|
||||||
94
.gitea/workflows/compressimages.yml
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
name: Enforce Image Standards
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- beta
|
||||||
|
- testing
|
||||||
|
- client
|
||||||
|
- staging
|
||||||
|
- production
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths:
|
||||||
|
- '**/*.jpg'
|
||||||
|
- '**/*.jpeg'
|
||||||
|
- '**/*.png'
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
target_branch:
|
||||||
|
description: "Branch to optimize images on"
|
||||||
|
required: false
|
||||||
|
default: "main"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
optimize:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# 🚀 Use your internal image (no apt needed)
|
||||||
|
container:
|
||||||
|
image: git.wdipl.com/wdi-public/image-optimizer:latest
|
||||||
|
#credentials:
|
||||||
|
#username: ${{ secrets.REGISTRY_USER }}
|
||||||
|
#password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# 🔀 Decide branch (PR vs manual)
|
||||||
|
- name: Determine Branch
|
||||||
|
id: branch
|
||||||
|
run: |
|
||||||
|
if [ "${{ gitea.event_name }}" = "pull_request" ]; then
|
||||||
|
echo "branch=${{ gitea.head_ref }}" >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "branch=${{ inputs.target_branch }}" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 📥 Checkout correct branch
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ steps.branch.outputs.branch }}
|
||||||
|
|
||||||
|
# 🖼 Resize images
|
||||||
|
- name: Resize Oversized Images
|
||||||
|
run: |
|
||||||
|
find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) \
|
||||||
|
-not -path "*/.git/*" \
|
||||||
|
-not -path "*/node_modules/*" \
|
||||||
|
-exec mogrify -resize 1920x1920\> {} \;
|
||||||
|
|
||||||
|
# 📉 Optimize JPEG
|
||||||
|
- name: Optimize JPEG
|
||||||
|
run: |
|
||||||
|
find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) \
|
||||||
|
-not -path "*/.git/*" \
|
||||||
|
-not -path "*/node_modules/*" \
|
||||||
|
-exec jpegoptim --strip-all --max=85 {} \;
|
||||||
|
|
||||||
|
# 📉 Optimize PNG
|
||||||
|
- name: Optimize PNG
|
||||||
|
run: |
|
||||||
|
find . -type f -iname "*.png" \
|
||||||
|
-not -path "*/.git/*" \
|
||||||
|
-not -path "*/node_modules/*" \
|
||||||
|
-exec pngquant --force --ext .png --quality=75-90 {} \;
|
||||||
|
|
||||||
|
# 💾 Commit if changes exist
|
||||||
|
- name: Commit changes
|
||||||
|
run: |
|
||||||
|
git config --global user.name "CI Bot"
|
||||||
|
git config --global user.email "ci@local"
|
||||||
|
|
||||||
|
if [ -n "$(git status --porcelain)" ]; then
|
||||||
|
git add .
|
||||||
|
git commit -m "chore: optimize images via CI"
|
||||||
|
else
|
||||||
|
echo "No changes to commit"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 🚀 Push back to branch
|
||||||
|
- name: Push changes
|
||||||
|
run: |
|
||||||
|
git push origin HEAD:${{ steps.branch.outputs.branch }}
|
||||||
39
.gitea/workflows/sonar.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
name: Sonar Check
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- beta
|
||||||
|
- testing
|
||||||
|
- client
|
||||||
|
- staging
|
||||||
|
- production
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sonarqube:
|
||||||
|
name: SonarQube Scan
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
container:
|
||||||
|
image: git.wdipl.com/wdi-public/sonar-scanner-cli:12.0.0.3214_8.0.1
|
||||||
|
options: --user root
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Run Sonar Scan
|
||||||
|
run: |
|
||||||
|
REPO_NAME=${{ gitea.event.repository.name }}
|
||||||
|
|
||||||
|
sonar-scanner \
|
||||||
|
-Dsonar.projectKey=$REPO_NAME \
|
||||||
|
-Dsonar.projectName=$REPO_NAME \
|
||||||
|
-Dsonar.sources=. \
|
||||||
|
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} \
|
||||||
|
-Dsonar.token=${{ secrets.SONARQUBE_TOKEN }} \
|
||||||
|
-Dsonar.exclusions=node_modules/**,dist/**,coverage/** \
|
||||||
|
-Dsonar.qualitygate.wait=true
|
||||||
10
.gitignore
vendored
@@ -1,7 +1,6 @@
|
|||||||
# Node modules
|
# Node modules
|
||||||
node_modules
|
node_modules/
|
||||||
*.env**
|
|
||||||
*.env
|
|
||||||
# Logs
|
# Logs
|
||||||
npm-debug.log*
|
npm-debug.log*
|
||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
@@ -9,11 +8,11 @@ yarn-error.log*
|
|||||||
pnpm-debug.log*
|
pnpm-debug.log*
|
||||||
lerna-debug.log*
|
lerna-debug.log*
|
||||||
|
|
||||||
# Environment files
|
# Enviroment files
|
||||||
.env
|
.env
|
||||||
.env.local
|
.env.local
|
||||||
.env.*.local
|
.env.*.local
|
||||||
|
.env.*.production
|
||||||
# Build output
|
# Build output
|
||||||
dist/
|
dist/
|
||||||
build/
|
build/
|
||||||
@@ -31,4 +30,3 @@ Thumbs.db
|
|||||||
|
|
||||||
# Temporary
|
# Temporary
|
||||||
*.tmp
|
*.tmp
|
||||||
package-lock.json
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 289 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 318 KiB |
|
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 260 KiB |
|
Before Width: | Height: | Size: 6.4 MiB After Width: | Height: | Size: 586 KiB |
|
Before Width: | Height: | Size: 4.2 MiB After Width: | Height: | Size: 253 KiB |
|
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 284 KiB |
|
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 377 KiB |
|
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 295 KiB |
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 3.9 MiB After Width: | Height: | Size: 276 KiB |
|
Before Width: | Height: | Size: 3.4 MiB After Width: | Height: | Size: 284 KiB |
|
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 320 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 6.4 MiB After Width: | Height: | Size: 586 KiB |
|
Before Width: | Height: | Size: 3.8 MiB After Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 457 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 363 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 289 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.6 MiB After Width: | Height: | Size: 513 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 3.0 MiB After Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 4.7 MiB After Width: | Height: | Size: 259 KiB |
|
Before Width: | Height: | Size: 3.9 MiB After Width: | Height: | Size: 276 KiB |
|
Before Width: | Height: | Size: 4.1 MiB After Width: | Height: | Size: 562 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 3.4 MiB After Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 323 KiB |
|
Before Width: | Height: | Size: 4.5 MiB After Width: | Height: | Size: 354 KiB |
|
Before Width: | Height: | Size: 778 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 387 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 231 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 46 KiB |