From 0d84c55c804076aa69a3b71fea3c27e9834b1a99 Mon Sep 17 00:00:00 2001 From: gitea Date: Thu, 10 Apr 2025 16:56:02 +0000 Subject: [PATCH] update gitea action --- .../odoo-restore-open_workshop_install.yaml | 55 ++++++++++++++----- 1 file changed, 42 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/odoo-restore-open_workshop_install.yaml b/.gitea/workflows/odoo-restore-open_workshop_install.yaml index 2ce12e8..45898ab 100644 --- a/.gitea/workflows/odoo-restore-open_workshop_install.yaml +++ b/.gitea/workflows/odoo-restore-open_workshop_install.yaml @@ -4,8 +4,8 @@ on: - cron: "21 5 * * *" # Dieser Job wird täglich um 05:21 Uhr UTC ausgeführt. push: branches: - - main -# workflow_dispatch: + - 13.0_dev + env: URL_BACKUP: https://odoo.lan.hobbyhimmel.de @@ -19,7 +19,19 @@ jobs: - name: Checkout the repository # Dieser Schritt holt den Code des Repositories in die Action-Umgebung. # Dies ist notwendig, um auf Dateien im Repository wie Skripte oder Konfigurationen zugreifen zu können. - uses: actions/checkout@v3 + uses: actions/checkout@v4 + + - name: Load environment variables from .env + run: | + set -a + source .env + set +a + # Schreibe die Variablen in $GITHUB_ENV für die Verwendung in der YAML + while IFS= read -r line; do + if [[ ! -z "$line" && "$line" != \#* ]]; then + echo "$line" >> $GITHUB_ENV + fi + done < .env - name: Set up Docker container # Dieser Schritt startet einen Docker-Container basierend auf dem "ubuntu:latest" Image. @@ -67,7 +79,7 @@ jobs: - name: Run the restore script in Docker container # In diesem Schritt wird das Skript `odoo-restore.sh` in den Container kopiert und dort ausgeführt. - # Die für das Skript notwendigen Umgebungsvariablen (wie z.B. ... ) werden mitgegeben. + # Die für das Skript notwendigen Umgebungsvariablen werden mitgegeben. # Das Skript entpackt das Backup-Archiv. # Das Skript löscht die bisherige Datenbank und fügt die neue Datenbank wieder ein. # Anschließend wird das Odoo filestore wiederhergestellt. @@ -78,13 +90,14 @@ jobs: -e sftp_user=${{ secrets.SFTP_USER }} \ -e sftp_password=${{ secrets.SFTP_PASSWD }} \ ${{ github.workflow }} /bin/bash -c "bash /root/odoo-restore.sh '${{ env.URL_RESTORE }}'" - #-name: Uninstall vvow_pos - # In diesem Schritt wird das Modul `vvow_pos` deinstalliert, um sicherzustellen, dass es keine Konflikte mit der neuen Datenbank gibt. - + - name: Uninstall vvow_pos + # TODO: In diesem Schritt wird das Modul `vvow_pos` deinstalliert, um sicherzustellen, dass es keine Konflikte mit der neuen Datenbank gibt. + # Dies geschieht durch den Aufruf des Odoo-CLI-Befehls `odoo-bin` mit den entsprechenden Parametern. + # Der Befehl wird im Docker-Container ausgeführt - name: Clone or update custom_addons open_workshop repository working-directory: . run: | - docker exec ${{ github.repository_owner }}_${{ env.CONTAINER_NAME }}_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " + docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " git config --global pull.ff only && \ if [ ! -d /home/odoo/custom_addons/open_workshop ]; then git clone https://gitea:${{ secrets.BUILD_ACTION }}@gitea.lan.hobbyhimmel.de/hobbyhimmel/open_workshop.git /home/odoo/custom_addons/open_workshop; @@ -93,15 +106,31 @@ jobs: cd /home/odoo/custom_addons/open_workshop && git fetch && git checkout ${{ env.ODOO_VERSION }}_dev && git pull; fi" - -name: Fix Database hobbyhimmel with fix_missing_pos_partner.py + - name: Fix Database hobbyhimmel with fix_missing_pos_partner.py # In diesem Schritt wird das Skript `fix_missing_pos_partner.py` ausgeführt, um sicherzustellen, dass alle Partner in der Datenbank korrekt sind. + run: | + docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " + cd /home/odoo/custom_addons/open_workshop/scripts && \ + /opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < fix_missing_pos_partner.py" - -name: Install open_workshop + - name: Uninstall vvow_pos + docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " + cd /home/odoo/custom_addons/open_workshop/scripts && \ + /opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < uninstall_vvow_pos.py" + + - name: Install open_workshop # Install open_workshop and run necessary migrations + run: | + docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " + /opt/odoo/odoo/odoo-bin -d ${{ env.DB_NAME}} -i open_workshop --stop-after-init &&\ + docker restart hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }}"" - -name: Restart Docker Container - - -name: Uninstall vvow_einweisungen + - name: Uninstall vvow_einweisungen + run: | + docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " + cd /home/odoo/custom_addons/open_workshop/scripts && \ + /opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < uninstall_vvow_einwweisungen.py &&\ + docker restart hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }}" - name: Stop and remove Docker container # Nachdem das Backup abgeschlossen ist, wird der Docker-Container gestoppt und entfernt,