52 lines
2.0 KiB
YAML
52 lines
2.0 KiB
YAML
# 在 Windows 上测试 start.ps1(DRY_RUN 模式,不启动 Docker)
|
||
name: Test start.ps1 (Windows)
|
||
|
||
on:
|
||
push:
|
||
paths:
|
||
- 'start.ps1'
|
||
- 'update.ps1'
|
||
- 'scripts/Initialize-PublicApiBaseUrl.ps1'
|
||
- 'scripts/Test-PublicApiBaseUrl.ps1'
|
||
- '.env.sample'
|
||
- '.github/workflows/test-start-ps1.yml'
|
||
pull_request:
|
||
paths:
|
||
- 'start.ps1'
|
||
- 'update.ps1'
|
||
- 'scripts/Initialize-PublicApiBaseUrl.ps1'
|
||
- 'scripts/Test-PublicApiBaseUrl.ps1'
|
||
- '.env.sample'
|
||
- '.github/workflows/test-start-ps1.yml'
|
||
workflow_dispatch:
|
||
|
||
jobs:
|
||
test-windows:
|
||
runs-on: windows-latest
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
|
||
- name: Run start.ps1 (DRY_RUN)
|
||
env:
|
||
DEPLOY_DRY_RUN: "1"
|
||
DEPLOY_IP: "192.168.1.100"
|
||
run: |
|
||
(Get-Content .env.sample) -replace '^SERVER_HTTP_PORT=.*$', 'SERVER_HTTP_PORT=4100' | Set-Content .env.sample -Encoding UTF8
|
||
powershell -ExecutionPolicy Bypass -File .\start.ps1
|
||
|
||
- name: Verify .env
|
||
run: |
|
||
$api = Select-String -Path .env -Pattern '^NUXT_PUBLIC_BASE_APIURL=' | ForEach-Object { $_.Line }
|
||
$socket = Select-String -Path .env -Pattern '^NUXT_PUBLIC_BASE_SOCKETURL=' | ForEach-Object { $_.Line }
|
||
$sg = Select-String -Path .env -Pattern '^NUXT_PUBLIC_SG_APIURL=' | ForEach-Object { $_.Line }
|
||
$publicApi = Select-String -Path .env -Pattern '^CONFIG_PUBLIC_API_BASE_URL=' | ForEach-Object { $_.Line }
|
||
if ($api -ne 'NUXT_PUBLIC_BASE_APIURL=http://192.168.1.100:4100') { exit 1 }
|
||
if ($socket -ne 'NUXT_PUBLIC_BASE_SOCKETURL=ws://192.168.1.100:3002') { exit 1 }
|
||
if ($sg -ne 'NUXT_PUBLIC_SG_APIURL=http://192.168.1.100:3003') { exit 1 }
|
||
if ($publicApi -ne 'CONFIG_PUBLIC_API_BASE_URL=http://192.168.1.100:4100') { exit 1 }
|
||
Write-Host "OK: .env 配置正确"
|
||
|
||
- name: Test public API URL migration helper
|
||
run: |
|
||
powershell -ExecutionPolicy Bypass -File .\scripts\Test-PublicApiBaseUrl.ps1
|