{"id":49711202,"url":"https://github.com/andrew-costa-10114/testing","last_synced_at":"2026-05-08T14:32:17.102Z","repository":{"id":275296102,"uuid":"925667936","full_name":"Andrew-Costa-10114/testing","owner":"Andrew-Costa-10114","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-01T13:25:36.000Z","size":43,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-31T12:13:59.260Z","etag":null,"topics":["dockerfile","github","jenkins","python","qa","qa-admins","testing-tools","usability"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Andrew-Costa-10114.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-01T12:51:16.000Z","updated_at":"2025-06-30T20:27:32.000Z","dependencies_parsed_at":"2025-02-01T14:24:23.481Z","dependency_job_id":"6d2c0650-4e9e-4a84-806e-0c8535805d2a","html_url":"https://github.com/Andrew-Costa-10114/testing","commit_stats":null,"previous_names":["andrew-costure/testing","andrew-costa-10114/testing"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Andrew-Costa-10114/testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrew-Costa-10114%2Ftesting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrew-Costa-10114%2Ftesting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrew-Costa-10114%2Ftesting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrew-Costa-10114%2Ftesting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Andrew-Costa-10114","download_url":"https://codeload.github.com/Andrew-Costa-10114/testing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andrew-Costa-10114%2Ftesting/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32784386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dockerfile","github","jenkins","python","qa","qa-admins","testing-tools","usability"],"created_at":"2026-05-08T14:32:16.301Z","updated_at":"2026-05-08T14:32:17.089Z","avatar_url":"https://github.com/Andrew-Costa-10114.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Github码仓接入JenkinsCI配置流程\n```\n1. Github码仓新增README.json文件，内容格式参考：\n     \u003c\u003e https://github.com/kraigyang/driver_display/blob/main/README.json\n     (Notes: \"test_repos\"字段是必选配置，其余为可选配置)\n\n2. Github码仓新增Jenkinsfile文件，内容格式参考：\n     \u003c\u003e https://github.com/kraigyang/driver_display/blob/main/Jenkinsfile\n     (Notes: environment环境变量根据实际情况做修改)\n\n3. Github端配置（Web页面：https://github.com/kern-crates/${repo}）：\n     \u003c\u003e Repo Left Settings -\u003e Webhooks -\u003e Payload URL:http://49.51.192.19:9095/github-webhook/ -\u003e Send me everything -\u003e 保存\n     \u003c\u003e User Right Settings -\u003e Developer Settings -\u003e Personal access tokens -\u003e Tokens(classic) -\u003e Generate （勾选repo与admin:repo_hook选项）-\u003e 保存\n\n4. Jenkins端配置（Web页面：http://49.51.192.19:9095）：\n     \u003c\u003e Dashboard -\u003e 系统管理 -\u003e 凭据 -\u003e 系统 -\u003e 全局凭据 (unrestricted) -\u003e Secret Text -\u003e 填入上步中Generate的Token -\u003e ID命名为\"GithubAccessToken\"（示例） -\u003e 保存\n     \u003c\u003e Pipeline -\u003e Configuration -\u003e 构建触发器（Github hook trigger for GITScm polling）-\u003e 流水线（Pipeline script from SCM） -\u003e Add CI monitored repo1/credentials1 -\u003e Add CI monitored repo2/credentials2  ...  -\u003e Add CI monitored repoN/credentialsN -\u003e 保存\n     (Notes: Repo URL中末尾的斜杠必须删掉)\n\n```\n# JenkinsCI容器Dockerfile\n```\n# 基于现有的 Jenkins 镜像\nFROM henshing/jenkins_saved:v3\n\n# 切换到 root 用户\nUSER root\n\n# 生成自定义启动脚本\nRUN printf '#!/bin/bash\\n# 启动 Jenkins\\nexec java -jar -DJENKINS_HOME=/home/jenkins_home /usr/share/jenkins/jenkins.war' \u003e /usr/local/bin/jenkins.sh\n\n# 确保启动脚本具有执行权限\nRUN chmod +x /usr/local/bin/jenkins.sh\n\n# 打印启动脚本内容\nRUN cat /usr/local/bin/jenkins.sh\n\n# 切换回 Jenkins 用户\nUSER jenkins\n\n# 设置启动命令\nENTRYPOINT [\"/usr/local/bin/jenkins.sh\"]\n```\n\n# JenkinsCI容器启动流程\n```\n# [image build]\nsudo docker build -t cicv/cicv_jenkins:v1 .    (Notes: 在Dockerfile所在目录执行)\n\n# [container start]\nsudo docker run -d --privileged -u root --name cicv_jenkins -p 9095:8080 -p 60000:50000 -v /home/jenkins_home:/home/jenkins_home -v /etc/localtime:/etc/localtime cicv/cicv_jenkins:v1     (Notes:  映射端口号9095和60000根据实际环境进行配置)\n```\n\n\n# v1.0仓库位置\nhttps://github.com/buhenxihuan/Starry\n\n\n# 整体流程描述\ngithub action目前在仓库发生push和pr时会自动触发，同时每个四个小时会定时触发，aciton触发后，也可以手动触发，按照auto_test.yml中的流程，先检出整个仓库的代码到aciton的机器中，而后进行前期环境准备，完成后调用pytest和allure进行测试并收集报告，最后通过allure将报告发送到github pages中进行展示。\n\n# auto_test.yml的流程见相应注释 \nhttps://github.com/buhenxihuan/Starry/blob/x86_64/.github/workflows/auto_test.yml\n\n# pytest和allure作用\npytest目录中 config.py文件为pytest执行时读取的配置文件，其中按照类别分别定义了clippy测试的配置，unikernel测试的配置，monolithic测试配置以及一些需要在报告中展示的信息\n\n关键代码为pytest/testcase目录下的test_arceos.py中的代码，具体作用请参见pytest的使用说明（https://learning-pytest.readthedocs.io/zh/latest/index.html ），简单来说就是通过pytest封装了原先从build_img.sh到make执行的过程，全部交由pytest和allure进行接管，从而可以方便的进行结果的收集与过滤\n\n# v1.0使用方法\n\n1. 将auto_test.yml放入.github/workflows(不存在则新建该目录)目录中\n2. 将pytest目录放入顶层目录下\n3. 向顶层Makefile中加入以下两行\n```shell\nTC ?= busybox\nexport AX_TC=$(TC)\n```\n4. 确保apps目录下有微内核和宏内核测例的入口\n5. 选择push、pr、定时或手动触发\n6. 若要在线查看报告，请使用github pages进行搭建（具体方法参照 https://docs.github.com/zh/pages/getting-started-with-github-pages/creating-a-github-pages-site ），在auto_test.yml中定义了一个github pages的分支名为gh-pages_ci，若要更改，请查找该文件中的gh-pages_ci字段自行进行替换\n7. 一个可以查看的示例 https://buhenxihuan.github.io/Starry/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrew-costa-10114%2Ftesting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrew-costa-10114%2Ftesting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrew-costa-10114%2Ftesting/lists"}