| 123456789101112131415161718192021222324252627282930313233343536 |
- name: "Install exe"
- description: "Download and install exe"
- inputs:
- url:
- description: "URL of the exe installer"
- required: true
- args:
- description: "Installer arguments"
- required: true
- timeout:
- description: "Timeout (in ms)"
- required: false
- default: "600000"
- runs:
- using: "composite"
- steps:
- - name: Install EXE
- shell: pwsh
- run: |
- $ErrorActionPreference = "Stop"
- write-host "Downloading Installer EXE"
- Invoke-WebRequest -Uri "${{ inputs.url }}" -OutFile "${env:RUNNER_TEMP}\temp-install.exe"
- write-host "Installing"
- $proc = Start-Process "${env:RUNNER_TEMP}\temp-install.exe" -ArgumentList '${{ inputs.args }}' -NoNewWindow -PassThru
- $completed = $proc.WaitForExit(${{ inputs.timeout }})
- if (-not $completed) {
- Write-Error "Installer timed out. Killing the process"
- $proc.Kill()
- exit 1
- }
- if ($proc.ExitCode -ne 0) {
- Write-Error "Installer failed with exit code $($proc.ExitCode)"
- exit 1
- }
- write-host "Completed installation"
|