Skip to content

Signed-off-by: Karishma Punwatkar <[email protected]> #3

Signed-off-by: Karishma Punwatkar <[email protected]>

Signed-off-by: Karishma Punwatkar <[email protected]> #3

Workflow file for this run

name: Regression tests CI
on:
push:
branches:
- main
jobs:
k8s-tier1:
runs-on: ubuntu-latest
strategy:
matrix:
kubernetes_version: [v1.19.14]
steps:
- name: Checkout tackle
uses: actions/checkout@v2
with:
repository: konveyor/tackle
path: tackle
- name: Setup Minikube
uses: manusa/[email protected]
with:
minikube version: v1.22.0
kubernetes version: ${{ matrix.kubernetes_version }}
start args: "--addons=registry --addons=ingress"
- name: Validate Minikube
run: minikube status | grep Running
- name: Validate Cluster
run: kubectl get nodes
- name: Validate enabled addon in arg
run: minikube addons list -o json | jq '.registry.Status' | grep enabled
- name: Kubectl enable addons ingress
run: minikube addons enable ingress
- name: Kubectl enable addons registry
run: minikube addons enable registry
- name: Validate Minikube
run: minikube status | grep Running
- name: Validate enabled addon in arg
run: minikube addons list -o json | jq '.registry.Status' | grep enabled
- name: Validate Cluster
run: kubectl get nodes
- name: Kubectl enable addons
run: minikube addons enable dashboard
- name: Kubectl enable olm
run: minikube addons enable olm
- name: Deploy CRD
run: kubectl apply -f https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/master/deploy/upstream/quickstart/crds.yaml
- name: Deploy OLM
run: kubectl apply -f https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/master/deploy/upstream/quickstart/olm.yaml
- name: Deploy k8s
run: kubectl apply -f https://raw.githubusercontent.com/konveyor/tackle2-operator/main/tackle-k8s.yaml
- name: Sleep
run: sleep 150s
shell: bash
- name: Create CRD
run: kubectl apply -f https://raw.githubusercontent.com/sshveta/tackle-ui-tests/test_prt/.github/install_tackle2_crd.yaml
- name: Wait for pods to be ready.
run: sleep 150s
shell: bash
- name: Check pod status
run: kubectl get pods -n konveyor-tackle
- name: Verify hub
run: kubectl wait deployment/tackle-hub --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify keycloack-controls
run: kubectl wait deployment/tackle-keycloak-postgresql --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-keycloack-sso
run: kubectl wait deployment/tackle-keycloak-sso --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-operator
run: kubectl wait deployment/tackle-operator --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify pathfinder
run: kubectl wait deployment/tackle-pathfinder --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-pathfinder-postgresql
run: kubectl wait deployment/tackle-pathfinder-postgresql --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-ui
run: kubectl wait deployment/tackle-ui --for condition=available --timeout=-1s -n konveyor-tackle
- name: Wait for Ingress
shell: bash
run: |
bash -c 'external_ip="";
echo $external_ip;
while [[ -z $external_ip ]]
do
echo "Waiting for end point..."
external_ip=$(kubectl get ingress tackle --template="{{range.status.loadBalancer.ingress}}{{.ip}}{{end}}" -n konveyor-tackle);[[ -z $external_ip ]] &&
echo $external_ip;
sleep 10;
done
echo "End point ready:" &&
echo $external_ip;
export endpoint=$(minikube ip);
echo "CYPRESS_tackleUrl=https://$endpoint" >>$GITHUB_ENV'
- name: Checkout to branch
uses: actions/checkout@v2
- name: Install NPM
run: npm install .
- name: Run cypress login test
run: npx cypress run --spec "cypress/e2e/tests/login.test.ts" --env user="admin",pass="password",tackleUrl=${{ env.CYPRESS_tackleUrl }}
- name: Run Tier1 test cases
run: |
npx cypress run --spec **/*.test.ts --env grepTags=@tier1,user=admin,pass=Dog8code,tackleUrl=${{ env.CYPRESS_tackleUrl }}
k8s-tier2:
runs-on: ubuntu-latest
strategy:
matrix:
kubernetes_version: [v1.20.10]
steps:
- name: Checkout tackle
uses: actions/checkout@v2
with:
repository: konveyor/tackle
path: tackle
- name: Setup Minikube
uses: manusa/[email protected]
with:
minikube version: v1.22.0
kubernetes version: ${{ matrix.kubernetes_version }}
start args: "--addons=registry --addons=ingress"
- name: Validate Minikube
run: minikube status | grep Running
- name: Validate Cluster
run: kubectl get nodes
- name: Validate enabled addon in arg
run: minikube addons list -o json | jq '.registry.Status' | grep enabled
- name: Kubectl enable addons ingress
run: minikube addons enable ingress
- name: Kubectl enable addons registry
run: minikube addons enable registry
- name: Validate Minikube
run: minikube status | grep Running
- name: Validate enabled addon in arg
run: minikube addons list -o json | jq '.registry.Status' | grep enabled
- name: Validate Cluster
run: kubectl get nodes
- name: Kubectl enable addons
run: minikube addons enable dashboard
- name: Kubectl enable olm
run: minikube addons enable olm
- name: Deploy CRD
run: kubectl apply -f https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/master/deploy/upstream/quickstart/crds.yaml
- name: Deploy OLM
run: kubectl apply -f https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/master/deploy/upstream/quickstart/olm.yaml
- name: Deploy k8s
run: kubectl apply -f https://raw.githubusercontent.com/konveyor/tackle2-operator/main/tackle-k8s.yaml
- name: Sleep
run: sleep 150s
shell: bash
- name: Create CRD
run: kubectl apply -f https://raw.githubusercontent.com/sshveta/tackle-ui-tests/test_prt/.github/install_tackle2_crd.yaml
- name: Wait for pods to be ready.
run: sleep 150s
shell: bash
- name: Check pod status
run: kubectl get pods -n konveyor-tackle
- name: Verify hub
run: kubectl wait deployment/tackle-hub --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify keycloack-controls
run: kubectl wait deployment/tackle-keycloak-postgresql --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-keycloack-sso
run: kubectl wait deployment/tackle-keycloak-sso --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-operator
run: kubectl wait deployment/tackle-operator --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify pathfinder
run: kubectl wait deployment/tackle-pathfinder --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-pathfinder-postgresql
run: kubectl wait deployment/tackle-pathfinder-postgresql --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-ui
run: kubectl wait deployment/tackle-ui --for condition=available --timeout=-1s -n konveyor-tackle
- name: Wait for Ingress
shell: bash
run: |
bash -c 'external_ip="";
echo $external_ip;
while [[ -z $external_ip ]]
do
echo "Waiting for end point..."
external_ip=$(kubectl get ingress tackle --template="{{range.status.loadBalancer.ingress}}{{.ip}}{{end}}" -n konveyor-tackle);[[ -z $external_ip ]] &&
echo $external_ip;
sleep 10;
done
echo "End point ready:" &&
echo $external_ip;
export endpoint=$(minikube ip);
echo "CYPRESS_tackleUrl=https://$endpoint" >>$GITHUB_ENV'
- name: Checkout to branch
uses: actions/checkout@v2
- name: Install NPM
run: npm install .
- name: Run cypress login test
run: npx cypress run --spec "cypress/e2e/tests/login.test.ts" --env user="admin",pass="password",tackleUrl=${{ env.CYPRESS_tackleUrl }}
- name: Run Tier2 test cases
run: |
npx cypress run --spec **/*.test.ts --env grepTags=@tier2,user=admin,pass=Dog8code,tackleUrl=${{ env.CYPRESS_tackleUrl }}
k8s-tier3:
runs-on: ubuntu-latest
strategy:
matrix:
kubernetes_version: [v1.21.4]
steps:
- name: Checkout tackle
uses: actions/checkout@v2
with:
repository: konveyor/tackle
path: tackle
- name: Setup Minikube
uses: manusa/[email protected]
with:
minikube version: v1.22.0
kubernetes version: ${{ matrix.kubernetes_version }}
start args: "--addons=registry --addons=ingress"
- name: Validate Minikube
run: minikube status | grep Running
- name: Validate Cluster
run: kubectl get nodes
- name: Validate enabled addon in arg
run: minikube addons list -o json | jq '.registry.Status' | grep enabled
- name: Kubectl enable addons ingress
run: minikube addons enable ingress
- name: Kubectl enable addons registry
run: minikube addons enable registry
- name: Validate Minikube
run: minikube status | grep Running
- name: Validate enabled addon in arg
run: minikube addons list -o json | jq '.registry.Status' | grep enabled
- name: Validate Cluster
run: kubectl get nodes
- name: Kubectl enable addons
run: minikube addons enable dashboard
- name: Kubectl enable olm
run: minikube addons enable olm
- name: Deploy CRD
run: kubectl apply -f https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/master/deploy/upstream/quickstart/crds.yaml
- name: Deploy OLM
run: kubectl apply -f https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/master/deploy/upstream/quickstart/olm.yaml
- name: Deploy k8s
run: kubectl apply -f https://raw.githubusercontent.com/konveyor/tackle2-operator/main/tackle-k8s.yaml
- name: Sleep
run: sleep 150s
shell: bash
- name: Create CRD
run: kubectl apply -f https://raw.githubusercontent.com/sshveta/tackle-ui-tests/test_prt/.github/install_tackle2_crd.yaml
- name: Wait for pods to be ready.
run: sleep 150s
shell: bash
- name: Check pod status
run: kubectl get pods -n konveyor-tackle
- name: Verify hub
run: kubectl wait deployment/tackle-hub --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify keycloack-controls
run: kubectl wait deployment/tackle-keycloak-postgresql --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-keycloack-sso
run: kubectl wait deployment/tackle-keycloak-sso --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-operator
run: kubectl wait deployment/tackle-operator --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify pathfinder
run: kubectl wait deployment/tackle-pathfinder --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-pathfinder-postgresql
run: kubectl wait deployment/tackle-pathfinder-postgresql --for condition=available --timeout=-1s -n konveyor-tackle
- name: Verify tackle-ui
run: kubectl wait deployment/tackle-ui --for condition=available --timeout=-1s -n konveyor-tackle
- name: Wait for Ingress
shell: bash
run: |
bash -c 'external_ip="";
echo $external_ip;
while [[ -z $external_ip ]]
do
echo "Waiting for end point..."
external_ip=$(kubectl get ingress tackle --template="{{range.status.loadBalancer.ingress}}{{.ip}}{{end}}" -n konveyor-tackle);[[ -z $external_ip ]] &&
echo $external_ip;
sleep 10;
done
echo "End point ready:" &&
echo $external_ip;
export endpoint=$(minikube ip);
echo "CYPRESS_tackleUrl=https://$endpoint" >>$GITHUB_ENV'
- name: Checkout to branch
uses: actions/checkout@v2
- name: Install NPM
run: npm install .
- name: Run cypress login test
run: npx cypress run --spec "cypress/e2e/tests/login.test.ts" --env user="admin",pass="password",tackleUrl=${{ env.CYPRESS_tackleUrl }}
- name: Run Tier3 test cases
run: |
npx cypress run --spec **/*.test.ts --env grepTags=@tier3,user=admin,pass=Dog8code,tackleUrl=${{ env.CYPRESS_tackleUrl }}