Files
odo/.ibm/pipelines/windows-test-script.ps1
Anand Kumar Singh dad8b6eeea fix openshift login failure (#5530)
Signed-off-by: anandrkskd <anandrkskd@gmail.com>

add login check

Signed-off-by: anandrkskd <anandrkskd@gmail.com>
2022-03-14 10:54:18 -04:00

102 lines
3.2 KiB
PowerShell

function Shout {
Write-Host "--------------------------------------------------------------------------------"
Write-Host $args[0]
Write-Host "--------------------------------------------------------------------------------"
}
function Check-ExitCode {
if ($args[0] -ne 0) {
Write-Host "ERROR: Script returned a non-zero exit code"
Pop-Location
Do-Cleanup
exit 1
}
}
function Do-Cleanup {
if (Test-Path -Path $BUILD_NUMBER) {
Shout "Removed $BUILD_NUMBER"
Remove-Item -Force -Recurse $BUILD_NUMBER
}
}
function Run-Test {
Shout "Cloning Repo"
git clone $REPO $BUILD_NUMBER
Push-Location $BUILD_NUMBER
Shout "Checkout to $GIT_PR_NUMBER"
git fetch -v origin pull/${GIT_PR_NUMBER}/head:pr${GIT_PR_NUMBER}
git checkout main
git merge pr${GIT_PR_NUMBER} --no-edit
Shout "Setup ENV variables"
mkdir bin
mkdir artifacts
$PATH = [Environment]::GetEnvironmentVariable("PATH")
$GOBIN="$(Get-Location)\bin"
[Environment]::SetEnvironmentVariable("GOBIN", "$GOBIN")
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$GOBIN")
# Set kubeconfig to current dir. This ensures no clashes with other test runs
[Environment]::SetEnvironmentVariable("KUBECONFIG","$(Get-Location)\config")
$ARTIFACT_DIR=${ARTIFACT_DIR:-"$(Get-Location)\artifacts"}
$CUSTOM_HOMEDIR=$ARTIFACT_DIR
$WORKDIR=$(Get-Location)
[Environment]::SetEnvironmentVariable("ARTIFACT_DIR",${ARTIFACT_DIR:-"$(pwd)\artifacts"})
[Environment]::SetEnvironmentVariable("CUSTOM_HOMEDIR",$ARTIFACT_DIR)
[Environment]::SetEnvironmentVariable("WORKDIR",${WORKDIR:-"$(pwd)"})
$GOCACHE="$(Get-Location)\.gocache"
mkdir $GOCACHE
[Environment]::SetEnvironmentVariable("GOCACHE", "$GOCACHE")
[Environment]::SetEnvironmentVariable("SKIP_USER_LOGIN_TESTS","true")
Shout "Login IBMcloud"
ibmcloud login --apikey ${API_KEY}
ibmcloud target -r eu-de
ibmcloud oc cluster config -c ${CLUSTER_ID}
Shout "Login Openshift"
oc login -u apikey -p ${API_KEY} ${IBM_OPENSHIFT_ENDPOINT}
Check-ExitCode $LASTEXITCODE
Shout "Create Binary"
make install
Shout "Running test"
make test-integration-devfile | tee -a C:\Users\Administrator.ANSIBLE-TEST-VS\AppData\Local\Temp\$LOGFILE
Check-ExitCode $LASTEXITCODE
make test-integration | tee -a C:\Users\Administrator.ANSIBLE-TEST-VS\AppData\Local\Temp\$LOGFILE
Check-ExitCode $LASTEXITCODE
make test-cmd-login-logout | tee -a C:\Users\Administrator.ANSIBLE-TEST-VS\AppData\Local\Temp\$LOGFILE
Check-ExitCode $LASTEXITCODE
make test-cmd-project | tee -a C:\Users\Administrator.ANSIBLE-TEST-VS\AppData\Local\Temp\$LOGFILE
Check-ExitCode $LASTEXITCODE
make test-e2e-devfile | tee -a C:\Users\Administrator.ANSIBLE-TEST-VS\AppData\Local\Temp\$LOGFILE
Check-ExitCode $LASTEXITCODE
Pop-Location
Shout "Test Finished"
}
$GIT_PR_NUMBER=$args[0]
$BUILD_NUMBER=$args[1]
$API_KEY=$args[2]
$IBM_OPENSHIFT_ENDPOINT=$args[3]
$LOGFILE=$args[4]
$REPO=$args[5]
$CLUSTER_ID=$args[6]
Shout "Args Recived"
# Pre test cleanup
Do-Cleanup
# Run test
Run-Test
# Post test cleanup
Shout "Cleanup"
Do-Cleanup