Skip to main content

Command Line Interface for Appsurify Testbrain.

Project description

image image image image

Appsurify Script Installation

Index

Refs

Installation Instructions

Requirements

Python 3.7+

Note: Support for Python 3.7 will be completed soon because this version is already considered deprecated

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

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

Howto usage

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

Alias #2

git2testbrain push --help

Alias #3

testbrain git2testbrain push --help

Possible params

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

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 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

Repository Checkout

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

Possible params

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

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

QA2Testbrain (runtestswithappsurify)

Coming soon. Currently under development. Use the old 'appsurifyci' package

pip install appsurifyci --upgrade

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

appsurify_testbrain_cli-2024.1.26.tar.gz (21.6 kB view hashes)

Uploaded Source

Built Distribution

appsurify_testbrain_cli-2024.1.26-py3-none-any.whl (28.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page