GitHub Pull Requests的Simulink模型比较
自动化Simulink的生成®模型差异的GitHub®使用GitHub动作拉请求和推事件。自动将比较报告附加到拉请求或推事件,以便在MATLAB外部查看®和仿真软件。看GitHub Pull Requests的Simulink模型比较(4min 46sec).
先决条件
下载MATLAB代码和YAML文件https://github.com/mathworks/Simulink-Model-Comparison-for-GitHub-Pull-Requests.
确保您的存储库启用了GitHub Actions。
在YAML文件中定义的操作使用自托管的运行程序。要将自托管运行程序添加到存储库中,请遵循下面的说明https://docs.github.com/en/actions/hosting-your-own-runners.
确保在使用的自宿主运行器上安装了MATLAB和Simulink。
使用GitHub动作附加Diff报告
GitHub Actions允许您自动化在YAML文件中定义的工作流。这个例子展示了如何设置在GitHub上的主分支的推送和拉请求时触发的工作流。这些工作流使用MATLAB代码文件:
使用Git™命令获取修改的模型文件及其祖先的列表。
将每个修改的模型与其祖先进行比较,并使用发布HTML比较报告
visdiff
.提示
要对更改进行同行评审,在发布报告时使用DOCX文件格式而不是HTML。使用DOCX文件允许审阅者在不同的块或参数上留下详细的注释。
当作业完成时,将所有模型比较报告上传到作业。
运行所有项目测试。
在GitHub上设置工作流:
将MATLAB代码文件添加到存储库中。选择添加文件>上传然后上传文件。然后,单击提交修改.
创建新的工作流:
在行动选项卡上,单击自己建立一个工作流程.
GitHub将所有工作流存储在
.github /工作流
文件夹中。如果它不存在,GitHub会自动创建.github /工作流
文件夹。复制您下载的一个YAML文件的内容,例如,
Diff_runTests_pullrequest.yml
,并粘贴在编辑新文件字段。重命名文件并单击开始提交>提交新的文件.
对下载的第二个YAML文件重复上述步骤。
或者,如果你已经有一个
.github /工作流
文件夹,将YAML文件上传到.github /工作流
并提交更改。
现在,当您将提交推到主分支或创建一个pull请求以将开发分支与main合并时,它会触发您设置的工作流。任务成功时,贡献者和审阅者就可以访问模型比较报告工件每个工作的部分。