|
||
---|---|---|
学习笔记 | ||
README.md |
README.md
需求描述
LearningOS在github上的CI包括五种类型:
- Test:测例
- Guide:实验指导书
- Code:实验源码
- Checker:CI的检查代码
- Rank:排名
由于github访问不稳定,且存在被禁用的风险。为了提高学习者的便利性,且提高LearningOS课程的稳定性,需要在gitlink上重新实现这些CI。
LearningOS的实现不只是CI,还有classroom的功能。classroom功能的实现还需要gitlink的大力支持。
工作内容
概述
本小组的工作是进行OSLearning的CI从github向gitlink迁移。具体的内容是:
- rustling CI的迁移(试手)
- 测例的迁移:uCore-Tutorial-Test-2023S、rCore-Tutorial-Test-2023S
- 实验指导书的迁移:uCore-Tutorial-Guide-2023S、rCore-Tutorial-Guide-2023S
- 实验源码的迁移:rCore-Tutorial-Code-2023S、uCore-Tutorial-Code-2023S
- CI检查代码的迁移:uCore-Tutorial-Checker-2023S、rCore-Tutorial-Checker-2023S
- 排名系统的迁移:2023S-OS-rCore-Classroom-Rank-list、2023S-OS-uCore-Classroom-Rank-list
第一周
(230329-230402)
- 学习gitlink和github的CI
第二周
(230403-230409)
工作计划:
- 每位同学和工程师都需要尝试rustling的CI迁移到gitlink,进行练手。
- 同学和工程师从五种CI里选一种进行分析,形成详细的分析文档,放到学习笔记。即为接下来的迁移指明方向,也为其他开发者提供学习资料。
- SZX转移github上的相关代码,摆脱代码内部对github的间接依赖。
第三周
(230410-230416)
工作计划:
- 我们逐渐认识到LearningOS的CI与github classroom有深度绑定的关系,需要与gitlink的工程师交流看能得到怎样的支持。
- 其它需要确定的事项:
- os测试的结果是以github pages的形式存放,希望gitlink提供持久化存放数据的功能,比如json文件
- 希望可以从外部获取gitlink持久化存放的数据
- 怎么配置docker,提供自定义环境,比如rust编译环境
第四周
实验指导书和排名系统是相对独立的功能,目前可以暂不考虑。目前要迁移的CI:测例、实验源码、CI检查代码。
(230417-230423)
-
已经完成了一个在gitlink CI上执行uCore lab2测例的demo,可以正常执行。
-
请考虑实现一个满足uCore实验运行环境的节点。
至少应包含如下环境:
cmake gcc-riscv64-unknown-elf build-essential git python3-minimal qemu-system-riscv64 # v7.0.0 riscv64-linux-musl-cross.tgz # 需要在环境变量PATH里能找到riscv64-linux-musl-gcc
参考资料:https://jianmu-docs.assets.dghub.cn/jianmu-docs/2.7.5/guide/custom-node
-
请考虑实现一个满足rCore实验运行环境的节点。
最小包含环境需自行探索
参考资料:https://jianmu-docs.assets.dghub.cn/jianmu-docs/2.7.5/guide/custom-node
目录结构
- README.md - 本文档
- 学习笔记/ - 此目录用于存放本组成员的学习笔记
- github_actions.md - 关于github actions的学习笔记
- githubCI_VS_gitlinkCI.md - githubCI与gitlinkCI进行对比的学习笔记
- 转移github上的仓库.md - github上相关转移仓库说明
示例:创建建木节点.md
- 在gitlink上创建及使用建木节点的例子