Signed-off-by: Karishma Punwatkar <[email protected]> #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |