# Build

> CI/CD workflows, how to build this site, and how to perform various site maintenance activities

---

LLMS index: [llms.txt](/llms.txt)

---

This section documents the CI/CD workflows, NPM scripts, and helper scripts that
power the OpenTelemetry website's build, deployment, and maintenance processes.

## Build kinds: full and lean {#build-kinds}

In addition to **full** (regular) Hugo website builds, Docsy supports **lean
builds** that, among other things, allow for much faster link checking while
still maintaining full check coverage. For details, see [Chrome build modes][]
in the Docsy docs.

Some build npm scripts always build the same kind of site (full or lean). Others
use the value of the `BUILD_KIND` environment variable and default to `lean`
when unset.

| Script                     | Build kind   | Drafts/future | Minify |
| -------------------------- | ------------ | ------------- | ------ |
| `build`                    | `BUILD_KIND` | yes           | no     |
| `build:full`               | full         | yes           | no     |
| `build:lean`               | lean         | yes           | no     |
| `build:preview`            | full         | yes           | yes    |
| `build:production`         | full         | no            | yes    |
| `log:build` (CI artifact)  | `BUILD_KIND` | yes           | no     |
| `netlify-build:preview`    | full         | yes           | yes    |
| `netlify-build:production` | full         | no            | yes    |
| Most other commands        | `BUILD_KIND` | yes           | no     |

Most checks that force a fresh build first, such as link-checking, use
`BUILD_KIND`. For details about the link checking scripts, see
[Link checking](./link-checking/).

<!-- prettier-ignore-start -->
[Chrome build modes]: https://github.com/google/docsy/blob/main/docsy.dev/content/en/docs/deployment/chrome.md
<!-- prettier-ignore-end -->

---

Section pages:

- [CI workflows](/site/build/ci-workflows/): GitHub Actions workflows that automate PR checks, label management, and other CI/CD processes.
- [Link checking](/site/build/link-checking/): How the site's links are checked, locally and in CI.
- [Content module patches](/site/build/content-module-patches/): Creating and managing temporary patches for content modules between releases.
- [NPM scripts](/site/build/npm-scripts/): NPM scripts for building, serving, validating, and maintaining the OpenTelemetry website.
- [Helper scripts](/site/build/scripts/): Shell scripts used by CI workflows and local development for label management, link checking, registry updates, and more.
- [Collector Component Automation](/site/build/collector-components/): Explanation of the automation process for OpenTelemetry Collector components.
- [Setting up a new localization](/site/build/localization/): Step-by-step maintainer guide for onboarding a new language localization to the OpenTelemetry website.
- [Homepage announcements](/site/build/announcements/): Front matter fields and rendering behavior for homepage announcement pages.
