<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How Chainguard builds and tests containers on</title><link>https://deploy-preview-3927--ornate-narwhal-088216.netlify.app/chainguard/containers/concepts/how-we-build-and-test/</link><description>Recent content in How Chainguard builds and tests containers on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>Copyright (c) 2023 Chainguard</copyright><lastBuildDate>Fri, 04 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://deploy-preview-3927--ornate-narwhal-088216.netlify.app/chainguard/containers/concepts/how-we-build-and-test/index.xml" rel="self" type="application/rss+xml"/><item><title>Chainguard criteria for determining whether to build a container image</title><link>https://deploy-preview-3927--ornate-narwhal-088216.netlify.app/chainguard/containers/concepts/how-we-build-and-test/what-chainguard-will-build/</link><pubDate>Mon, 13 Jan 2025 11:07:52 +0200</pubDate><guid>https://deploy-preview-3927--ornate-narwhal-088216.netlify.app/chainguard/containers/concepts/how-we-build-and-test/what-chainguard-will-build/</guid><description>&lt;p&gt;There are currently over &lt;a href="https://images.chainguard.dev/?utm_source=cg-academy&amp;amp;utm_medium=referral&amp;amp;utm_campaign=dev-enablement"&gt;2,000 Chainguard Containers&lt;/a&gt; and that number is always growing as we add more to our expanding catalog.&lt;/p&gt;
&lt;p&gt;If you would like a Chainguard Container that is not yet available, or inquire about whether we would build a given container image, Chainguard will endeavor to perform an analysis on the request. Chainguard aims to build new container images that are relevant to our customers and to support broader software security goals. However, it is not always feasible to package and build software. Please note that we have the following general criteria when considering requests.&lt;/p&gt;</description></item><item><title>How Chainguard Containers are tested</title><link>https://deploy-preview-3927--ornate-narwhal-088216.netlify.app/chainguard/containers/concepts/how-we-build-and-test/images-testing/</link><pubDate>Thu, 21 Mar 2024 11:07:52 +0200</pubDate><guid>https://deploy-preview-3927--ornate-narwhal-088216.netlify.app/chainguard/containers/concepts/how-we-build-and-test/images-testing/</guid><description>&lt;p&gt;Chainguard Containers are minimal, distroless container images that you can use to build and run secure applications. Given the importance of secure, highly performant images, Chainguard performs testing to ensure our container images match the functionality of upstream and other external counterparts.&lt;/p&gt;
&lt;p&gt;This article provides a high-level overview of Chainguard&amp;rsquo;s approach to testing when building new container images to ensure their security and consistency with comparable container images.&lt;/p&gt;
&lt;h2 id="build-requirements-for-new-container-images" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Build requirements for new container images&lt;/span&gt;
&lt;a href="#build-requirements-for-new-container-images" class="anchor" aria-label="Link to Build requirements for new container images" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Chainguard has a set of requirements in place that new container images must meet in order to be included in our &lt;a href="https://images.chainguard.dev?utm=docs"&gt;Containers Directory&lt;/a&gt;. These requirements fall into two categories:&lt;/p&gt;</description></item><item><title>Reproducibility and Chainguard Containers</title><link>https://deploy-preview-3927--ornate-narwhal-088216.netlify.app/chainguard/containers/concepts/how-we-build-and-test/repro/</link><pubDate>Mon, 20 May 2024 12:21:01 +0000</pubDate><guid>https://deploy-preview-3927--ornate-narwhal-088216.netlify.app/chainguard/containers/concepts/how-we-build-and-test/repro/</guid><description>&lt;p&gt;A build is reproducible when the same inputs produce the same output, bit for bit, regardless of who runs it and when they run it. Chainguard builds its containers with &lt;a href="https://github.com/chainguard-dev/apko"&gt;apko&lt;/a&gt; from a declarative configuration, and publishes that configuration as a signed attestation on every build. You can retrieve the configuration, rebuild the container yourself, and check the digest you get against the one Chainguard published.&lt;/p&gt;
&lt;h2 id="what-reproducibility-requires" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;What reproducibility requires&lt;/span&gt;
&lt;a href="#what-reproducibility-requires" class="anchor" aria-label="Link to What reproducibility requires" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Reproducibility requires more than a build that succeeds twice. Binary identical means every byte matches, so a reproducible build has to control three things:&lt;/p&gt;</description></item></channel></rss>