Skip to main content
Version: 5.11.x

Web UI

info

The Workflows web UI is currently an experimental feature in development.

Features

The current features for the Web UI are the following:

  • Create Workflows build and test targets
  • Build monitoring

Enable the Web UI

To enable the Web UI add the webapp and auth configuration sections to the aspect_workflows module in your Terraform configuration:

module "aspect_workflows" {

webapp {

}

auth {

}
}

Adding authentication

As accessing the Web UI requires user authentication, you need to add the details of your OpenID Connect (OIDC) provider to the auth section of the aspect_workflows module in the Terraform configuration:

  auth = {
providers = {
oidc = {

}
}
}

You also need to configure the OIDC provider to allow requests from the Workflows Web UI.

info

You can find full details on adding an OIDC provider in the this document.

Adding a DNS records

To access the Web UI externally, it needs a public DNS record. Do this by setting a zone_name in the webapp configuration:

webapp = {
dns = {
zone_name = // Zone name
}
}

The zone_name is not a domain name, but the name of the zone resource created in Google Cloud DNS or Amazon Route 53. Workflows creates an A record for an app. subdomain under this zone.

For example, if the domain name of the hosted zone is "ci.example.com", the external remote endpoint created is "app.ci.example.com".

Using the Web UI

When you open the Web UI, it shows the list of the latest Bazel invocations with their current status and duration.

A screenshot of invocations in the Workflows web UI

Clicking on any invocation shows more detail in the following sections:

  • An overview, such as which PR it was associated with
  • All Bazel test and build targets which were part of the invocation

A screenshot of an invocation detail in the Workflows web UI

Invocation overview

The top overview shows the following:

  • The target run, clicking the copy button copies the triggering command.
  • The repository, branch, pull request, commit hash, and person that triggered the invocation.
  • The status, duration, runner, Bazel version, and targets.

Invocation tests

Shows the list of tests with their target type and duration that are part of the task. The list is searchable and sortable by target type and duration.

Clicking a test opens more details about the test, including much of the same information as the task overview plus its current status and the number of attempts.

Build logs

Shows the raw output of the build logs, which you can search, open the full log in a new window, download, and scroll to the top or the bottom.