Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub Actionsでテストの結果をわかりやすく表示する

GitHub Actionsでテストの結果をわかりやすく表示する

Xcode Result Bundle
データ構造
xcresulttool
GitHub Checks
GitHub Actions
API
画像の表示
Undocumentedな制限事項
GitHub Flavored Markdown
キレイに表示するコツ

Kishikawa Katsumi

October 27, 2021
Tweet

More Decks by Kishikawa Katsumi

Other Decks in Programming

Transcript

  1. GitHub ActionsͰςετͷ݁ՌΛ Θ͔Γ΍͘͢දࣔ͢Δ

  2. GitHub ActionsͰςετͷ݁ՌΛΘ͔Γ΍͘͢දࣔ͢Δ • Xcode Result Bundle • σʔλߏ଄ • xcresulttool

    • GitHub Checks • GitHub Actions • API • ը૾ͷදࣔ • Undocumentedͳ੍ݶࣄ߲ • GitHub Flavored Markdown • ΩϨΠʹදࣔ͢Δίπ
  3. None
  4. https://github.com/kishikawakatsumi/xcresulttool-example/pull/2/checks?check_run_id=3954797886

  5. https://github.com/kishikawakatsumi/xcresulttool-example/pull/2/checks?check_run_id=3954797886

  6. https://github.com/kishikawakatsumi/xcresulttool-example/pull/2/checks?check_run_id=3954797886

  7. None
  8. Xcode result bundle

  9. Xcode result bundle

  10. $ xcresulttool

  11. None
  12. xcresulttool xcresulttool get --path Example.xcresult [--format json | raw] [--id

    ID] xcresulttool export --type [file | directory] --path Example.xcresult --output-path ./Out --id ID xcresulttool formatDescription [get] [--format json | text | markdown | typeHierarchy] [--hash]
  13. xcresulttool xcresulttool get --path Example.xcresult [--format json | raw] [--id

    ID] xcresulttool export --type [file | directory] --path Example.xcresult --output-path ./Out --id ID xcresulttool formatDescription [get] [--format json | text | markdown | typeHierarchy] [--hash]
  14. xcresulttool xcrun xcresulttool get --path __tests__/data/Example.xcresult --format json

  15. None
  16. None
  17. xcresulttool xcrun xcresulttool get --path __tests__/data/Example.xcresult --format json \ --id

    “0~2h6n8a1U7EWQlPI84iSvAot2tGmEw4...QYjQ=="
  18. None
  19. None
  20. None
  21. None
  22. xcresulttool xcresulttool get --path Example.xcresult [--format json | raw] [--id

    ID] xcresulttool export --type [file | directory] --path Example.xcresult --output-path ./Out --id ID xcresulttool formatDescription [get] [--format json | text | markdown | typeHierarchy] [--hash]
  23. xcresulttool xcrun xcresulttool export --path __tests__/data/Example.xcresult \ —id "0~bxJjbddFGu_5klZSLsMwAPnWdsfg1lVn1...W7A==" \

    --type file --output-path ./screenshot.png
  24. xcresulttool xcresulttool get --path Example.xcresult [--format json | raw] [--id

    ID] xcresulttool export --type [file | directory] --path Example.xcresult --output-path ./Out --id ID xcresulttool formatDescription [get] [--format json | text | markdown | typeHierarchy] [--hash]
  25. None
  26. GitHub Checks

  27. Conclusion Summary Annotations

  28. GitHub Checks • GitHub Actions΍֎෦ͷCIαʔϏε͔Βͷ݁ՌΛϑΟʔυόοΫͰ͖Δ • Pull Requestͷը໘ʹλϒ͕͋ΔͷͰΞΫηε͠΍͍͢ • εςʔλεʢ੒ޭɾࣦഊʣ͚ͩͰͳ͘ɺϩά΍ը૾ɺΞϊςʔγϣϯͳͲϦο

    νͳ৘ใΛදࣔͰ͖Δ • ChecksΛߋ৽Ͱ͖Δͷ͸GitHub AppsʹݶΔ͕ɺGitHub Actions͸Appѻ͍ʹ ͳ͍ͬͯΔͷͰߋ৽Ͱ͖Δ
  29. None
  30. ը૾ͷදࣔ

  31. ը૾ͷදࣔ

  32. ը૾ͷදࣔ

  33. ੍ݶࣄ߲ • APIͷ֤߲໨ʹ౉ͤΔจࣈ਺͸࠷େ65535จࣈ • Ξϊςʔγϣϯ͸50ݸ·Ͱ

  34. GitHub Flavored MarkdownͰ ΩϨΠʹϨΠΞ΢τ͢Δ

  35. None
  36. None
  37. None
  38. ςʔϒϧͰϨΠΞ΢τ͢Δ

  39. None
  40. None
  41. ·ͱΊ • GitHub Checks͸PRͷը໘͔ΒΞΫηε͠΍͍͢ • CIͷ݁ՌͰඞཁͳ΋ͷΛ͍Ζ͍Ζදࣔ͢Δͱศར • MarkdownʢʴHTMLʣ͕࢖͑ΔͷͰϦονͳදࣔ΋Մೳ

  42. References • https://github.com/kishikawakatsumi/xcresulttool • https://github.com/kishikawakatsumi/bitrise-step-xcode-result-bundle-to-checks • https://github.com/ChargePoint/xcparse • https://engineering.mercari.com/blog/entry/20201218-61f7110851/