mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-11-04 08:37:30 +00:00
94 lines
3.4 KiB
YAML
94 lines
3.4 KiB
YAML
name: windows-msi-gui-test
|
|
run-name: "Windows GUI: ${{ inputs.scenario }} ${{ inputs.label }}"
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
scenario:
|
|
description: "Scenario to run (all: every scenario except the known issue update-desktop; everything: all of them)"
|
|
required: true
|
|
default: all
|
|
type: choice
|
|
options: [all, everything, uninstall-desktop, update-desktop, update-same-build, default-folder, profile-folder, appdata-folder]
|
|
label:
|
|
description: "Free text shown in the run name"
|
|
required: false
|
|
default: ""
|
|
type: string
|
|
new_msi_run_id:
|
|
description: "Id of a workflow run that uploaded the MSI under test as an artifact (empty: use new_msi_url)"
|
|
required: false
|
|
default: ""
|
|
type: string
|
|
new_msi_artifact:
|
|
description: "Name of the MSI artifact in that run"
|
|
required: false
|
|
default: "simplex-desktop-windows-x86_64-msi"
|
|
type: string
|
|
new_msi_url:
|
|
description: "URL of the new MSI when new_msi_run_id is empty"
|
|
required: false
|
|
default: "https://github.com/simplex-chat/simplex-chat/releases/download/v7.0.3/simplex-desktop-windows-x86_64.msi"
|
|
type: string
|
|
old_msi_url:
|
|
description: "URL of the old MSI (installed before updating)"
|
|
required: false
|
|
default: "https://github.com/simplex-chat/simplex-chat/releases/download/v7.0.2/simplex-desktop-windows-x86_64.msi"
|
|
type: string
|
|
patch_with_ref:
|
|
description: "Branch whose scripts/desktop/disable-msi-install-dir-wipe-windows.ps1 is applied to the new MSI (empty: no patch)"
|
|
required: false
|
|
default: ""
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
actions: read
|
|
|
|
jobs:
|
|
windows-msi-gui-test:
|
|
runs-on: windows-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Checkout test scripts
|
|
uses: actions/checkout@v4
|
|
with:
|
|
sparse-checkout: apps/multiplatform/scripts/windows-msi
|
|
|
|
- name: Checkout MSI patch script
|
|
if: inputs.patch_with_ref != ''
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ inputs.patch_with_ref }}
|
|
path: patchsrc
|
|
sparse-checkout: scripts/desktop
|
|
|
|
- name: Download new MSI from build run
|
|
if: inputs.new_msi_run_id != ''
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: ${{ inputs.new_msi_artifact }}
|
|
run-id: ${{ inputs.new_msi_run_id }}
|
|
github-token: ${{ github.token }}
|
|
path: C:\msitest\artifact
|
|
|
|
- name: Run scenarios
|
|
shell: pwsh
|
|
env:
|
|
SCENARIO: ${{ inputs.scenario }}
|
|
NEW_MSI_URL: ${{ inputs.new_msi_url }}
|
|
NEW_MSI_DIR: ${{ inputs.new_msi_run_id != '' && 'C:\msitest\artifact' || '' }}
|
|
OLD_MSI_URL: ${{ inputs.old_msi_url }}
|
|
PATCH_SCRIPT: ${{ inputs.patch_with_ref != '' && 'patchsrc\scripts\desktop\disable-msi-install-dir-wipe-windows.ps1' || '' }}
|
|
run: |
|
|
New-Item -ItemType Directory -Force C:\msitest | Out-Null
|
|
& apps/multiplatform/scripts/windows-msi/msi-scenarios.ps1 -Scenario $env:SCENARIO -NewMsiUrl $env:NEW_MSI_URL -NewMsiDir $env:NEW_MSI_DIR -OldMsiUrl $env:OLD_MSI_URL -PatchScript $env:PATCH_SCRIPT
|
|
|
|
- name: Upload evidence
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: windows-gui-evidence
|
|
path: C:\msitest\evidence
|
|
retention-days: 30
|