demaconsulting/SpdxWorkflows
GitHub: demaconsulting/SpdxWorkflows
SPDX 工作流集合,用于自动化捕获构建工具版本信息并生成和增强 SPDX 格式的软件物料清单(SBOM)。
Stars: 0 | Forks: 0
# SpdxWorkflows
[][link-forks]
[][link-stars]
[][link-contributors]
[][link-license]
[][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, 上游代理, 多人体追踪, 安全库, 嵌入式开发, 工作流, 开源合规, 版本检测, 硬件无关, 自动笔记, 许可证管理, 跌倒检测, 软件物料清单