Web UI
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.
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.
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
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.