fix: cicd

This commit is contained in:
Benjamin Labrecque
2026-07-30 12:01:25 +02:00
parent 2ea424bade
commit af606047db
2 changed files with 52 additions and 11 deletions
+29
View File
@@ -0,0 +1,29 @@
#!/bin/bash
SERVICE_NAME=$1
AGEBD_ENV=$2
SERVICE_NAME_LOWER=$(echo "$SERVICE_NAME" | tr '[:upper:]' '[:lower:]')
SERVICE_NAME_UPPER=$(echo "$SERVICE_NAME" | tr '[:lower:]' '[:upper:]')
SERVICE_DIR=/sls/bd/hla/${AGEBD_ENV}/services/${SERVICE_NAME_LOWER}/current
SYSTEMD_UNIT_NAME=AGEBD-SERVICE-${SERVICE_NAME_UPPER}.service
SYSTEMD_UNIT_FILE_PATH=${SERVICE_DIR}/systemd/${SYSTEMD_UNIT_NAME}
mkdir -p ${SERVICE_DIR}
rsync -avz --delete --exclude='.venv' \
./services/${SERVICE_NAME_LOWER}/current/ \
${SERVICE_DIR}/
if [ -f "${SYSTEMD_UNIT_FILE_PATH}" ]; then
sed -i "s/{{ *agebd_env* }}/${AGEBD_ENV}/g" "${SYSTEMD_UNIT_FILE_PATH}"
fi
mkdir -p ${HOME}/.config/systemd/user
ln -sf "${SYSTEMD_UNIT_FILE_PATH}" "${HOME}/.config/systemd/user/${SYSTEMD_UNIT_NAME}"
export XDG_RUNTIME_DIR="/run/user/\$(id -u)"
systemctl --user daemon-reload
systemctl --user enable "${SYSTEMD_UNIT_NAME}"
systemctl --user restart "${SYSTEMD_UNIT_NAME}"
+23 -11
View File
@@ -123,15 +123,27 @@ jobs:
echo "matrix=$SERVICES" >> $GITHUB_OUTPUT
deploy-services:
name: "Deploy Service (${{ matrix.service }})"
needs: detect-changed-services
if: ${{ needs.detect-changed-services.outputs.matrix != '[]' }}
strategy:
fail-fast: false
matrix:
service: ${{ fromJson(needs.detect-changed-services.outputs.matrix) }}
uses: ./.gitea/workflows/deploy-service.yml
with:
service_name: ${{ matrix.service }}
environment: ${{ env.AGEBD_ENV }}
runs-on: hla-dev
if: needs.detect-changed-services.outputs.matrix != '[]' && needs.detect-changed-services.outputs.matrix != ''
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Deploy Changed Services
run: |
# Parse JSON array produced by detect-changed-services
SERVICES_JSON='${{ needs.detect-changed-services.outputs.matrix }}'
echo "Services to deploy: $SERVICES_JSON"
# Iterate over each service and deploy
echo "$SERVICES_JSON" | jq -r '.[]' | while read -r SERVICE; do
if [ -z "$SERVICE" ]; then continue; fi
echo "=========================================="
echo "Deploying service: $SERVICE (${{ env.AGEBD_ENV }})"
echo "=========================================="
./.gitea/scripts/deploy-service.sh ${SERVICE} ${{ env.AGEBD_ENV }}
done