Skip to content

Implemented uninstall parameter flag for install.ps1 script for Windows #187

Implemented uninstall parameter flag for install.ps1 script for Windows

Implemented uninstall parameter flag for install.ps1 script for Windows #187

Workflow file for this run

name: Install MetaCall on Windows Test
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
install-default:
name: Install MetaCall via Default Installation
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install MetaCall
shell: cmd
env:
METACALL_INSTALL_DEBUG: 1
run: |
powershell -NoProfile -ExecutionPolicy unrestricted ./install.ps1
- name: NodeJS Test
shell: cmd
run: |
metacall ./test/script.js | findstr "123456"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Python Test
shell: cmd
run: |
metacall pip install -r test/requirements.txt | findstr "Successfully installed"
IF %ERRORLEVEL% NEQ 0 exit /B 1
metacall ./test/requirements.py | findstr "123456"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Deploy & FaaS Test
shell: cmd
run: |
metacall deploy --version | findstr /R "^v.*\..*\..*"
IF %ERRORLEVEL% NEQ 0 exit /B 1
metacall faas --version | findstr /R "^v.*\..*\..*"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Uninstall MetaCall
shell: cmd
env:
METACALL_INSTALL_DEBUG: 1
run: |
powershell -NoProfile -ExecutionPolicy unrestricted ./install.ps1 -Uninstall
- name: Uninstall Test
shell: pwsh
run: |
$MetaCallPath = "$env:LocalAppData\MetaCall"
Write-Output "Checking MetaCall installation directory: $MetaCallPath"
If (Test-Path $MetaCallPath) {
Write-Error "MetaCall installation directory still exists"
exit 1
}
$MetaCallBinary = (Get-Command metacall -ErrorAction SilentlyContinue)
If ($MetaCallBinary) {
Write-Error "MetaCall binary is still available"
exit 2
}
Write-Output "Uninstall verification passed."
install-from-path:
name: Install MetaCall via Path Installation
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Download Tarball
shell: pwsh
run: |
$request = Invoke-WebRequest -UseBasicParsing -Method Head -Uri https://github.com/metacall/distributable-windows/releases/latest
$redirectUri = $request.BaseResponse.RequestMessage.RequestUri
$version = $redirectUri.Segments[$redirectUri.Segments.Count - 1]
$url = "https://github.com/metacall/distributable-windows/releases/download/$version/metacall-tarball-win-x64.zip"
Invoke-WebRequest $url -OutFile metacall-tarball-win-x64.zip
- name: Install MetaCall
shell: cmd
env:
METACALL_INSTALL_DEBUG: 1
run: |
powershell -NoProfile -ExecutionPolicy unrestricted ./install.ps1 -FromPath metacall-tarball-win-x64.zip
- name: NodeJS Test
shell: cmd
run: |
metacall ./test/script.js | findstr "123456"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Python Test
shell: cmd
run: |
metacall pip install -r test/requirements.txt | findstr "Successfully installed"
IF %ERRORLEVEL% NEQ 0 exit /B 1
metacall ./test/requirements.py | findstr "123456"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Deploy & FaaS Test
shell: cmd
run: |
metacall deploy --version | findstr /R "^v.*\..*\..*"
IF %ERRORLEVEL% NEQ 0 exit /B 1
metacall faas --version | findstr /R "^v.*\..*\..*"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Uninstall MetaCall
shell: cmd
env:
METACALL_INSTALL_DEBUG: 1
run: |
powershell -NoProfile -ExecutionPolicy unrestricted ./install.ps1 -Uninstall
- name: Uninstall Test
shell: pwsh
run: |
$MetaCallPath = "$env:LocalAppData\MetaCall"
Write-Output "Checking MetaCall installation directory: $MetaCallPath"
If (Test-Path $MetaCallPath) {
Write-Error "MetaCall installation directory still exists"
exit 1
}
$MetaCallBinary = (Get-Command metacall -ErrorAction SilentlyContinue)
If ($MetaCallBinary) {
Write-Error "MetaCall binary is still available"
exit 2
}
Write-Output "Uninstall verification passed."
install-path-with-whitespaces:
name: Install MetaCall via Path With Whitespaces
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Create install folder
shell: cmd
run: |
mkdir "install folder with spaces"
- name: Install MetaCall
shell: cmd
env:
METACALL_INSTALL_DEBUG: 1
run: |
powershell -NoProfile -ExecutionPolicy unrestricted ./install.ps1 -InstallDir '%cd%\install folder with spaces'
- name: Install Test
shell: cmd
run: |
dir "%cd%\install folder with spaces"
- name: NodeJS Test
shell: cmd
run: |
metacall ./test/script.js | findstr "123456"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Python Test
shell: cmd
run: |
metacall pip install -r test/requirements.txt | findstr "Successfully installed"
IF %ERRORLEVEL% NEQ 0 exit /B 1
metacall ./test/requirements.py | findstr "123456"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Deploy & FaaS Test
shell: cmd
run: |
metacall deploy --version | findstr /R "^v.*\..*\..*"
IF %ERRORLEVEL% NEQ 0 exit /B 1
metacall faas --version | findstr /R "^v.*\..*\..*"
IF %ERRORLEVEL% NEQ 0 exit /B 1
- name: Uninstall MetaCall
shell: cmd
env:
METACALL_INSTALL_DEBUG: 1
run: |
powershell -NoProfile -ExecutionPolicy unrestricted ./install.ps1 -Uninstall -InstallDir '%cd%\install folder with spaces'
- name: Uninstall Test
shell: pwsh
run: |
$MetaCallPath = "$env:LocalAppData\MetaCall"
Write-Output "Checking MetaCall installation directory: $MetaCallPath"
If (Test-Path $MetaCallPath) {
Write-Error "MetaCall installation directory still exists"
exit 1
}
$MetaCallBinary = (Get-Command metacall -ErrorAction SilentlyContinue)
If ($MetaCallBinary) {
Write-Error "MetaCall binary is still available"
exit 2
}
Write-Output "Uninstall verification passed."