- Installation Instructions
- Repository Push / Git2Testbrain (git2appsurify)
- Repository Checkout
- QA2Testbrain (runtestswithappsurify)
Python 3.7+
Note: Support for Python 3.7 will be completed soon because this version is already considered deprecated
OS | Python | Support |
---|---|---|
Linux | 3.7 | π’ |
Linux | 3.8 | π’ |
Linux | 3.11 | π’ |
MacOS | 3.7 | π’ |
MacOS | 3.8 | π’ |
MacOS | 3.11 | π’ |
Windows | 3.7 | π’ |
Windows | 3.8 | π’ |
Windows | 3.11 | π’ |
pip install appsurify-testbrain-cli
or
poetry add appsurify-testbrain-cli
Note: Use -U or --upgrade for force upgrade to last version
Latest version
docker pull appsurifyinc/appsurify-testbrain-cli
Specify version
docker pull appsurifyinc/appsurify-testbrain-cli:2023.10.24
This module is used to push changes in the repository to the Testbrain server for further analysis and testing optimization.
This module can be used as an independent command in the OS or as a subcommand of the main CLI application "testbrain"
Alias #1
testbrain git push --help
Alias #2
git2testbrain push --help
Alias #3
testbrain git2testbrain push --help
Required | Parameter | Default | Env | Description | Example |
---|---|---|---|---|---|
yes | --server | TESTBRAIN_SERVER | Enter your testbrain server instance url. | http://127.0.0.1 | |
yes | --token | TESTBRAIN_TOKEN | Enter your testbrain server instance token. | ||
yes | --project | TESTBRAIN_PROJECT | Enter your testbrain project name. | ||
no | --work-dir | current dir | TESTBRAIN_WORK_DIR | Enter the testbrain script working directory. If not specified, the current working directory will be used. | |
no | --repo-name | TESTBRAIN_REPO_NAME | Define repository name. If not specified, it will be automatically taken from the GitRepository repository. | ||
no | --repo-dir | current dir | TESTBRAIN_REPO_DIR | Enter the git repository directory. If not specified, the current working directory will be used. | |
no | --branch | current | TESTBRAIN_BRANCH | Enter the explicit branch to process commits. If not specified, use current active branch. | |
no | --start / --commit | latest (HEAD) | TESTBRAIN_START_COMMIT | Enter the commit that should be starter. If not specified, it will be used 'latest' commit. | |
no | --number | 1 | TESTBRAIN_NUMBER_OF_COMMITS | Enter the number of commits to process. | |
no (unavailable) | --blame | false | Add blame information. | ||
no | --minimize | false | Suppress commit changes information. [default: (False)] | ||
no | --pr-mode | false | TESTBRAIN_PR_MODE | Activate PR mode | |
no | -l, --loglevel | INFO | Possible failities: DEBUG/INFO/WARNING/ERROR | ||
no | --logfile | stderr | Save logs to file | ||
no | --quiet | false | Quiet mode... everytime exit with 0 |
Push to Testbrain server only one last commit from current branch
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO
or
git2testbrain push --server https://demo.appsurify.com --token ************************************************************** --project DEMO
Push to Testbrain server last 100 commits started from specify commit into specify branch
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO --branch main --start latest --number 100
If need more process information - change logging level
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO --branch main --start latest --number 100 --loglevel DEBUG
Add log file with full or relative path.
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO --branch main --start latest --number 100 --loglevel INFO --logfile ./git2testbrain.log
If any crash errors script will create crash dump file into {WORK_DIR}/.crashdumps/
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO
You can see this message
2023-11-05 21:16:03 INFO testbrain.repository.cli push [repository/cli.py:184] Running...
2023-11-05 21:16:03 DEBUG testbrain.terminal.process Process.__init__ [terminal/process.py:22] Set up execution working dir ...
Dumped crash report to <path_to_work_dir>/.crashdumps/git2testbrain-2023-10-23-11-27-39.dump
Docker version usage
$(pwd) - git repository path
docker run --rm -it \
-v $(pwd)/:/data \
appsurifyinc/appsurify-testbrain-cli git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO
.github/workflows/testbrain-git2testbrain.yml
name: "Testbrain"
on:
workflow_dispatch:
pull_request:
branches:
- "main"
- "development"
push:
branches:
- "main"
- "releases/*.*.*"
- "development"
jobs:
push-changes:
name: "Push changes to server"
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
checks: write
steps:
- name: "Checkout git"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Extract branch name"
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: "Push"
uses: addnab/docker-run-action@v3
with:
image: appsurifyinc/appsurify-testbrain-cli:latest
options: -v ${{ github.workspace }}:/data -e TESTBRAIN_PR_MODE=${{ github.event_name == 'pull_request' }}
run: |
git2testbrain push --server ${{ vars.TESTBRAIN_SERVER }} --token ${{ secrets.TESTBRAIN_TOKEN }} --project ${{ vars.TESTBRAIN_PROJECT }} --branch ${{ steps.extract_branch.outputs.branch }} --start ${{ github.sha }} --number ${{ vars.TESTBRAIN_NUMBER_OF_COMMITS }} -l DEBUG
- name: "Upload crash dumps"
uses: actions/upload-artifact@v3
if: failure()
with:
name: "crashdumps"
path: ${{ github.workspace }}/.crashdumps/
retention-days: 1
This module is used to checkout branches during the execution of CI pipelines or manually. Cloning is not provided.
Alias #1
testbrain git checkout --help
Alias #2
git2testbrain checkout --help
Alias #3
testbrain git2testbrain checkout --help
Required | Parameter | Default | Env | Description | Example |
---|---|---|---|---|---|
no | --repo-dir | current dir | TESTBRAIN_REPO_DIR | Enter the git repository directory. If not specified, the current working directory will be used. | |
no | --branch | current | TESTBRAIN_BRANCH | Enter the explicit branch to process commits. If not specified, use current active branch. | |
no | --commit | latest (HEAD) | TESTBRAIN_START_COMMIT | Enter the commit that should be starter. If not specified, it will be used 'latest' commit. | |
no | --pr-mode | false | TESTBRAIN_PR_MODE | Activate PR mode | |
no | --work-dir | current dir | TESTBRAIN_WORK_DIR | Enter the testbrain script working directory. If not specified, the current working directory will be used. | |
no | -l, --loglevel | INFO | Possible failities: DEBUG/INFO/WARNING/ERROR | ||
no | --logfile | stderr | Save logs to file | ||
no | --quiet | false | Quiet mode... everytime exit with 0 |
Checkout using Testbrain CLI
git2testbrain checkout --branch main -l INFO
or
git2testbrain checkout --branch main --commit 75ec2f061868c33306963a27d5164211553c049b --pr-mode -l INFO
or
git2testbrain checkout --branch main --commit 676c581 --pr-mode -l INFO
Docker version usage
$(pwd) - git repository path
docker run --rm -it \
-v $(pwd)/:/data \
appsurifyinc/appsurify-testbrain-cli git2testbrain checkout --branch main --commit 676c581 --pr-mode -l INFO
Coming soon. Currently under development. Use the old 'appsurifyci' package
pip install appsurifyci --upgrade