<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pull Request CI &amp; Secrets on Sonatype Open Source Community Handbook</title><link>https://contribute.sonatype.com/docs/standards/pull-request-ci/</link><description>Recent content in Pull Request CI &amp; Secrets on Sonatype Open Source Community Handbook</description><generator>Hugo</generator><language>en</language><atom:link href="https://contribute.sonatype.com/docs/standards/pull-request-ci/index.xml" rel="self" type="application/rss+xml"/><item><title>Reference Workflows</title><link>https://contribute.sonatype.com/docs/standards/pull-request-ci/reference-workflows/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://contribute.sonatype.com/docs/standards/pull-request-ci/reference-workflows/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;&#10;&lt;p&gt;&lt;strong&gt;DRAFT.&lt;/strong&gt; These workflows implement the &lt;a href="https://contribute.sonatype.com/docs/standards/pull-request-ci/"&gt;Pull Request CI &amp;amp; Secrets&lt;/a&gt; standard. Every snippet has been checked to parse as YAML. They have &lt;strong&gt;not&lt;/strong&gt; been linted with actionlint or zizmor, and &lt;strong&gt;have not been run end to end in GitHub Actions&lt;/strong&gt;. Treat them as a design to review, not as tested code.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="contents"&gt;Contents&lt;a class="td-heading-self-link" href="#contents" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://contribute.sonatype.com/docs/standards/pull-request-ci/reference-workflows/#how-the-pieces-fit"&gt;How the pieces fit&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://contribute.sonatype.com/docs/standards/pull-request-ci/reference-workflows/#tier-1-the-ci-workflow"&gt;Tier 1: the CI workflow&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://contribute.sonatype.com/docs/standards/pull-request-ci/reference-workflows/#tier-2-the-lifecycle-evaluation-workflow"&gt;Tier 2: the Lifecycle evaluation workflow&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://contribute.sonatype.com/docs/standards/pull-request-ci/reference-workflows/#trusted-refs-the-authoritative-evaluation"&gt;Trusted refs: the authoritative evaluation&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://contribute.sonatype.com/docs/standards/pull-request-ci/reference-workflows/#repository-configuration"&gt;Repository configuration&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://contribute.sonatype.com/docs/standards/pull-request-ci/reference-workflows/#why-each-part-is-the-way-it-is"&gt;Why each part is the way it is&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="how-the-pieces-fit"&gt;How the pieces fit&lt;a class="td-heading-self-link" href="#how-the-pieces-fit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;File&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Trigger&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Has secrets?&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Runs PR code?&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Job&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;.github/workflows/ci.yaml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;pull_request&lt;/code&gt;, &lt;code&gt;push&lt;/code&gt; to &lt;code&gt;main&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;No&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Build, test, and produce the scan input&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;.github/workflows/lifecycle-evaluate.yaml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;workflow_run&lt;/code&gt; of &lt;code&gt;CI&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Evaluate the scan input and report&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;.github/workflows/lifecycle-release.yaml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;push&lt;/code&gt; to &lt;code&gt;main&lt;/code&gt; or release tags&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Only reviewed, merged code&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Authoritative evaluation&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;The name of the first workflow (&lt;code&gt;CI&lt;/code&gt;) is referenced by the second, so the two must agree.&lt;/p&gt;</description></item></channel></rss>