Skip to main content

RoostGPT CLI Installation Guide - EC2 Linux

Overview

RoostGPT is an AI-powered testing tool. This guide will help you install RoostGPT on your EC2 (RHEL or Ubuntu) instance in just a few minutes.


Pilot Prerequisites

Before installing RoostGPT, ensure your system meets the following requirements:

Requirement Specification
Operating System RHEL 9.5 or Ubuntu 22.04
CPU (or vCPUs) 8 or more 
RAM 16 GB or more
Instance Type c5a.2xlarge or better
Root Disk Space Minimum 100 GB available
Network Internet connection enabled
Permissions sudo/root access required (SSH user should have sudo permissions)
   

AWS Key & Secret

Set in environment or in .profile for accessing AWS Services

AWS IAM User Role

Policy: AmazonBedrockFullAccess 

or

Custom Bedrock Policy as defined below

AWS Bedrock Model (one or more of these listed models)

global.anthropic.claude-sonnet-4-5-20250929-v1:0

global.anthropic.claude-sonnet-4-20250514-v1:0

eu.anthropic.claude-sonnet-4-5-20250929-v1:0

eu.anthropic.claude-sonnet-4-20250514-v1:0

eu.anthropic.claude-3-7-sonnet-20250219-v1:0

eu.anthropic.claude-3-5-sonnet-20240620-v1:0



RoostGPT License & Installer

Provided by Roost Team



POC 1 - Input Sample  

1. Word document or PDF with User Story or System Analysis Document 

2. Optional: API Specification that is representative of current features

POC 2 - Input Sample

1. Swagger API Spec

AWS Bedrock Model Access to one or more of the anthropic (cross-region) models is fine.

Custom Bedrock Policy for AWS IAM User
{
    Version = "2012-10-17"
    Statement = [
        {
            Effect = "Allow"
            Action = [
              "bedrock:InvokeModel",
              "bedrock:InvokeModelWithResponseStream",
              "bedrock:ListFoundationModels",
              "bedrock:GetFoundationModel"
            ]
            Resource = "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:GetInferenceProfile",
                "bedrock:ListInferenceProfiles",
            ],
            "Resource": [
                "arn:aws:bedrock:*:*:inference-profile/*",
                "arn:aws:bedrock:*:*:application-inference-profile/*"
            ]
        }
    ]
}
  • Configure AWS profile into launched server, either by

    • setting AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, in $HOME/.profile

    • Or stage $HOME/.aws/credentials

  • Transfer roost license file (.ral) into EC2 instance.

  • Transfer roostgpt-installer executable into the EC2 instance
  • Ensure python3 is installed on the instance


Details of Roost Installer 

Bundled artifact in the Roost installer

RoostGPT can be executed locally for Unit Tests. However, it is recommended that the necessary language version and build tools, dependency have to be installed on EC2 (RHEL).

Name Purpose / Description Location
roostgpt-linux CLI executable for roostGPT v1.1.18/roostgpt-linux
RoostJavaASTParser.jar Java language AST Parser v1.1.18/RoostJavaASTParser.jar
RoostPythonASTParser-linux Python language AST Parser v1.1.18/RoostGolangASTParser-linux
RoostGolangASTParser-linux Golang language AST Parser v1.1.18/RoostGolangASTParser-linux
RoostCSharpASTParser-linux CSharp language AST Parser v1.1.18/RoostCSharpASTParser-linux
RoostUITestGenerator-linux UI Playwright Test Generator v1.1.18/RoostUITestGenerator-linux
roostenc-linux Decryt/Encrypt binary for troubleshooting RoostGPT behaviour Not available publicly but bundled in the roostgpt-installer
license/license.ral Roost License File Not available publicly but provided directly to the customer
workspace/postman-api-test Sample swagger API spec file and env to generate postman collection with tests API Spec: https://openweathermap.org/api
workspace/java-maven-test Sample Java Maven project with env roost-io/API-MusicBlender-Java
workspace/java-gradle-test Sample Java Gradle project with env roost-io/gradle-app
workspace/csharp-nunit-test Sample CSharp DotNet project with env roost-io/C-Sharp

List of Language, Build Tools and Dependencies:

Language Dependency requirement
Java - Maven JDK, JRE, Maven
Java - Gradle JDK, JRE, Gradle
Csharp dotnet
Golang go
Python python, pytest, unittest
Postman No Dependency
Rest Assured JDK, JRE, Maven
Karate JDK, JRE, Maven

Installation Steps

Copy the installer and license file
  1. Download Installer from Shared Google Drive
    • You have to download the RoostGPT installer and Roost License file from a shared Google Drive.
  2. Transfer Installer and License file using scp
  3. Make Installer executable
# From your local machine, copy installer and license to Ubuntu instance
scp roostgpt-installer.sh license.ral ubuntu@<your-instance-ip>:~/

# Then SSH into your instance
ssh ubuntu@<your-instance-ip>

# Move license.ral to $HOME/.roost
mkdir $HOME/.roost
mv $HOME/license.ral $HOME/.roost

# Add execute permissions to installer
chmod +x roostgpt-installer.sh

# Execute Roost Installer
sudo ./roostgpt-installer.sh
Installation interface:
╔════════════════════════════════════════════════════════════╗
║                                                            ║
║              RoostGPT Installer                            ║
║                                                            ║
╚════════════════════════════════════════════════════════════╝

