QaaS.Runner.Storage
4.5.2
dotnet add package QaaS.Runner.Storage --version 4.5.2
NuGet\Install-Package QaaS.Runner.Storage -Version 4.5.2
<PackageReference Include="QaaS.Runner.Storage" Version="4.5.2" />
<PackageVersion Include="QaaS.Runner.Storage" Version="4.5.2" />
<PackageReference Include="QaaS.Runner.Storage" />
paket add QaaS.Runner.Storage --version 4.5.2
#r "nuget: QaaS.Runner.Storage, 4.5.2"
#:package QaaS.Runner.Storage@4.5.2
#addin nuget:?package=QaaS.Runner.Storage&version=4.5.2
#tool nuget:?package=QaaS.Runner.Storage&version=4.5.2
QaaS.Runner
Execution orchestration package for running QaaS test workflows from YAML configuration.
Contents
Overview
This repository contains one solution: QaaS.Runner.sln.
QaaS.Runner is published to NuGet and includes the runner runtime plus packaged project outputs from this solution that are required at runtime (sessions/assertions/storage orchestration flow).
Packages
| Package | Latest Version | Total Downloads |
|---|---|---|
| QaaS.Runner |
Projects
QaaS.Runner
- CLI/bootstrap entrypoint for
run,act,assert,template, andexecuteverbs. - Builds execution contexts and routes each execution type through the right logic chain.
- Orchestrates setup/teardown, optional Allure result serving, and optional ReportPortal launch finalization.
QaaS.Runner.Assertions
- Builds assertion runtime objects from configured hooks and filters.
- Executes assertions against session/data-source outputs.
- Writes Allure results, links, and attachments.
- Can also publish the same runner-produced assertion results into ReportPortal.
QaaS.Runner.Sessions
- Session runtime with staged action execution.
- Supports publishers, consumers, transactions, probes, and collectors.
- Produces session data and failure/flakiness metadata.
QaaS.Runner.Storage
- Storage abstraction for storing and retrieving serialized session data.
- Built-in implementations: filesystem and S3-compatible backends.
- Shared builder-based configuration for act/assert flows.
QaaS.Runner.Infrastructure
- Small shared cross-project helpers (filesystem and date/time utilities).
Quick Start
Install package:
dotnet add package QaaS.Runner
Upgrade package:
dotnet add package QaaS.Runner --version <target-version>
dotnet restore
ReportPortal
QaaS can publish the same assertion results it already writes to Allure into an existing ReportPortal instance.
Runtime rules:
- QaaS never creates ReportPortal projects, dashboards, filters, users, or API keys.
- Project routing is derived only from
MetaData.Team, case-insensitively. - Launches are grouped by
Team + System. ExtraLabelsand other metadata key/value pairs are emitted as ReportPortal attributes so teams can filter by labels such asComponent,Area, orOwner.- Each assertion is published as its own ReportPortal test item together with assertion message/trace, stack trace for broken assertions, session summaries, session failure history, assertion attachments, template YAML, and a generated assertion-context JSON artifact.
- Assertion links configured in QaaS remain active in Allure and are also written into ReportPortal logs.
- When ReportPortal is enabled but the endpoint, API key, or target project is invalid, QaaS logs a warning and skips ReportPortal publishing without crashing the runner or changing the exit code for otherwise passing runs.
- The default launch name is stable and derived from
Team + System + Sessions, which keeps ReportPortal history grouped without creating new dashboards or projects.
Configuration sources:
| Setting | Default source | Override source | Notes |
|---|---|---|---|
ReportPortal.Enabled |
QaaS.Configuration.ReportPortalDefaults.Enabled (false in the public package) |
YAML ReportPortal.Enabled |
Enables best-effort ReportPortal publishing. |
ReportPortal.Endpoint |
QaaS.Configuration.ReportPortalDefaults.ReportPortalUri |
YAML ReportPortal.Endpoint |
Required when reporting is enabled. Must point to the ReportPortal base URL or API URL. |
ReportPortal.ApiKey |
QaaS.Configuration.ReportPortalDefaults.ReportPortalApiKey |
YAML ReportPortal.ApiKey |
Required when reporting is enabled. Must already have write access to the target team projects. |
ReportPortal.Project |
none | YAML ReportPortal.Project |
Ignored at runtime. QaaS warns and continues to route by MetaData.Team. |
Notes:
- Public
QaaS.Configurationkeeps ReportPortal disabled with null endpoint/key. Internal environments can publish a same-IDQaaS.Configurationpackage with internal ReportPortal defaults. - YAML
ReportPortalvalues always overrideQaaS.Configurationdefaults for that run. - Launch names are derived from the grouped team, system, and sessions unless you explicitly override the launch name/description in YAML.
- Allure remains active and unchanged when ReportPortal publishing is enabled.
Documentation
- Official docs: thesmoketeam.github.io/qaas-docs
- CI workflow:
.github/workflows/ci.yml - NuGet package page: QaaS.Runner on NuGet
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AWSSDK.S3 (>= 4.0.19)
- QaaS.Runner.Infrastructure (>= 4.5.2)
- System.IO.Abstractions (>= 22.1.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on QaaS.Runner.Storage:
| Package | Downloads |
|---|---|
|
QaaS.Runner
Execution orchestration for QaaS test workflows. |
|
|
QaaS.Runner.E2ETests
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.5.2 | 60 | 6/14/2026 |
| 4.5.1 | 113 | 6/7/2026 |
| 4.5.0 | 108 | 5/27/2026 |
| 4.4.0 | 104 | 5/20/2026 |
| 4.3.3 | 114 | 4/16/2026 |
| 4.3.2 | 118 | 4/15/2026 |
| 4.3.1 | 112 | 4/13/2026 |
| 4.3.0 | 129 | 3/31/2026 |
| 4.2.1 | 183 | 3/28/2026 |
| 4.2.0 | 109 | 3/26/2026 |
| 4.1.1 | 121 | 3/23/2026 |
| 4.1.1-alpha.1 | 53 | 3/22/2026 |
| 4.1.0 | 138 | 3/21/2026 |
| 4.1.0-alpha.27 | 51 | 3/22/2026 |
| 4.1.0-alpha.26 | 52 | 3/22/2026 |
| 4.1.0-alpha.25 | 53 | 3/21/2026 |
| 4.1.0-alpha.23 | 57 | 3/21/2026 |
| 4.1.0-alpha.22 | 58 | 3/17/2026 |
| 4.1.0-alpha.21 | 54 | 3/17/2026 |
| 4.1.0-alpha.20 | 55 | 3/17/2026 |