From 497f0a37198adc8e70db3ecd49d9c55f00184d1c Mon Sep 17 00:00:00 2001 From: jjz <3082705704@qq.com> Date: Thu, 9 Oct 2025 16:23:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9ci/cd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/gui-version-release.yml | 133 +++++++++++++++++------ 1 file changed, 99 insertions(+), 34 deletions(-) diff --git a/.gitea/workflows/gui-version-release.yml b/.gitea/workflows/gui-version-release.yml index d63c6a1..13b0e3c 100644 --- a/.gitea/workflows/gui-version-release.yml +++ b/.gitea/workflows/gui-version-release.yml @@ -9,64 +9,129 @@ jobs: runs-on: windows steps: - # Step 1: Checkout code - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 2 - - # Step 2: Setup Python environment - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: '3.11' - + # Step 1: Check working directory + - name: Check working environment + shell: powershell + run: | + Write-Host "Current working directory:" + Get-Location + Write-Host "Directory contents:" + Get-ChildItem + Write-Host "Git status:" + try { + git status + } catch { + Write-Host "Not a git repository" + } + + # Step 2: Check Python environment + - name: Check Python environment + shell: powershell + run: | + Write-Host "Python version:" + try { + python --version + } catch { + Write-Host "Python not installed" + } + Write-Host "Pip version:" + try { + pip --version + } catch { + Write-Host "Pip not installed" + } + # Step 3: Install dependencies - name: Install dependencies shell: powershell run: | + Write-Host "Installing psycopg2-binary..." + python -m pip install --upgrade pip + if ($LASTEXITCODE -ne 0) { + Write-Host "Failed to upgrade pip" + exit 1 + } + pip install psycopg2-binary + if ($LASTEXITCODE -ne 0) { + Write-Host "Failed to install psycopg2-binary" + exit 1 + } + Write-Host "Dependencies installed successfully" # Step 4: Create GUI version record - name: Create version record id: create_version shell: powershell - env: - DB_HOST: 8.155.9.53 - DB_PORT: 5400 - DB_NAME: ai_web - DB_USER: user_emKCAb - DB_PASSWORD: password_ee2iQ3 run: | Write-Host "Starting GUI version release process..." Write-Host "Commit hash: ${{ github.sha }}" Write-Host "Commit author: ${{ github.actor }}" Write-Host "Branch: ${{ github.ref_name }}" - Write-Host "Database: $env:DB_NAME @ $env:DB_HOST" - python .gitea/scripts/gui_version_creator.py + # Retry mechanism: maximum 3 attempts + $SUCCESS = $false + for ($i = 1; $i -le 3; $i++) { + Write-Host "Attempt $i to create version record..." + + python .gitea/scripts/gui_version_creator.py + if ($LASTEXITCODE -eq 0) { + Write-Host "Version record created successfully" + $SUCCESS = $true + break + } else { + Write-Host "Attempt $i failed" + if ($i -eq 3) { + Write-Host "All 3 attempts failed" + } else { + Write-Host "Waiting 5 seconds before retry..." + Start-Sleep -Seconds 5 + } + } + } - if ($LASTEXITCODE -eq 0) { - Write-Host "Version record created successfully" - } else { - Write-Host "Failed to create version record" + if (-not $SUCCESS) { + Write-Host "Version creation failed" exit 1 } + env: + DB_HOST: 8.155.9.53 + DB_NAME: ai_web + DB_USER: user_emKCAb + DB_PASSWORD: password_ee2iQ3 + DB_PORT: 5400 - # Step 5: Show summary + # Step 5: Display summary - name: Display summary if: always() shell: powershell run: | - Write-Host "==========================================" - Write-Host "GUI Version Release Summary" - Write-Host "==========================================" - Write-Host "Author: ${{ github.actor }}" - Write-Host "Branch: ${{ github.ref_name }}" - Write-Host "Commit: ${{ github.sha }}" - Write-Host "Time: $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')" - Write-Host "Status: ${{ job.status }}" - Write-Host "==========================================" + $summaryFile = $env:GITHUB_STEP_SUMMARY + if ($summaryFile) { + "## GUI Version Release Summary" | Out-File -FilePath $summaryFile -Append -Encoding UTF8 + "" | Out-File -FilePath $summaryFile -Append -Encoding UTF8 + + if ("${{ job.status }}" -eq "success") { + "**Status**: Version release succeeded" | Out-File -FilePath $summaryFile -Append -Encoding UTF8 + } else { + "**Status**: Version release failed" | Out-File -FilePath $summaryFile -Append -Encoding UTF8 + } + + "**Author**: ${{ github.actor }}" | Out-File -FilePath $summaryFile -Append -Encoding UTF8 + "**Branch**: ${{ github.ref_name }}" | Out-File -FilePath $summaryFile -Append -Encoding UTF8 + "**Time**: $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')" | Out-File -FilePath $summaryFile -Append -Encoding UTF8 + "**Commit**: ${{ github.sha }}" | Out-File -FilePath $summaryFile -Append -Encoding UTF8 + } else { + Write-Host "==========================================" + Write-Host "GUI Version Release Summary" + Write-Host "==========================================" + Write-Host "Author: ${{ github.actor }}" + Write-Host "Branch: ${{ github.ref_name }}" + Write-Host "Time: $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')" + Write-Host "Commit: ${{ github.sha }}" + Write-Host "Status: ${{ job.status }}" + Write-Host "==========================================" + }