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

Installation Command

pip install appsurify-testbrain-cli

or

poetry add appsurify-testbrain-cli

Note: Use -U or --upgrade for force upgrade to last version

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.

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 repository push --help

Alias #2

git2testbrain push --help

Alias #3

testbrain git2testbrain push --help

Parameters

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

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