[→] Checking system requirements...
[✓] System requirements met

Continue with installation? [Y/n]

Press Y and Enter to continue.

The installer will:

  • Extract files
  • Install RoostGPT binary
  • Unpack the code parsers
  • Copy workspace with pre-canned examples
  • Configure all necessary permissions

Installation typically completes in under 1 minute.


Verify Installation

After successful installation, you'll see:

╔════════════════════════════════════════════════════════════╗
║                                                            ║
║     ✓ RoostGPT Installation Completed Successfully!       ║
║                                                            ║
╚════════════════════════════════════════════════════════════╝

Now you can run: roostgpt
Installed Samples
# Show the installed sample workspaces

find ~/workspace -ls
Structure - Roost Sample Workspace 

The workspace contains example projects to help you get started:

~/workspace/
├── Folder1/
│   └── .env          # Configuration for project 1
└── Folder2/
    └── .env          # Configuration for project 2


Configuring AWS Credentials  

Adding AWS Credentials

# SSH into your instance
ssh ubuntu@<your-instance-ip>

# Edit $HOME/.profile
vim $HOME/.profile

# Add export AWS keys to your $HOME/.profile and save the file
export AWS_ACCESS_KEY_ID=xxx
export AWS_SECRET_ACCESS_KEY=xxx

# Source the file .profile to make the AWS creds available in the same session
. $HOME/.profile

Using RoostGPT

Running RoostGPT

You can now access / run RoostGPT from anywhere on your system, using the command roostgpt

Quick Start Example

# 1. SSH into your Ubuntu instance
ssh ubuntu@<your-instance-ip>

# 2. Navigate to workspace
cd ~/workspace/functional-test

# 3. Run RoostGPT
./run.sh

# OR you can run using the full command
roostgpt test create -c functional-test.env

Viewing Roost Test Results

roostgpt test result

Here's a complete workflow from login to running RoostGPT:


Configure a new test

Each project folder in your workspace contains a <SOME-TEST-NAME>.env file for configuration. You can copy this env and modify the contents for a new test run. Execute roostgpt as

# Copy an existing configuration to a new file
cp ~/workspace/Folder1/.env new_test.env

# Edit Folder2 configuration
vim new_test.env

###################################
# Modify the below attributes
TEST_NAME=ANY_UNIQUE_NAME    # Any unique_name to represent the test configuration
TEST_TYPE=functional         # Default is unit; Supports [unit, functional, api-spec-test, integration]
AI_TYPE=bedrock_ai           # Default is openai; Supports [openai, azure_open_ai, claude_ai, dbrx, bedrock_ai, gemini]

ROOST_USER_INPUT=""                       # The user input will be used to generate tests
ROOST_USER_INPUT_TYPE=file                # Roost User input Type for test generation; Supports [text, file]
ROOST_USER_INPUT_FILE=USER_FILE_PATH      # The user input file-path will be used to generate tests

# GIT env vars
GIT_TYPE=local               # Default is github; Supports [github, gitlab, azure, bitbucket, local]
LOCAL_PROJECT_PATH=PATH_TO_WORKSPACE_FOLDER       # Required if GIT_TYPE is local, Path to your workspace.

# AWS Bedrock env vars
AWS_ACCESS_KEY_ID=                                # Required: If not defined here, it will be picked from environment 
AWS_SECRET_ACCESS_KEY=                            # Required: If not defined here, it will be picked from environment
AWS_SESSION_TOKEN=                                # Optional; AWS Session token.
AWS_DEFAULT_REGION=eu-west-1                      # Required if AI_TYPE=aws_bedrock.
AWS_BEDROCK_MODEL_TYPE=cross-region               # Required if AI_TYPE=aws_bedrock.
AWS_BEDROCK_MODEL=global.anthropic.claude-sonnet-4-20250514-v1:0       # Required if AI_TYPE=aws_bedrock.

# Api Spec env vars
API_SPEC_TYPE=swagger                             # Optional; Supports [swagger]
API_SPEC_SOURCE=file                              # Optional; Supports [file, gitpath, url]
API_SPEC_FILE_PATH="$HOME/FILE"                   # Optional; path of the source file.
API_SPEC_URL=                                     # Optional; URL of the source file, if source is url

###################################

# Run the new test configuration
roostgpt test -c new_test.env


Troubleshooting

Installation Issues

Problem: Permission denied when running installer

# Solution: Make sure you're using sudo
sudo ./roostgpt-installer.sh

Problem: Command not found: roostgpt

# Solution: Verify installation completed successfully
which roostgpt
# Should output: /usr/local/bin/roostgpt

# Check executable permissions on roostgpt and grant if missing
chmod +x $(which roostgpt)

# If not found, re-run the installer
sudo ./roostgpt-installer.sh

Problem: Insufficient disk space

# Solution: Check available space
df -h / /var/tmp/Roost

# Free up space or use an instance with more storage

Runtime Issues

Problem: Can't find workspace

# Solution: Workspace is in your home directory
cd ~/workspace
ls -la

Problem: Configuration not loading

# Solution: Ensure .env files exist and are readable
find ~/workspace/ -name '*.env' -ls
find ~/workspace/ -name '*.env' -exec chmod 644 {} \;