GitHub ActionsでWebDriverどこまでやるの?

GitHub ActionsでWebDriverどこまでやるの?

GitHub ActionsでWebDriverどこまでやるの? @ GitHub Actions Meetup Tokyo β 2019年10月16日

2af87ef1660751fb623d42425bcfa508?s=128

Toda Hiroshi

October 16, 2019
Tweet

Transcript

  1. (JU)VC"DUJPOTͰ 8FC%SJWFSͲ͜·Ͱ΍Δͷʁ ೥݄೔ ށా ޿

  2. ࣗݾ঺հ • ށా ޿ʢͱͩ ͻΖ͠ʣ !IJSPTIJUPEB • ೥ੜ·Ε ࡀ •

    σΟʔϓϥʔχϯάͱ"QQJVNΛར༻ͨ͠ ςετࣗಈԽ4BB4ʮ.BHJD1PEʯӡӦʹɺ ೥͔Βͪ·ͪ·ɺ೥͔Βͦͦ͜͜ ࢀՃ͍ͯ͠·͢ɻ • ೥ʹʮ4FMFOJVN࣮ફೖ໳ʯ ೥ʹ ʮΤΩεύʔτ͕ڭ͑Δ4FMFOJVN࠷લઢʯ ڞஶ͠·ͨ͠ɻͥͻ͓ങ͍ٻΊ͍ͩ͘͞ʂ
  3. ˞.BHJD1PEͷ͝঺հ˞ • ʮ.BHJD1PEʯ͸ɺಋೖͷෑډ͕ߴ͘ͳΓ͕ͪͳ ωΠςΟϒΞϓϦͷࣗಈςετΛ ͔ΜͨΜʹ࢝ΊΒΕΔςετࢧԉαʔϏεͰ͢ɻ • 8FC%SJWFS"1*ʹ४ڌͨ͠ωΠςΟϒΞϓϦࣗಈૢ࡞πʔϧ ʮ"QQJVNʯΛར༻͍ͯ͠·͢ɻ • σΟʔϓϥʔχϯάΛ׆༻ͨ͠ΞϓϦ6*ͷࣗಈൃݟ΍

    8FC(6*্Ͱͷςετ߲໨࡞੒ػೳ΋૊Έ߹Θͤͯɺ ςετ߲໨දΛ࡞ΔΑ͏ͳ؆୯ͳૢ࡞Ͱ ࣗಈςετͷ͘͠ΈΛ࡞Ε·͢ɻ • ωΠςΟϒΞϓϦ։ൃͰΑ͘࢖ΘΕΔ ଞͷαʔϏεͱͷ࿈ܞ΋ॆ࣮͖ͯ͠·ͨ͠ɻ • IUUQTNBHJDQPEDPN
  4. ࠓ೔࿩͢͜ͱ ͿͬͪΌ͚ͳΜͰ΋Ͱ͖ͦ͏ͳ(JU)VC"DUJPOTɺ ࣮ࡍͲ͜·Ͱ࢖͑Δ͔Λ 8FC%SJWFS໨ઢʢಛʹ"QQJVN໨ઢʣͰௐ΂ͨͷͰ ·ͱΊ͓ͯ࿩͠͠·͢ɻ  (JU)VC"DUJPOT͕ಈ͘ج൫  (JU)VC"DUJPOTͰ࠷ॳ͔Β࢖͑Διϑτ΢ΣΞ 

    (JU)VC"DUJPOT্Ͱͷ"QQJVNͷ׆༻ͱ /FTUFE7JSUVBMJ[BUJPOͷน
  5. (JU)VC"DUJPOT͕ಈ͘ج൫

  6. (JU)VC"DUJPOT͕ಈ͘ج൫ • ϔϧϓΛಡΈ·͠ΐ͏ɻ • l(JU)VC"DUJPOTͷԾ૝؀ڥz IUUQTIFMQHJUIVCDPNKBBSUJDMFTWJSUVBMFOWJSPONFOUTGPSHJUIVCBDUJPOT • ށా͞Μ΍Δؾ͋ΔΜͰ͔͢ʁʁʁ

  7. (JU)VC"DUJPOT͕ಈ͘ج൫ • l-JOVY͓Αͼ8JOEPXTͷ(JU)VC"DUJPOTԾ૝؀ڥ͸ɺ (JU)VC"DUJPOTSVOOFS͕Πϯετʔϧ͞Εͨ .JDSPTPGU"[VSFͷ4UBOEBSE@%4@WԾ૝Ϛγϯ্ʹ ϗετ͞Ε͍ͯ·͢ɻz • W͡Όͳ͍ͷͰ/FTUFE7JSUVBMJ[BUJPOʹରԠ͍ͯ͠·ͤΜɻ • ͭ·Γɺ͜ͷ؀ڥ্ʹԾ૝Ϛγϯ͸࡞Ε·ͤΜɻ

    • lNBD04Ծ૝؀ڥͷϗετʹ.BD4UBEJVNΛ࢖༻͍ͯ͠·͢ɻz • NBD04ͷ*BB4ͷதͰɺݱ࣌఺Ͱ͍ͪ͹ΜϚγͳͱ͜ΖͰ͢ɻ • .BD࣮ػΛିͯ͘͠Ε·͢ʢCBSFNFUBMͬͯ͜ͱͰ͢Ͷʣɻ • ͭ·Γɺ͜ͷ؀ڥ্ʹ͸Ծ૝ϚγϯΛ࡞Ε·͢ɻ
  8. (JU)VC"DUJPOT͕ಈ͘ج൫ ϔϧϓʹ͸ࡌ͍ͬͯͳ͍ਂ۷Γ৘ใ • -JOVYɾ8JOEPXT؀ڥͷϦιʔεׂΓ౰ͯ͸ υΩϡϝϯτهࡌͷͱ͓Γ W$16ɺ(#ϝϞϦʔ Ͱ͢ɻ • NBD04؀ڥ͸ʁʁʁ ௐ΂ͯΈ·ͨ͠ʂ

    • Ձ֨දʹ͸ lDPSFT (#zͱ͋Δ͕ʜʜ • $16*OUFM9FPO&W!()[ DPSFUISFBE • ϝϞϦʔ(# • ͜Εͬͯچ.BD1SPͰ͸ʁʁʁ ←ͦΕ͸ΰϛശ
  9. NBD04؀ڥ͸͓ಘ͔΋ʁ • ݱঢ়ɺ.BD4UBEJVN͸8FC͔Βਃ͠ࠐΉͱ .BD.JOJͷ݄୯Ґ՝ۚϓϥϯ͔͠બ΂·ͤΜɻ • .BD1SPΛ࢖Θͤͯ΋Β͑Δ͏͑ʹ෼୯Ґ՝ۚͷ (JU)VC"DUJPOT͸௒͓ಘͳͷͰ͸ʁ • ͨ·ͨ·ށా͕Ҿ͍ͨͷ͕.BD1SP͚͔ͩͬͨͩ΋͠Ε·ͤΜɻ •

    ϕʔλظؒऴΘͬͨΒࠓޙ͸Ͳ͏ͳΔͷ͔ͳɻɻɻ ←͜͏͍͏΍ͭʹϚ΢ϯτ͞ΕͯΔͷ͔ͳ……
  10. (JU)VC"DUJPOTͰ ࠷ॳ͔Β࢖͑Διϑτ΢ΣΞ

  11. Ծ૝؀ڥ্ʹ΋ͱ΋ͱೖ͍ͬͯΔιϑτ΢ΣΞ • ϔϧϓΛಡΈ·͠ΐ͏ɻ • l(JU)VC"DUJPOTͷԾ૝؀ڥͰͷιϑτ΢ΣΞz IUUQTIFMQHJUIVCDPNKBBSUJDMFTTPGUXBSFJOWJSUVBMFOWJSPONFOUTGPS HJUIVCBDUJPOT • ށా͞Μ΍Δؾʢ

  12. Ծ૝؀ڥ্ʹ΋ͱ΋ͱೖ͍ͬͯΔιϑτ΢ΣΞ "QQJVN໨ઢ • Ͳͷ؀ڥʹ΋"OESPJE4%,͕ೖ͍ͬͯ·͢ɻ • NBD04Πϯελϯεʹ͸ ෳ਺όʔδϣϯͷ9DPEF͕Πϯετʔϧ͞Ε͍ͯͯ δϣϒ࣮ߦ࣌ͷ੾Γସ͑΋༰қʹՄೳʹͳ͍ͬͯ·͢ɻ • YDWFSTJPOͱ͍͏ఆ൪πʔϧͰ࣮ݱ͞Ε͍ͯ·͢ɻ

    • ݱ࣌఺Ͱ͸9DPEF͸ϕʔλ൛͕ೖ͍ͬͯ·͢ɻ
  13. Ծ૝؀ڥ্ʹ΋ͱ΋ͱೖ͍ͬͯΔιϑτ΢ΣΞ ͪΐͬͱҧ͏໨ઢ • Ͳͷ؀ڥʹ΋ /&5DPSF4%,͕ೖ͍ͬͯͨΓɺ +%,͕ "[VM;VMV0QFO+%,ͩͬͨΓɺ ΄ΜͷΓͱ.JDSPTPGUͷϙϦγʔΛײͤ͡͞·͢ɻ • NBD04؀ڥʹ͸7JTVBM4UVEJPGPS.BD΋ೖ͍ͬͯͯ

    9BNBSJOͷϏϧυ͕ՄೳͳΑ͏Ͱ͢ɻ • ΩϟογϡࡁΈͷ%PDLFSίϯςφʔΠϝʔδ͕ ͍͔ͭ͘อ࣋͞Ε͍ͯ·͢ɻ ͜ͷΩϟογϡ͕ར͘δϣϒͳΒߴ଎ʹॲཧͰ͖ΔͰ ͠ΐ͏ɻ
  14. (JU)VC"DUJPOT্Ͱͷ "QQJVNͷར༻ͱ /FTUFE7JSUVBMJ[BUJPOͷน

  15. (JU)VC"DUJPOT্Ͱͷ"QQJVN • ࠓ೔ͷΠϕϯτʹ͸ ʮ͜͏ͨ͠Β4FMFOJVN"QQJVNಈ͍ͨΑʯ ٧Ί߹ΘͤͰ΋࣋ͬͯདྷΕ͹ྑ͍͔ͳʙͱ ҆қʹߟ͑ͯͨΒ࣍ʑͱઌΛӽ͞Εͯ͠·ͬͨΞΞΞΞ • ݄೔ • (JU)VC"DUJPOTͰ

    8JOEPXT*&ͱ .BD4BGBSJΛ TFMFOJVNXFCESJWFS Ͱಈ͔͢ IUUQTRJJUBDPNNJ[DIJJUFNTDEGCBGB • ݄೔ • (JUIVC "DUJPOT "QQJVNͰJ1IPOF4JNVMBUPSΛಈ͔͢ IUUQTRJJUBDPNUBLFZBYJUFNTDEB • ݄೔ • (JUIVC "DUJPOT "QQJVNͰ"OESPJE&NVMBUPSΛಈ͔͢ IUUQTRJJUBDPNUBLFZBYJUFNTCGCBBEE
  16. "OESPJEͱNBD04 • "OESPJE4%,͸ (JU)VC"DUJPOTͷ͢΂ͯͷ؀ڥʹೖͬͯ·͕͢ɺ "OESPJEΤϛϡϨʔλʔΛೖΕͯಈ͔ͤΔͷ͸ ݱ࣌఺Ͱ͸NBD04؀ڥ͚ͩͰ͢ɻ • 8JOEPXT-JOVY؀ڥ͕ /FTUFE7JSUVBMJ[BUJPOʹରԠ͍ͯ͠ͳ͍͔ΒͰ͢Ͷɻ •

    ݁Ռɺ J04γϛϡϨʔλʔ΋"OESPJEΤϛϡϨʔλʔ΋ಈ͘ ൺֱత҆ՁͳCBSFNFUBM؀ڥͱͯ͠ɺ NBD04؀ڥͷଘࡏײ͕େ͖͘ͳ͍ͬͯ·͢ɻ
  17. (JU)VC"DUJPOTͱ%PDLFS • (JU)VC"DUJPOT͸ TFSWJDFT ͱ͔ VTFT ͱ͔Ͱ ެ։%PDLFSΠϝʔδΛར༻Ͱ͖Δ͡Όͳ͍Ͱ͔͢ɺ ͋ͷลΓ׆༻ͯ͠"QQJVN΋ྑ͍ײ͡ʹͳΒͳ͍ͷʁʁ

  18. 8FC%SJWFSͱ%PDLFS • ͔ͨ͠ʹɺ 4FMFOJVNͳͲͷ8FC%SJWFSΫϥΠΞϯτΛར༻ͨ͠ 8FCϒϥ΢βʔૢ࡞ɾςετͷࣗಈԽͰ͸ %PDLFSͷར༻͸ͱͯ΋༗ޮͰ͢ɻ • ౾஌ࣝ4FMFOJVNެࣜͷ%PDLFSΠϝʔδ͸೥͔Β͋Γ·͢ɻ • $JSDMF$*ͷ

    DJSDMFDJOPEFMBUFTUCSPXTFST ͳΜ͔͸ (JU)VC"DUJPOTͰ΋ ΘΓͱؾܰʹ࢖͑ΔΑͶɺ ͱ͍͏هࣄ͕೥฻Εͷ࣌఺Ͱެ։͞Ε͍ͯ·͢ɻ IUUQTRJJUBDPNPLJUBOJUFNTCBEDEB
  19. "QQJVNͱ%PDLFS • ͦͷ੎͍Ͱɺ"QQJVNͰ΋%PDLFS࢖ͬͯ ྑ͍ײ͡ʹ͍ͨ͠ͳɺͱͳΔͷ͸ਓ৘ɺ͔͠͠ɻ • ʮ"OESPJE؀ڥΛ%PDLFSίϯςφʔʹͨ͠ʯ ͱ͍͏΋ͷͷଟ͘͸ɺ͋͘·Ͱ "OESPJEͷެࣜΤϛϡϨʔλʔ؀ڥΛ %PDLFSίϯςφʔʹͨ͠΋ͷͰ͢ɻ /FTUFE7JSUVBMJ[BUJPOඇରԠͷ-JOVYԾ૝؀ڥͰ͸

    ಈ͔͢͜ͱ͕Ͱ͖·ͤΜɻ࢒೦ɻɻɻ • "QQJVN੎͸NBD04؀ڥΛ࢖͍౗͍͖ͯ͠·͠ΐ͏ʂ
  20. ʲࢀߟʳ"OESPJEΤϛϡϨʔλʔೖΓͷ%PDLFSίϯςφʔ • CVEUNPEPDLFSBOESPJE • ೥ʹϝϧΧϦͰͷେن໛ͳར༻ࣄྫ͕ެ։͞Ε·ͨ͠ɻ • IUUQTUFDINFSDBSJDPNFOUSZ • ίϯςφαΠζ͸ʙ(#͘Β͍ɺ (JU)VC"DUJPOT্Ͱ෼͘Β͍ͰQVMMͰ͖·͢ɻ

    • "1*όʔδϣϯ͝ͱʹΠϝʔδ͕͋Γɺ࣮༻ੑ͕ߴ͍Ͱ͢ɻ • CJUSJTFJPEPDLFSBOESPJE • ΈΜͳେ޷͖#JUSJTFͰ࣮ࡍʹ࢖ΘΕ͍ͯΔ"OESPJEίϯςφʔɻ • Ί΅͍͠"1*όʔδϣϯશ෦ೖΓʹ͍ͯ͠ΔͷͰΫιॏ͍ɺ ίϯςφαΠζ͸ʙ(#͘Β͍ɻ ΩϟογϡͰ͖ͳ͍؀ڥͰ͸࣮༻ʹ଱͑·ͤΜɻ
  21. ʲࢀߟʳ"OESPJEΤϛϡϨʔλʔΛ࢖Θͳ͍ίϯςφʔ • BOCPY IUUQTBOCPYJP • "OESPJEΛ-JOVY্ͷίϯςφʔ Ћͱͯ͠ಈ͔͢͜ͱΛ ໨ඪͱͨ͠ϓϩδΣΫτͰ͢ɻ • ίϯςφʔٕज़ʹ-9$Λ࠾༻͍ͯ͠·͢ɻ

    • ݪཧ্ɺ/FTUFE7JSUVBMJ[BUJPOඇରԠͷԾ૝Ϛγϯ্Ͱ΋ ܰշʹಈ࡞͠·͢ɻ (JU)VC"DUJPOTͰ΋-JOVYΠϯελϯε্Ͱ࢖͑Δ͔΋ʜʜʁ • ೥ͷ"84SF*OWFOUͰ൸࿐͞Εͨ /%,ʹґଘͨ͠ΞϓϦΛ"Πϯελϯε্Ͱࣗಈૢ࡞͢ΔσϞͰ ج൫ͱͯ͠࢖ΘΕ͍ͯͨΑ͏Ͱ͢ɻ • "QQJVN͔Βૢ࡞Ͱ͖·͕͢ෆ҆ఆɻɻɻ
  22. ͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