Skip to content

Galasa Releases

0.43.0 - Release Highlights

Changes affecting the Galasa Service

  • The Galasa service now creates a test run record in the Result Archive Store when each run is submitted, rather than when the test is scheduled to execute, so more test runs will appear in the 'queued' state awaiting execution now. This also allows observability of submitted runs which were cancelled prior to being scheduled, which was not previously possible.

  • The Galasa service has been made more efficient by reducing the amount of data being exchanged between internal components and avoiding the exchange of large messages travelling over the gRPC protocol. See #2312.

  • Upgrades are handled better: The Galasa Helm chart creates the _users database in CouchDB if it doesn't already exist. This is a required database for CouchDB that should be created as default to prevent errors when the Result Archive Store is started. This is needed because latest version of CouchDB needs this database, and it may not have existed before.

  • The Galasa service is more robust when failures occur: A deployed Galasa service will now only attempt to launch tests in a new Kubernetes pod if the ETCD and RAS services are working. Were either of the ETCD or RAS services to fail, the errors would not be compounded by launching more tests which would all fail anyway.

  • Cancelling test runs which have not already finished is handled better: Running tests are given an opportunity to notice they have been cancelled, and to exit cleanly after releasing any resources they hold. Queued test runs are marked as cancelled immediately.#2317.

Changes affecting tests running locally or on the Galasa Service

  • Java API enhancement: Updates have been made to the @TestResultProvider annotation. The @TestResultProvider can now provide a list of ITestMethodResults to the test which each include the method name, if the method passed, if the method failed, and the exception thrown to cause the failure, if available. This can be used by tests themselves to determine actions to take based on each method's result. See issue #2343.

  • The start and end line number in the run log pertaining to a particular method are now available in the test structure. This can be used to navigate the run log and identify which sections of the run log are about which methods. See issue #2214.

  • z/OS telnet 3270 server certificates can now be verified if the CPS property zos.image.[TAG].telnet.tls.verify is set to true. See issue #2296.

Other changes

  • Galasa users without internet access can continue to read the Galasa documentation offline. The Galasa zipped distribution, isolated.zip, now contains a docs.tar file that when untarred becomes a Docker image. This Docker image can then be run to access the Galasa documentation site from a local web server.

  • log4j-core dependency upgraded from 2.24.1 to 2.25.1 to remediate a Critical vulnerability.

  • The Galasa documentation site now complies with EEC regulations, providing a privacy statement and standard cookie consent banner.

Galasa Web UI changes

  • More experimental features have been added to the Galasa web user interface which are not visible by default. If you would like to test out these experimental features, you can opt-in to the features you wish to try by going to the "My Settings" page and ticking the checkboxes in the "Experimental Features" section. You can opt-out at any time by unchecking the ticked feature checkboxes.

0.42.0 - Release Highlights

Changes affecting the Galasa Service

  • Cancel a run group using the Group ID. See the new command syntax

  • For developers of Galasa: Easier development of the Web user interface

    • A Personal Access Token can now be used to run a local instance of the web user interface, targetting an existing Galasa Service.
  • Added a configuration setting kubeLaunchIntervalMillisecs in the Galasa Helm chart to control the time between launching of successive test runs, to space out launches more evenly so that Kubernetes is not as stressed.

  • Various defects, fixes, version uplifts

