1515 "docs/sourceos/PACKAGING.md" ,
1616 "docs/sourceos/RELEASE_CHECKLIST.md" ,
1717 "docs/sourceos/SESSION_CONTRACT.md" ,
18+ "docs/sourceos/SUPPLY_CHAIN.md" ,
1819 "docs/sourceos/UPSTREAM_SYNC.md" ,
1920 "assets/sourceos/bin/turtle-term" ,
2021 "assets/sourceos/bin/sourceos-term" ,
6667 "linux-arm64" ,
6768 "softprops/action-gh-release" ,
6869 "turtle-term-*.tar.gz.manifest.json" ,
70+ "anchore/sbom-action" ,
71+ "actions/attest@v4" ,
6972]
7073
7174REQUIRED_PACKAGE_SCRIPT_SNIPPETS = [
7578 "--archive" ,
7679]
7780
81+ REQUIRED_SUPPLY_CHAIN_SNIPPETS = [
82+ "GitHub artifact attestations" ,
83+ "SPDX JSON SBOM" ,
84+ "verify-turtle-term-artifact.py" ,
85+ "turtle-term-<version>-<target>.tar.gz.manifest.json" ,
86+ ]
87+
7888
7989def read (path : str ) -> str :
8090 return (ROOT / path ).read_text (encoding = "utf-8" )
@@ -97,6 +107,7 @@ def main() -> int:
97107 assert_contains ("packaging/homebrew/Formula/turtle-term.rb" , REQUIRED_FORMULA_SNIPPETS )
98108 assert_contains (".github/workflows/turtle-term-release.yml" , REQUIRED_RELEASE_WORKFLOW_SNIPPETS )
99109 assert_contains ("packaging/scripts/package-turtle-term.sh" , REQUIRED_PACKAGE_SCRIPT_SNIPPETS )
110+ assert_contains ("docs/sourceos/SUPPLY_CHAIN.md" , REQUIRED_SUPPLY_CHAIN_SNIPPETS )
100111
101112 install = read ("docs/sourceos/INSTALL.md" )
102113 assert "Windows packaging is postponed" in install
0 commit comments