Updated New Script
This Script is faster, more powerful, and easier to implement.
Appsurify Script Installation
Index
Installation Instructions
Requirements
Support OS / Python
Installation Command
Repository Push / Git2TestBrain (git2appsurify)
Possible params
Usage Examples
Repository Checkout
Possible Params
Usage Examples
Installation Instructions
Requirements
Python 3.7+
Support OS / Python
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
π’
Installation Command
pip install appsurify-testbrain-cli
or
poetry add appsurify-testbrain-cli
Docker image "appsurify-testbrain-cli"
Latest Version
docker pull appsurifyinc/appsurify-testbrain-cli
Specify version
docker pull appsurifyinc/appsurify-testbrain-cli:2023.10.24
Repository Push | Git2Testbrain (git2appsurify)
This module is used to push changes in the repository to the Testbrain server for further analysis and testing optimization.
Alias #1
testbrain repository push --help
Alias #2
git2testbrain push --help
Alias #3
testbrain git2testbrain push --help
Parameters
Yes
--server
TESTBRAIN_SERVER
Enter your Testbrain server instance url.
Yes
--token
TESTBRAIN_TOKEN
Enter your testbrain server instance token or API Key. Located in top-right hand corner of user-interface under user profile.
Yes
--project
TESTBRAIN_PROJECT
Enter your Testbrain projet 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 fatalities: DEBUG/INFO/WARNING/ERROR
No
--logfile
stderr
Saves logs to file
No
--quiet
fales
Quiet mode...every time exit with 0
Usage Examples
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
CI example (github actions)
.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 repository"
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
Repository Checkout
This module is used to checkout branches during the execution of CI pipelines or manually. Cloning is not provided.
Alias #1
testbrain repository checkout --help
Alias #2
git2testbrain checkout --help
Alias #3
testbrain git2testbrain checkout --help
Parameters
No
--repo-dir
current dir
TESTBRAIN_REPO_DIR
Enter the git repository directory. If not specified, the current working directly 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
TEST_WORK_DIR
Enter the testbrain script working directory, the current working directory will be used.
No
-l, --loglevel
INFO
Possible Fatalities: DEBUG/INFO/WARNING/ERROR
No
--logfile
stderr
Save logs to file
No
--quiet
false
Quiet mode...every time exit with 0
Usage Examples:
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
Last updated
Was this helpful?