> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/continuous-integration/use-harness-ci/use-harness-ci/viewing-builds.md).

# View builds

You can inspect past builds and monitor ongoing builds.

From the **Builds** page, you can inspect past builds and monitor the progress of ongoing builds. Select a build to investigate its status, logs, inputs, outputs, and artifacts.

### What you will learn from this topic

By the end of this topic, you will know how to:

* Find a build and review its status.
* Investigate build details, logs, inputs, and outputs.
* Access artifacts, tests, annotations, and dashboards.

### Before you begin

Before you view builds, ensure you have the following:

* **CI pipeline:** Go to [CI pipeline creation overview](/continuous-integration/use-harness-ci/use-harness-ci/prep-ci-pipeline-components.md) to create a CI pipeline with a Build stage.

### View builds

![Builds page showing current and past CI builds](https://4226796345-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqKtVmwAGTfGQS1MVC97G%2Fuploads%2Fgit-blob-a805d60b924ab546ca53748c49899bb75aa5624e%2Fci-builds-list.png?alt=media)

The **Builds** page provides the following information about current and past builds:

* **Pipeline Name:** The name of the pipeline that ran and the build number (**Execution Id**). Select the pipeline name to open the [Build details page](#build-details).
* **Status:** The build status, such as running, failed, or success.
* **Trigger:** How the build started, whether from a Git event, cron trigger, or manually. Builds triggered by webhooks can include the associated branch name, a link to the associated PR or commit, and the latest commit message. Go to [SCM status checks](/continuous-integration/use-harness-ci/use-harness-ci/codebase-configuration/scm-status-checks.md) to configure source code management (SCM) status checks.
* **Execution Start Time:** The name of the person that started the build, whether by webhook trigger or manually, and how long ago the build started.
* **Runtime:** How long the build ran.

### Build details <a href="#build-details" id="build-details"></a>

On the **Build details** page, you can investigate a variety of details about a specific build.

![Build details page showing pipeline stages and steps](https://4226796345-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqKtVmwAGTfGQS1MVC97G%2Fuploads%2Fgit-blob-1b0f2c5f635b9bbf328aebb1d6464c6c30b19874%2Fci-build-details-page.png?alt=media)

#### **Pipeline tab (logs)**

This tab shows the build stages and steps.

Select a step to investigate its logs, inputs, outputs, and errors. If enabled, [Harness AI](/continuous-integration/troubleshooting-and-resources/troubleshoot-harness-ci/ai.md) can provide troubleshooting assistance.

When troubleshooting failed builds, you can switch to **Console View** to allocate more screen space to logs. Once you have identified a potential cause, select **Edit Pipeline** to go directly to the Pipeline Studio.

#### **Inputs tab**

This tab lists pipeline-level inputs. Step-level inputs are reported in the step details on the [Pipeline tab](#pipeline-tab-logs).

#### **Artifacts tab**

This tab provides links to artifacts, such as images or reports, produced during the build.

Availability of artifact details depends on the upload location, build configuration, or build infrastructure. Go to [Publish to the Artifacts tab](/continuous-integration/use-harness-ci/use-harness-ci/build-and-upload-artifacts/artifacts-tab.md) to add artifact links to build details.

#### **Commits tab**

This tab provides a list of commits that triggered the build, along with source code repo links, if applicable.

#### **Tests tab**

This tab presents test results from **Run** or **Test** steps. Go to [View tests](/continuous-integration/use-harness-ci/use-harness-ci/run-tests/viewing-tests.md) to review test results.

#### **Annotations tab**

This tab presents all the annotations created during the build. Annotations provide a customizable summary of critical build metrics and are sorted by priority. Go to [Pipeline Annotations](/harness-platform/use-harness-platform/pipelines/harness-annotations.md) to configure build annotations.

#### **Other tabs**

The **Policy Evaluations** and **Security Tests** tabs report information from other Harness modules and features, such as [Harness Policy As Code](/harness-platform/use-harness-platform/governance/policy-as-code/harness-governance-quickstart.md#step-6-review-policy-evaluations), if these are enabled and included in the pipeline.

### Dashboards <a href="#dashboards" id="dashboards"></a>

Go to [Dashboards](/harness-platform/use-harness-platform/harness-dashboards/dashboard-legacy/dashboards-overview.md) to use Harness dashboards.

### Troubleshoot build log issues

Go to the [CI Knowledge Base](/continuous-integration/troubleshooting-and-resources/ci-articles-and-faqs/continuous-integration-faqs.md) to troubleshoot other build log issues.

<details>

<summary>Truncated execution logs</summary>

Each CI step supports a maximum log size of 5MB. Harness truncates logs larger than 5MB. If necessary, you can [export full logs](#export-full-logs).

Furthermore, there is a single-line limit of 25KB. If an individual line exceeds this limit, it is truncated and ends with `(log line truncated)`.

Note that the CI log limit is different from the [Harness CD log limit](/continuous-delivery/use-continuous-delivery/manage-deployments/deployment-logs-and-limitations.md).

**Export full logs**

If your log files are larger than 5MB, you can export execution logs to an external cache and examine the full logs there.

1. Add a step to your pipeline that records each step's complete logs into one or more files.
2. If you have a lot of log files or your logs are large, add a step to compress the log files into an archive.
3. Use an [Upload Artifact step](/continuous-integration/use-harness-ci/use-harness-ci/build-and-upload-artifacts/build-and-upload-an-artifact.md#upload-artifacts) to upload the log files to cloud storage.
4. Repeat the above process for each stage in your pipeline for which you want to export the full logs.
5. Examine the log files in your cloud storage. If you used the **S3 Upload and Publish** or **Artifact Metadata Publisher** plugins, you can find direct links to your uploaded files on the **Artifacts** tab on the [Build detail page](/continuous-integration/use-harness-ci/use-harness-ci/viewing-builds.md).

{% hint style="info" %}
**LOG FORWARDING**

You can also use a service, such as [env0](https://docs.env0.com/docs/logs-forwarding), to forward logs to platforms suited for ingesting large logs.
{% endhint %}

</details>

<details>

<summary>Step logs disappear</summary>

If step logs disappear from pipelines that are using a Kubernetes cluster build infrastructure, you must either allow outbound communication with `storage.googleapis.com` or contact [Harness Support](mailto:support@harness.io) to enable the `CI_INDIRECT_LOG_UPLOAD` feature flag.

You must restart your delegate after you enable the `CI_INDIRECT_LOG_UPLOAD` feature flag.

Use these resources to configure connectivity:

* [Delegate system requirements - Network requirements](https://developer.harness.io/harness-platform/use-harness-platform/delegates/delegate/delegate-concepts/delegate-requirements#network-requirements)
* [Allowlist Harness Domains and IPs](https://developer.harness.io/harness-platform/use-harness-platform/references/allowlist-harness-domains-and-ips)

</details>

<details>

<summary>CI step logs do not load in real time</summary>

Go to [CI step logs do not load in real time](/continuous-integration/troubleshooting-and-resources/troubleshoot-harness-ci/ci-step-logs-real-time-load.md) to troubleshoot delayed or unavailable live logs.

</details>

<details>

<summary>Step succeeds when a Bash script exits in the background</summary>

Harness determines the execution status for a step based on the exit status received from the primary script execution.

When you call a function in the background of a script, it doesn't directly impact the exit status of the main script. Therefore, if you manually call `exit 1` within a background function, it won't cause the step to fail if the primary script succeeds.

This behavior is consistent with how scripts operate both inside and outside of Harness.

</details>

<details>

<summary>A previous execution is missing from the Builds dashboard or Project Overview page</summary>

The default timescale setting for the overview page is 30 days. You can change this setting.

</details>

### Next steps

Use these resources to investigate CI builds:

* [View tests](/continuous-integration/use-harness-ci/use-harness-ci/run-tests/viewing-tests.md): Inspect test results.
* [Publish to the Artifacts tab](/continuous-integration/use-harness-ci/use-harness-ci/build-and-upload-artifacts/artifacts-tab.md): Expose artifact links in build details.
* [SCM status checks](/continuous-integration/use-harness-ci/use-harness-ci/codebase-configuration/scm-status-checks.md): Configure source code management status checks.

{% @harness-feedback/feedback %}
