testing
Project description
Facile GitLab Helper
This library provides help to microservices inside gitLab C.I pipelines, integrating different repositories within different pipelines and projects.
Getting Started
Open the terminal and install the given library:
pip install facile-gitlab-trigger
Execute the command below to make sure the library has been installed correctly:
facile-trigger --help
The list of commands below should be displayed:
usage: facile-trigger -a GITLAB_API_TOKEN [-h GIT_LAB_HOST] [--help] [-t TARGET_BRANCH] -p PROJECT_ID -b
REF_NAME -f YAML_FILE
Gilab trigger helper
optional arguments:
-a GITLAB_API_TOKEN, --api-token GITLAB_API_TOKEN
personal access token (not required when running detached)
-h GIT_LAB_HOST, --host GIT_LAB_HOST
--help show this help message and exit
-t TARGET_BRANCH, --target-ref TARGET_BRANCH
target ref (branch, tag, commit)
-p PROJECT_ID, --project-id PROJECT_ID
repository id found on settings
-b REF_NAME, --branch-merged REF_NAME
filled by git COMMIT_REF_NAME
-f YAML_FILE, --yaml-file YAML_FILE
filled by git COMMIT_REF_NAME
Usage
Running a pipeline with Facile GitLab Helper requires only few steps. Use the arguments below in order to run a pipeline:
Branch Title
This argument can be dynamically filled using gitlab variables, like $CI_COMMIT_TITLE. In this case, Facile GitLab Helper will get the string provided by the given variable and will match it with the running rules lists - which are stored in the .yaml file. So, tests will run a specific path, based on the ID provided in the string. E.g. let's say our variable "$CI_COMMIT_TITLE" contains "PROJECT_NAME", tests will only run the specific path to the project, accordingly with the running rules lists.
Project ID
It's the ID shown on gitLab Project Root>>Settings>>Geral.
API Key
This can be generated by going on user Profile >> Access Tokens >> Add a personal access token. Use the generated value for this argument.
Gitlab Host Domain
Here goes the gitlab domain: "https://gitlab.domain_name/". For example, facile.it domain would be "https://gitlab.facile.it/".
Target Branch
This should be the branch we want the tests to run against. It could be "master", "develop" and so on.
Create lambdatest tunnel
As capability is also possibile to create tunnel running test against lambdatest cloud, this feature by the default will be always false but once a tunnel is needed to ben run from the trigger just passt to the flag "-u True" then a tunnel will be created and attached to the given automation session
Yaml File
This should be the .yaml file (or files) which provides the rules based on the "ID"s:
projects:
paytv:
project_id: PAYTVCA
path: Tests/pay_tv_online.robot Tests/pay_tv_tradizionale.robot
where: desktop
browser: chrome
version: "79.0"
platform: "Windows 10"
noleggio_mobile_Huawei_Pro:
project_id: NOLEGGIOCA
path: Tests/noleggio_responsive.robot
where: mobile
device: "Huawei P20 Pro"
browser: chrome
platform: Android
version: "9"....
For instance, if the branch title contains "NTL", test automation will run the test path Tests/noleggio.robot if it contains "ABC", then Tests/abc.robot will run. So, -f should be the path to where you created your .yaml rules file. Below you can find an example of a full command to run a pipeline:
facile-trigger -b <branch_title> -p <project_id> -a <api_key> -h <gitlab_host_domain> -t <target_branch> -f <yaml_file>
After that terminal will display the project name, status and the pipeline link triggered
+ projectName is running on https://gitlab.facile.it/qa/new-business-group/nattp/pipelines/164014
Once it get failed terminal will display the given pipeline weblink which can be checked for further information as shown bellow:
- projectName is failed please check on https://gitlab.facile.it/qa/new-business-group/nattp/pipelines/164014
Running simple static projects
You may also run simple static projects where the capabilities will be specified directly in the gitLab c.i file as shown below:
job_with_capabilities:
<<: *test_robotframework
variables:
WHERE: "desktop"
TestType: "desktop"
BROWSER: "Chrome"
VERSION: "83.0"
TESTS: "test.robot"
PLATFORM: "Windows 10"
This kind of project approach happens when the repository holds single product tests where is not necessary sort of logic behind the scenes which. Running those kind of projects the command is:
facile-trigger -b <branch_title> -p <project_id> -a <api_key> -h <gitlab_host_domain> -t <target_branch> -k True
Above as you can see the flag "-k" was used which means that automation will run "by project" in another words, capabilities will be simply defined in the gitlab.yml file.
Extra feature tunnel creation
Currently, facile_gitlab_trigger also holds a super nice capability which creates a tunnel for the automation. This capability currently works only on facile.it bundle environment as we use "lambdatest" as test automation device cloud. By the default the given flag is "False" where once the feature is not needed then will be ignored by the library. To leave the trigger create the tunnel for your test just use the flag -u = True as shown below:
facile-trigger -b <branch_title> -p <project_id> -a <api_key> -h <gitlab_host_domain> -t <target_branch> -f <yaml_file> -u True
Remember that this feature do not work for "static" projects where the capabilities are defined in the gitLab yml c.i. In the case the project by itself create its own tunnel to start the test automation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for facile-gitlab-trigger-0.0.25.macosx-10.9-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d61e7a12d00b69650819e32f8a1e58c861920dcf7db74e8452f37f440acdd540 |
|
MD5 | c298f4bf9aba844f0c77c843c6890040 |
|
BLAKE2b-256 | 6153c5e82998c97270244317260df36f0bb77ab5875aea828feda55c24d979d6 |