Changes affecting tests running locally or on the Galasa Service

  • IMS-TM Manager - Improvements to how the manager handles active conversations (See issue #2250)

Other changes

  • Make contributing code easier:

    • Code for the Galasa documentation has moved git repositories, to the galasa repository. This simplifies the build process for the Galasa documentation and makes changes on a git fork easier to build and verify. It also facilitates closer integration between the javadoc, REST interface, CLI syntax and the rest of the material.
  • New look for the Galasa web site:

    • The look and feel of the Galasa website and documentation has been improved. The site now includes page-indexes on the right to navigate each page of the documentation. The site also supports light and dark mode for easy-reading. Command-line tool syntax is now more integrated with the documentation, and is searchable.

0.41.0 - Release Highlights

Changes affecting the Galasa Service

  • Streams Service:

    • Streams can now be created, updated and deleted using a new set of REST API endpoints.
    • Command-line tool list or delete report streams, or create and apply changes to stream resources using the galasactl apply -f command.
  • Resource Management:

    • Custom managers can have their cleanup code executed in a new "Resource Cleanup Monitor" construct, allowing for more cleanup of remote resources after test failures.
    • Cleanup monitors load resource management code from a given test stream.
    • New REST API commands allow manipulation and query of stream definitions.
    • Improved command-line can enable or disable monitors dynamically.
  • Tagging of test run results:

    • Test runs can be submitted with extra tags, which are combined with the annotation tags inside the test source code such that the test results are also tagged with the combined set of tags.
    • Extra tagging in test run details can help categorise failures and can contribute to better charting of results over time.
  • Kubernetes CPU and Memory resources:

    • For each pod, including pods that runs tests, can optionally specify resources constraints. Telling Kubernetes how much CPU and memory each pod needs helps Kubernetes spread workload among nodes in the cluster. The default install now specifies such limits.
  • Miscellaneous:

    • Tests which are re-queued or cancelled get marked as finished, rather than appearing to be active forever.
    • Querying runs with the --active flag no longer returns cancelled runs. Cancelled runs are marked as finished now.
    • Web user interface footer shows the version of the Galasa service, and a health indicator.
    • Test runner handles exceptions from rogue manager code better, so test cleanup can be performed.

Changes affecting local tests

  • Managers vetoing method execution changes:

    • Managers implementing anyReasonTestMethodShouldBeIgnored are no longer asked whether the test method should be ignored before running the @Before and @After methods. If the test method is ignored, then the @Before and @After methods are also ignored.
  • Tests can find out if the test has failed yet:

    • Test code can ask for a TestStatus provider to be injected into their object. This can be used to find out if the test has failed yet or not, and can be useful when doing complex cleanup of resources allocated during the test.
  • 3270 Manager can now process SSCP-LU-DATA:

    • Unformatted data screens are processed and the contents made available to test applications.
  • @ContinueOnTestFailure annotations:

    • These annotations are now respected by the Galasa framework.

Other changes

  • Make contributing code easier:

    • Code for the galasactl command-line tool has moved git repositories, to the galasa repository. This simplifies the build process and makes changes on a fork easier to build and verify.

0.40.0 - Release Highlights

  • Nameculture:

    • The term "Galasa Ecosystem" is being replaced with "Galasa Service" because it more clearly describes Galasa components that are deployed onto a Kubernetes cluster, providing testing as a service.
  • Galasa Service Changes:

    • A submission ID is generated for each test run submitted. A new field has been added to the test structures passed over the REST interface. Client programs can use the submission ID to query test runs from the Results Archive Store (RAS).

    • Each user now has a role, which dictates what that user can do. See the documentation on Role Based Access Control (RBAC) for more details.

    • The Helm chart can configure specific users to be owners of the system, such that these users are immutable administrators of the system. Configuring owners is used to set up a system with some initial administrators, and to recover a system that no longer has any functioning administrators.

    • Completed test pods now count when calculating the maximum number of pods that Galasa creates. Use the Helm chart parameter max_engines to configure the maximum number of pods.

    • When tests complete, the pod for the test disappears quicker than in previous releases, to free up resources on the cluster. Instead of up to 5 minutes, completed pods are cleaned up within 2-4 seconds.

    • It is now possible to configure the Galasa service to use an etcd server that is external to the Galasa namespace, for Dynamic Status Store traffic. This option is not recommended but may be useful for allowing testcase developers to use the same resource pools as the rest of the Galasa service.

  • Framework and Manager changes:

    • The addition of an IMS manager for contacting, controlling, and asserting against an IMS system.
  • The Web User interface changes:

    • Everyone logged-in to the Galasa service can see the list of users on the system, and their roles.

    • Administrators on the Galasa service can delete the tokens of other users, change their role, or delete their entire user record.

  • Command-line tool (galasactl) changes:

    • Users launching tests can use multiple override files with the --overridefile option. These files are combined into a single collection of properties, with warning messages generated in the logs if any property keys clash.
  • Development process, infrastructure, and contributing:

    • Improvements to the build process and instructions you use to fork the code, and build your own Galasa binaries in your own GitHub organisation.

    • Added experimental instructions describing how to install the Galasa Service into Minikube. Minikube can be used when developing contributions to Galasa, but is not suitable as a useable run time platform.

  • Various other component version upgrades and bug fixes.

0.39.0 - Release Highlights

  • Forks and fork builds are now supported making it easier to contribute to Galasa!

  • All Galasa components now use a common version number.

  • CPS property names can now include the '@' character.

  • The galasactl runs get command supports a new --group option to query test runs by the group ID they were launched with.

  • Gherkin now respects the framework.continue.on.test.failure flag so it doesn't need to exit a feature when the first scenario fails.

  • This release also includes instability fixes, and dependency updates.

0.38.0 - Release Highlights

  • CLI updates:

    • You can get, set and delete secrets from the credentials store using the galasactl secrets command. Secrets support base64 encoding to handle special characters.

    • Managing Ecosystem encryption keys describes how to use galasactl secrets get and galasactl resources apply to replace the encryption key being used to encrypt credentials in the Galasa Ecosystem's credentials store.

    • Users can now be deleted with the galasactl users delete command.

  • Web UI updates:

    • A new settings page has been added to the web UI to manage access tokens.

    • Recent login activity is now available on the profile page.

  • This release also includes bug fixes, security updates, and other dependency updates.

0.37.0 - Release Highlights

  • Galasa now supports Java 17.

  • You can delete a test run by using the galasactl runs delete command. Deleting a test run removes all information about the test run along with any associated artifacts from an ecosystem's RAS.

0.36.0 - Release Highlights

  • You can now create Galasa projects and build and compile Galasa test code using Gradle version 8. For more information, see the Upgrading tests to compile using Gradle version 8 section in the Upgrading documentation to understand the changes you need to make.

  • Log into the Galasa Ecosystem and revoke a personal access token by using the galasactl auth tokens delete command.

  • Set terminal size within Gherkin tests (previously only available in Java tests) and use Scenario Outlines.

  • Various updates to the Galasa Web UI

  • Various defect fixes

  • Various documentation updates