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
キレイに表示するコツ

9bf923e39671cde83584e3e926296c13?s=128

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/