feat: add example usage for ve482 p1 pre-check
This commit is contained in:
parent
3de4dccb79
commit
1d93ff7226
51
examples/ve482.py
Normal file
51
examples/ve482.py
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
import glob
|
||||||
|
import ntpath
|
||||||
|
|
||||||
|
from joint_teapot import Teapot, logger
|
||||||
|
|
||||||
|
|
||||||
|
class MyTeapot(Teapot):
|
||||||
|
def ve482p1(self) -> None:
|
||||||
|
for repo_name in self.gitea.get_all_repo_names():
|
||||||
|
if not repo_name.endswith("p1"):
|
||||||
|
continue
|
||||||
|
faults = []
|
||||||
|
succeed = self.checkout_to_repo_by_release_name(repo_name, "p1")
|
||||||
|
if succeed:
|
||||||
|
contain_c_file = False
|
||||||
|
contain_readme_file = False
|
||||||
|
for fn in glob.glob(f"{self.git.repos_dir}/{repo_name}/*.*"):
|
||||||
|
basename = ntpath.basename(fn)
|
||||||
|
if basename.endswith(".c"):
|
||||||
|
contain_c_file = True
|
||||||
|
if basename.lower().startswith("readme"):
|
||||||
|
contain_readme_file = True
|
||||||
|
if not contain_c_file:
|
||||||
|
faults.append(
|
||||||
|
"no C file found in root directory in release p1, "
|
||||||
|
"can not compile on JOJ"
|
||||||
|
)
|
||||||
|
if not contain_readme_file:
|
||||||
|
faults.append(
|
||||||
|
"no README file found in root directory in release p1"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
faults.append("no release named p1")
|
||||||
|
if faults:
|
||||||
|
fault_string = ""
|
||||||
|
for fault in faults:
|
||||||
|
fault_string += f"- {fault}\n"
|
||||||
|
logger.info("\n".join(("", repo_name, "", fault_string)))
|
||||||
|
self.gitea.issue_api.issue_create_issue(
|
||||||
|
self.gitea.org_name,
|
||||||
|
repo_name,
|
||||||
|
body={
|
||||||
|
"body": fault_string,
|
||||||
|
"title": "p1 submission pre-check failed",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
teapot = MyTeapot()
|
||||||
|
teapot.ve482p1()
|
Loading…
Reference in New Issue
Block a user