demaconsulting/SpdxWorkflows

GitHub: demaconsulting/SpdxWorkflows

SPDX 工作流集合,用于自动化捕获构建工具版本信息并生成和增强 SPDX 格式的软件物料清单(SBOM)。

Stars: 0 | Forks: 0

# SpdxWorkflows [![GitHub forks](https://img.shields.io/github/forks/demaconsulting/SpdxWorkflows?style=plastic)][link-forks] [![GitHub stars](https://img.shields.io/github/stars/demaconsulting/SpdxWorkflows?style=plastic)][link-stars] [![GitHub contributors](https://img.shields.io/github/contributors/demaconsulting/SpdxWorkflows?style=plastic)][link-contributors] [![License](https://img.shields.io/github/license/demaconsulting/SpdxWorkflows?style=plastic)][link-license] [![Build](https://img.shields.io/github/actions/workflow/status/demaconsulting/SpdxWorkflows/build_on_push.yaml?style=plastic)][link-build] DEMA Consulting 的标准 [SpdxTool][link-spdxtool] workflow YAML 文件集合,用于 捕获构建工具版本信息并填充 [SPDX][link-spdx] 软件物料清单 (SBOM)。 ## 功能 此集合提供: - **版本发现 Workflows**:检测并捕获常见构建工具的已安装版本 —— .NET SDK, GCC, MSBuild, NuGet, VSTest 和 IAR EW ARM - **SPDX Package Workflows**:将构建工具包添加到 SPDX 文档 —— .NET SDK, GCC, MSBuild, NuGet, VSTest 和 IAR EW ARM - **NuGet SPDX 增强**:使用源自 NuGet 包自身 SPDX 文档的元数据丰富 SPDX 文档包 - **多平台支持**:Workflows 旨在针对 Windows 和 Linux 构建环境 - **MSTest V4**:使用 MSTest framework 版本 4 进行现代单元测试 - **全面的 CI/CD**:包含质量检查和构建的 GitHub Actions workflows ## 安装 SpdxWorkflows 通过 URL 直接在您自己的 SpdxTool workflow YAML 文件中引用。 除了确保 SpdxTool 可用外,无需单独的安装步骤。 使用 .NET CLI 安装 SpdxTool: ``` dotnet tool install --global DemaConsulting.SpdxTool ``` ## 使用 通过向 `run-workflow` 命令提供带版本的 GitHub URL 和可选的 SHA-512 完整性哈希来引用 workflow: ``` - command: run-workflow inputs: url: 'https://github.com/demaconsulting/SpdxWorkflows/blob/0.1.0/GetDotNetVersion.yaml' integrity: d9c80d18f6ad6b3cbd5facb28d6c5712bc68c58ace11ebf890cfc92e0857628b parameters: outputs: ``` 将 `0.1.0` 替换为所需的 release tag。有关可用版本及其 workflow 完整性哈希,请参阅 [Releases][link-releases]。 ## 可用 Workflows ### 版本发现 这些 workflows 检测并捕获构建工具的已安装版本。所有版本发现 workflows 均生成单个 `version` 输出参数。 | Workflow | 描述 | 平台 | | --- | --- | --- | | [GetDotNetVersion.yaml][link-wf-getdotnet] | 获取已安装的 .NET SDK 版本 | Windows, Linux | | [GetGccVersion.yaml][link-wf-getgcc] | 获取已安装的 GCC 版本 | Linux | | [GetIarEwArmVersion.yaml][link-wf-getiar] | 获取已安装的 IAR EW ARM 版本 | Windows | | [GetMsBuildVersion.yaml][link-wf-getmsbuild] | 获取已安装的 MSBuild 版本 | Windows | | [GetNugetVersion.yaml][link-wf-getnuget] | 获取已安装的 NuGet 版本 | Windows | | [GetNugetPackagePath.yaml][link-wf-getnugetpath] | 获取本地缓存中 NuGet 包的路径 | Windows | | [GetVsTestVersion.yaml][link-wf-getvstest] | 获取已安装的 VSTest 版本 | Windows | ### SPDX Package 添加 这些 workflows 将构建工具条目作为包添加到现有的 SPDX 文档中。 | Workflow | 描述 | 平台 | | --- | --- | --- | | [AddDotNetPackage.yaml][link-wf-adddotnet] | 将 .NET SDK 包添加到 SPDX 文档 | Windows, Linux | | [AddGccPackage.yaml][link-wf-addgcc] | 将 GCC 包添加到 SPDX 文档 | Linux | | [AddIarEwArmPackage.yaml][link-wf-addiar] | 将 IAR EW ARM 包添加到 SPDX 文档 | Windows | | [AddMsBuildPackage.yaml][link-wf-addmsbuild] | 将 MSBuild 包添加到 SPDX 文档 | Windows | | [AddNugetPackage.yaml][link-wf-addnuget] | 将 NuGet 包添加到 SPDX 文档 | Windows | | [AddVsTestPackage.yaml][link-wf-addvstest] | 将 VSTest 包添加到 SPDX 文档 | Windows | | [EnhancePackageFromNugetSpdx.yaml][link-wf-enhance] | 使用 NuGet SPDX 文档中的元数据增强 SPDX 包 | Windows | 有关完整的参数和输出详细信息,请参阅 [User Guide][link-guide]。 ## 文档 - **[User Guide][link-guide]**:Workflow 参数、输出和使用示例 ## 许可证 Copyright (c) DEMA Consulting. 根据 MIT 许可证授权。详见 [LICENSE][link-license]。 通过为此项目做出贡献,您同意您的贡献将根据 MIT 许可证进行授权。
标签:DEMMA Consulting, DevSecOps, GCC, GitHub Actions, IAR EW ARM, LLM防护, LNA, MSBuild, NuGet, SBOM, SPDX, SpdxTool, VSTest, YAML, 上游代理, 多人体追踪, 安全库, 嵌入式开发, 工作流, 开源合规, 版本检测, 硬件无关, 自动笔记, 许可证管理, 跌倒检测, 软件物料清单