GitHub action

This topic describes how to integrate with GitHub CI/CD build mechanisms for continuous integration and continuous delivery.

About the GitHub action

The Test Execution GitHub action lets you trigger tests on a OpenText Enterprise Performance Engineering server, monitor the tests, generate analysis or trend reports, and check report status.

The action can also synchronize scripts from the GitHub workspace to your OpenText Enterprise Performance Engineering project.

The tests can be pre-existing ones referenced by their ID, or tests defined in a YAML file stored in the GitHub repository.

For the latest capabilities and workflow examples, including script synchronization, see the GitHub documentation.

Prerequisites

The following are the prerequisites for setting up the GitHub action.

  1. Perform these steps:

    Copy code
    actions/checkout@v6
    actions/setup-java@v5 (version 17)
    actions/setup-node@v6 
  2. Perform an npm install.

  3. To save the reports as a build artifact, add actions/upload-artifact@v7.

Note: User names and passwords should be saved as secrets and used as environment variables in the workflow.

Differential synchronization

To enable differential (incremental) synchronization using the WorkspaceSync action, configure your workflow as follows. If these settings are not applied, the action performs a full synchronization.

  • Required permissions:

    Copy code
    permissions: 
      contents: read 
      actions: read
  • Provide GitHub token:

    Copy code
     GITHUB_TOKEN: ${{ github.token }}
  • Configure Checkout with full history (fetch-depth: 0 required):

    Copy code
    steps:  
      - name: Checkout code 
        uses: actions/checkout@v6 
        with:
        fetch-depth: 0        # required for incremental WorkspaceSync

Action inputs

This table lists the action inputs for setting up and running a test.

Input

Description

Required

Default

lre_action

Action to trigger. Supported values are ExecuteLreTest and WorkspaceSync. If not defined, ExecuteLreTest is used.

No

ExecuteLreTest

lre_description

Description of the action (will be displayed in console logs).

No

Not Applicable

lre_server

Server URL and port (when not mentioned, default is 80 or 433 for secured) and tenant (when not mentioned, default is ?tenant=fa128c06-5436-413d-9cfa-9f04bb738df3).

Example: mylreserver.mydomain.com:81/?tenant=fa128c06-5436-413d-9cfa-9f04bb738df3'

Yes

Not Applicable

lre_https_protocol

Use secured protocol for connecting to LRE. Possible values: true or false.

No

true

lre_workspace_dir

Local workspace root path. For WorkspaceSync, this directory is scanned for scripts and stores logs under <workspace>/logs.

No

If omitted, it is resolved with lre_output_dir. If both are omitted, ./ is used.

lre_authenticate_with_token

Authenticate with a token. This is required when SSO is configured. Possible values are true or false.

No

false

lre_username

Username

Yes

Not Applicable

lre_password

Password

Yes

Not Applicable

lre_domain

Domain (case sensitive)

Yes

Not Applicable

lre_project

Project (case sensitive)

Yes

Not Applicable

lre_test

A valid test ID# or relative path to yaml file in the git repo defining new test design creation

Yes

Not Applicable

lre_test_instance

The test instance. Specify AUTO to use any instance or enter a specific instance ID

No

AUTO

lre_timeslot_duration_hours

Timeslot duration in hours

No

0

lre_timeslot_duration_minutes

Timeslot duration in minutes

No

30

lre_post_run_action

Possible values for post run action: Collate Results, Collate and Analyze, or Do Not Collate

No

Do Not Collate

lre_vuds_mode

Use VUDS licenses. Possible values: true or false

No

false

lre_trend_report

One of the following values:

  • ASSOCIATED (the trend report defined in the test design will be used)

  • A valid report ID#

No value or not defined indicates no trend monitoring in build, but the trend report defined in LRE will not be canceled.

No

Not Applicable

lre_proxy_out_url

Proxy URL

No

Not Applicable

lre_username_proxy

Proxy username

No

Not Applicable

lre_password_proxy

Proxy password

No

Not Applicable

lre_search_timeslot

Experimental: Search for matching timeslot instead of creating a new timeslot. Possible values: true or false.

No

false

lre_runtime_only

Scripts upload mode for WorkspaceSync: true uploads runtime files only; false uploads all files.

No

true

lre_workspace_sync_success_threshold

Workspace Sync success threshold percentage for the WorkspaceSync action is 0 to 100. A value of 0 means synchronization does not fail based on the upload ratio. A value of 100 requires all uploads to succeed. Out-of-range values use 50.

No

50

lre_workspace_sync_base_sha

WorkspaceSync only. Optional explicit base commit SHA used to compute changed files for incremental synchronization.

No

Not Applicable

lre_workspace_sync_delete_removed_scripts

WorkspaceSync only. If true, incremental synchronization also deletes scripts in OpenText Enterprise Performance Engineering when script folders are removed from the repository.

No

false

lre_status_by_sla

Report success status according to SLA. Possible values: true or false.

No

false

lre_output_dir

The directory used to read the checkout folder and save results. Use ${{ github.workspace }}.

No

./

lre_enable_stacktrace

If set to true, a stack trace of the exception will be displayed with errors in console logs.

No

false

For examples of using the action inputs and detailed setup instructions, including script synchronization, see the plugin documentation on github.com.

See also