name: GUI Version Release on: push: branches: [ master ] jobs: gui-version-release: runs-on: windows steps: # Step 0: Checkout code - name: Checkout code uses: actions/checkout@v4 # 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 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 }}" # 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 (-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: Display summary - name: Display summary if: always() shell: powershell run: | $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 "==========================================" }