ããã«é¢ããèšäºã¯ãããããããŸããããã®åé¡ã®èæ¯ã«ã€ããŠã¯ã以äžã®ãç»é²ãã®èšäºãåç §ããŠãã ããã
Travis CIãlibseccompã«å¯ŸããŠæœåšçã«ä¿¡é Œã§ããªããªã£ããããCIãã¹ããGitHubã¢ã¯ã·ã§ã³ã«ç§»è¡ããããšã調æ»ããå¿ èŠããããŸãã
TravisCIããGithubActionsã«ç§»è¡ããããã®ã¬ã€ãã¯æ¬¡ã®ãšããã§ãã ä»åŸæ°æ¥éã§ãããè©ŠããŠã¿ãããšæã£ãŠããŸã
https://docs.github.com/en/free-pro-team@latest/actions/learn -github-actions / migrating-from-travis-ci-to-github-actions
GithubActionsã®å€èŠ³ãæ¬åœã«æ°ã«å ¥ã£ãŠããŸãã libcgroupãTravisCIããGithubActionsã«åãæ¿ãããããã»ãããéä¿¡ããŸããã
https://github.com/drakenclimber/libcgroup/tree/issues/github_actions
https://sourceforge.net/p/libcg/mailman/message/37165461/
ä»é±ã¯libseccompã移è¡ããããã®ãããã»ããããŸãšããããšæããŸãã
ããã¯ããã§ãã
ãããç§ã®çŸåšã®ç¶æ³ã§ãã çŸåšã®TravisCIãœãªã¥ãŒã·ã§ã³ãããããã«éžè±ããamd64ã§åäœãããŠããŸãããä»ã®ã¢ãŒããã¯ãã£ã«ã€ããŠæžå¿µããããŸãã
é·æïŒ
çæïŒ
ä»ã®ïŒ
--exclude src/arch-syscall-check.c
lcovãã©ã°ãæ©èœããŠããŸããã çç±ãããããªããããç§ã®çŸåšã®ç¶æ³ã§ãã çŸåšã®TravisCIãœãªã¥ãŒã·ã§ã³ãããããã«éžè±ããamd64ã§åäœãããŠããŸãããä»ã®ã¢ãŒããã¯ãã£ã«ã€ããŠæžå¿µããããŸãã
é·æïŒ
- 䜿ããããã GithubActionsã§ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã¯ãŒã¯ãããŒããã°ããã»ããã¢ããã§ããŸãã
- æäœãã¢ã¯ã·ã§ã³ã«ã«ãã»ã«åããã®ãç°¡åã§ãã ãããã®ã¢ã¯ã·ã§ã³ã¯ãã¯ãŒã¯ãããŒå ã§åå©çšã§ããŸãã ïŒäžæè°ãªããšã«ãã¢ã¯ã·ã§ã³ã¯å¥ã®ã¢ã¯ã·ã§ã³ãåŒã³åºãããšãã§ããŸãããïŒ
- 蚱容å¯èœãªé床ïŒå°ãªããšãamd64ã®å ŽåïŒã ãã¹ãã¹ã€ãŒãå šäœã22åã§å®äºããŸãã
- åªããGUIãšå€±æããæé ãæ確ã«ç€ºãããŠãã
- ç§ã¯GithubActionsã®äžŠååãªãã·ã§ã³ãæ¬åœã«å¥œãã§ãä»ã®ãžã§ããå®äºãããçµæãç §åããæ©èœãæäŸããŸãã ãã¹ãŠã®ãã¹ããå®è¡ãããåŸãlibcgroupã§ãã®æ©èœã䜿çšããŠãã³ãŒãã«ãã¬ããžæ°ã
çæïŒ
ä»ã®ã¢ãŒããã¯ãã£ã®ãã€ãã£ããµããŒãã¯ãããŸãã
- githubã®åŸæ¥å¡ã¯ãarm64Dockerã³ã³ãããå®è¡ããããã«ãã®åé¿çãæäŸããŸããã ç§ã¯ãããè©ŠããŠã¿ãŸããããå°ãæãå ããããšã§ãåºæ¬çãªãã¹ãã¹ã€ãŒããã»ãŒæ©èœãããããšãã§ããŸããã ïŒãã¹ã52-åºæ¬çãªããŒã-äœããã®å¥åŠãªçç±ã§å€±æããŸãããïŒãããããã®ã»ããã¢ãããããŒã«ã«ã§åçŸããããšã¯å°é£ã§ããããããã°ã¯éèŠãªèª²é¡ã§ãã Pythonãã¹ããæ©èœãããããšãã§ããŸããã§ããã ãããããã¯æ¬åœã«ãæ¬åœã«é ãã§ã-arm64ã§ç°¡çŽ åãããäžé£ã®ãã¹ããå®è¡ããã®ã«1æéããããŸããã ppc64elã¯ç§ãããã殺ãåã«
- githubãŠãŒã¶ãŒã¯ãDockerã³ã³ããã䜿çšããŠéãã€ãã£ãã¢ãŒããã¯ãã£ãå®è¡ãããã®ã¢ã¯ã·ã§ã³ãäœæããŸããã æ§æã¯ããäžæ Œå¥œã§ãã³ãŒããè€è£œããå¿ èŠããããŸãã ãµããŒããããŠããã¢ãŒããã¯ãã£ãšãã©ãããã©ãŒã ã®ãªã¹ãã¯ããªãè¯ãã§ãã
- Github Actionsã¯ã»ã«ããã¹ãã©ã³ããŒã®äœ¿çšããµããŒãããŠããããã1ã€ã®ïŒéãïŒãªãã·ã§ã³ã¯ãå°çšã®arm64ãppc64leãªã©ã®ããã¯ã¹ãèŠã€ããŠããã䜿çšããŠãã¹ããå®è¡ããããšã§ãã ããã®å©ç¹ã¯ããããã°ãDockerã³ã³ãããããã¯ããã«ç°¡åã«ãªãããšã§ãã
ä»ã®ïŒ
- Coveralls.ioã¯Githubã¢ã¯ã·ã§ã³ãäœæããŸããã æ¢åã®TravisCIãœãªã¥ãŒã·ã§ã³ã§ããcpp- coverallsã¯ãGithub Actionsã§æ©èœããŸããã䞊åãã«ãã§èŠåŽããŸããã libcgroupã§ã䞊è¡ããŸã
- Coverallsã®ã¢ã¯ã·ã§ã³ãå©çšããã«ã¯ã lcovãçŽæ¥åŒã³åºããŠlcov.infoãã¡ã€ã«ãçæããå¿ èŠããããŸããã 次ã«ããã®ãã¡ã€ã«ã¯coveralls.ioã«ã¢ããããŒããããŸãã lcovãçŽæ¥äœ¿çšãããšããããã«ç°ãªãã«ãã¬ããžæ°ãçæãããããšã«æ³šæããŠãã ããã ããšãã°ãTravis CIãœãªã¥ãŒã·ã§ã³ã§ã¯ããã®è¡ãã«ããŒãããŠãããã©ããã¯æå®ãããŠããŸããããGithubActionsãœãªã¥ãŒã·ã§ã³ã§ã¯æ瀺çã«ã«ããŒãããŠããªããšåŒã°ããŠããŸãã ãã®å ŽåãGithub Actionsã¯æ£ãããšæããŸããçŸåšã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãã«ãã¬ããžæ°ããããã«èª€ã£ãŠå ±åãããŠããŸãã
- èªå·±ã¡ã¢-
--exclude src/arch-syscall-check.c
lcovãã©ã°ãæ©èœããŠããŸããã çç±ãããããªã
macOSã§Vagrantã䜿çšããã®ã¯ã©ãã§ããïŒ
macOSã§Vagrantã䜿çšããã®ã¯ã©ãã§ããïŒ
ãã®åé¡ã¯ç¹ã«ãCIãã¹ããTravisCIããGitHubActionsã«ç§»è¡ããããšã«é¢ãããã®ã§ãããlibseccompã®äžè¬çãªéçºãšãã¹ãã«é¢ãããã®ã§ã¯ãããŸããã MacOSãGitHubActionsã®ãªãã·ã§ã³ã§ãããã©ããã¯ããããŸãããããšãããã ã£ããšããŠããã«ãŒãã«ãµããŒãããªããããç§ãã¡ã«ãšã£ãŠã¯äžé©åãªéžæã§ããå¯èœæ§ããããŸãïŒãã©ã€ãããã¹ãã¯éãããŠããŸãããéèŠã§ãïŒã
ãããç§ã®çŸåšã®ç¶æ³ã§ãã çŸåšã®TravisCIãœãªã¥ãŒã·ã§ã³ãããããã«éžè±ããamd64ã§åäœããGithubActionsããããŸãããä»ã®ã¢ãŒããã¯ãã£ã«ã€ããŠæžå¿µããããŸãã
ãã®@drakenclimberã調ã¹ãŠãããŠããããšããéãããã¢ãŒããã¯ãã£ã®ãµããŒãã¯éââåžžã«æ®å¿µã§ãã çŸåšãTravis CIã§å®éã«å€ãã®åé¡ãçºçããŠããããã§ã¯ãªãã®ã§ãæ··ä¹±ãçãããŸã§Travisãç¶ç¶ããã®ã§ã¯ãªãã§ããããã
lcov / Coverallsã®ã³ã¡ã³ãã«ã€ããŠ; éå»ã«äŒŒããããªããšã«æ°ã¥ããŸããããéãã¯å°ããã®ã§ããŸãæ°ã«ããŸããã§ããã Travisã§lcovã䜿çšããTravisæ§æã®è³æ Œæ å ±ããªãŒã¯ããããšãªããTravisãã«ãã®äžéšãšããŠlcovãã¡ã€ã«ãã¢ããããŒãããããšã¯å¯èœã§ããããïŒ ããŒã«ã«ãšTravisã®äœ¿çšå šäœã§äžè²«æ§ããããããã®ãä»ã«ãªãå ŽåãTravis CIãã移è¡ããå Žåã¯ãç¶æ³ãå°ãç°¡åã«ãªãå¯èœæ§ããããŸãã
macOSã§Vagrantã䜿çšããã®ã¯ã©ãã§ããïŒ
ãã®åé¡ã¯ç¹ã«ãCIãã¹ããTravisCIããGitHubActionsã«ç§»è¡ããããšã«é¢ãããã®ã§ãããlibseccompã®äžè¬çãªéçºãšãã¹ãã«é¢ãããã®ã§ã¯ãããŸããã MacOSãGitHubActionsã®ãªãã·ã§ã³ã§ãããã©ããã¯ããããŸãããããšãããã ã£ããšããŠããã«ãŒãã«ãµããŒãããªããããç§ãã¡ã«ãšã£ãŠã¯äžé©åãªéžæã§ããå¯èœæ§ããããŸãïŒãã©ã€ãããã¹ãã¯éãããŠããŸãããéèŠã§ãïŒã
ç§ã¯GitHubActionsã«ç²ŸéããŠããŸãã ãããã¯macOSããµããŒãããŸãïŒhttps://github.com/actions/virtual-environments#available-environmentsãåç §ïŒã å ·äœçã«ã¯ãmacOSã¯VagrantãšVirtualBoxã«ä»å±ããŠããå¯äžã®ç°å¢ã§ãïŒhttps://github.com/actions/virtual-environments/issues/433ãåç §ïŒã
ç§ã®çµéšã§ã¯ãã»ããã¢ããã«ã¯ããå°ãäœæ¥ãå¿ èŠã§ãããä»®æ³ãã·ã³å ã§å®è¡ãããšãCI / CDãã€ãã©ã€ã³ã®ç°å¢ã®äžè²«æ§ãé«ãŸããŸãã èšããŸã§ããªãã誰ã§ãVagrant / VirtualBoxã€ã¡ãŒãžãããŒã«ã«ã§å®è¡ã§ããããããã移æ€æ§ãé«ããªããŸãã ãŸããæ§æã¯éåžžããã³ããŒåºæã®YAML宣èšãšã¯é¢ä¿ãªãã¹ã¯ãªããã§èšè¿°ããããããæ°ããCI / CDãœãªã¥ãŒã·ã§ã³ãžã®ç§»è¡ã容æã«ãªããŸãã
ããã¯ç§ã®2ã»ã³ãã§ã:)
@ oxr463ã«æè¬ããŸã
ç§ãã¡ã®Travisã®æŽ»åã¯æ¯èŒç軜ãã®ã§ãä»ã®ããã€ãã®ãããžã§ã¯ãã§èŠãããTravisã®åé¡ã«ééããªãããšãé¡ã£ãŠããŸãã
ãã®@drakenclimberã調ã¹ãŠãããŠããããšããéãããã¢ãŒããã¯ãã£ã®ãµããŒãã¯éââåžžã«æ®å¿µã§ãã çŸåšãTravis CIã§å®éã«å€ãã®åé¡ãçºçããŠããããã§ã¯ãªãã®ã§ãæ··ä¹±ãçãããŸã§Travisãç¶ç¶ããã®ã§ã¯ãªãã§ããããã
ã¯ãããããæåãã€æãå®å šãªçãã ãšæããŸãã
lcov / Coverallsã®ã³ã¡ã³ãã«ã€ããŠ; éå»ã«äŒŒããããªããšã«æ°ã¥ããŸããããéãã¯å°ããã®ã§ããŸãæ°ã«ããŸããã§ããã Travisã§lcovã䜿çšããTravisæ§æã®è³æ Œæ å ±ããªãŒã¯ããããšãªããTravisãã«ãã®äžéšãšããŠlcovãã¡ã€ã«ãã¢ããããŒãããããšã¯å¯èœã§ããããïŒ ããŒã«ã«ãšTravisã®äœ¿çšå šäœã§äžè²«æ§ããããããã®ãä»ã«ãªãå ŽåãTravis CIãã移è¡ããå Žåã¯ãç¶æ³ãå°ãç°¡åã«ãªãå¯èœæ§ããããŸãã
ã¯ããããã¯å¯èœã§ããã¯ãã§ãã IssueïŒ309ãäœæããèªåã«å²ãåœãŠãŸããã ç§ã¯æ¥é±ã2é±éã§ãããæŸãããšããŸãã
ããããšã
ç§ã®çµéšã§ã¯ãã»ããã¢ããã«ã¯ããå°ãäœæ¥ãå¿ èŠã§ãããä»®æ³ãã·ã³å ã§å®è¡ãããšãCI / CDãã€ãã©ã€ã³ã®ç°å¢ã®äžè²«æ§ãé«ãŸããŸãã èšããŸã§ããªãã誰ã§ãVagrant / VirtualBoxã€ã¡ãŒãžãããŒã«ã«ã§å®è¡ã§ããããããã移æ€æ§ãé«ããªããŸãã ãŸããæ§æã¯éåžžããã³ããŒåºæã®YAML宣èšãšã¯é¢ä¿ãªãã¹ã¯ãªããã§èšè¿°ããããããæ°ããCI / CDãœãªã¥ãŒã·ã§ã³ãžã®ç§»è¡ã容æã«ãªããŸãã
ããããšãã@ oxr463ã ãŸãããã®ã«ãŒãã«è¡ãå¿ èŠããªãããšãé¡ã£ãŠããŸãããä»ã«ãéžæè¢ãããããšãç¥ã£ãŠãããšããã§ãããã
@drakenclimberããããªãªãŒã¹ãã€ã«ã¹ããŒã³ããåé€ããåªå 床ãäœã«äžããŸããããã«ã¯ãå£ãããŸã§åŸ ã€ãã¢ãããŒããæ¡çšããŠããããã§ããåæã§ããªãå Žåã¯ã
@drakenclimberããããªãªãŒã¹ãã€ã«ã¹ããŒã³ããåé€ããåªå 床ãäœã«äžããŸããããã«ã¯ãå£ãããŸã§åŸ ã€ãã¢ãããŒããæ¡çšããŠããããã§ããåæã§ããªãå Žåã¯ã
ç§ã«ã¯ããã§ããã ããããšãïŒ
@drakenclimber 1ã€ã®ããšãç§ã«èµ·ãããŸãããããorgãã¯ãæ°é±é以å ã«ããªããªããšæããããããtravis-ci.orgããtravis-ci.comã«ç§»è¡ããããšãæ€èšããå¿ èŠããããŸãã
ããŒïŒ ãããç¥ããŸããã§ããã ããããšãïŒ
æ¥é±ã¯ãããæŸãããšæããŸãã
æãåèã«ãªãã³ã¡ã³ã
GithubActionsã®å€èŠ³ãæ¬åœã«æ°ã«å ¥ã£ãŠããŸãã libcgroupãTravisCIããGithubActionsã«åãæ¿ãããããã»ãããéä¿¡ããŸããã
https://github.com/drakenclimber/libcgroup/tree/issues/github_actions
https://sourceforge.net/p/libcg/mailman/message/37165461/
ä»é±ã¯libseccompã移è¡ããããã®ãããã»ããããŸãšããããšæããŸãã