-
Operating system
Fedora 21 and above (64-bit only)
-
Install Node.js 12 or 14 and above
sudo dnf install nodejs
OR
sudo dnf install npm # also installs nodejs
-
Upgrade Node to 12 or 14 or above
sudo npm install -g n
-
Clone automation repository
git clone https://github.com/konveyor/tackle-ui-tests.git
-
Go to folder and install
cd tackle-ui-tests
npm install .
-
Open Cypress and run test cases
npx cypress open
Some tests require certain configuration parameters to be correctly defined in the cypress.config.ts
file.
Below is a list of tests and the parameters they require.
export_to_jira_datacenter.test.ts
jira_stage_datacenter_project_id
jira_stage_bearer_token
jira_stage_datacenter_url
export_to_jira_cloud.test.ts
jira_atlassian_cloud_project
jira_atlassian_cloud_email
jira_atlassian_cloud_token
jira_atlassian_cloud_url
source_analysis.test.ts
& binary_analysis.test.ts
git_user
git_password
-
Format code
npm run format
-
Check formatting
npm run check
- Update Pull request with upstream main branch
- Pull requests will be tested against environment before merging to main codebase
- Pull request's owner must add RFR label once pull request is ready to test against environment
- After adding 'RFR' label; Owner should force push the pull request to trigger GitHub action
- In some cases, reviewer wants to trigger the PR test GH action but he/she can't force push the branch. Hence added feature of triggering GH action manually. Steps to trigger GH action for PR testing manually :- Go to Actions tab > Click on GH action(Pull request test) > Click on run workflow dropdown > select PR branch > Click on button Run workflow
This repository uses the package cypress-tags to slice up test runs.
-
To run tests based on tags, use below command
CYPRESS_INCLUDE_TAGS=@tagName npx cypress run
-
To run multiple tags(tiers) in a single run, provide tag names separated by commas
CYPRESS_INCLUDE_TAGS=@tier1,@tier2 npx cypress run
-
Install minikube on your local machine by referring to docs
-
Start minikube by specifying needed addons and kubernetes version using below command
minikube start --addons=registry --addons=ingress --kubernetes-version v1.20.2
-
Create new namespace for deploying Tackle UI
kubectl create ns $tackleNamespace
-
Save the yaml from tackle repo locally, eg - /tmp/tackle/tackle.yaml
kubectl create -f /tmp/tackle/tackle.yaml -n $tackleNamespace
-
Wait for some time to let deployment finish and extract the Tackle UI web page url (typically an IP) using command -
kubectl get ingress tackle --template="{{range .status.loadBalancer.ingress}}{{.ip}}{{end}}" -n $tackleNamespace
-
Once the Tackle UI is running on above address, tests can be run against this local instance using below command -
npx cypress run --config video=false --browser /path/to/your/browser
To check if the license's header is available in all eligible files, execute:
yarn license-check-and-add check
To add the license's header to all eligible files, execute:
yarn license-check-and-add add
Refer to Konveyor's Code of Conduct here.