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

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

🟢

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

Required
Parameter
Default
Env
Description

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

Required
Parameter
Default
Env
Description

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?