🚀

Launchable Advent Calendar 3日目 - Install

2022/12/03に公開

Launchableの各機能の利用方法を紹介する Launchable Advent Calendar 3日目です。

はじめに

3日目はLaunchableへテストデータを送信するためのコマンドlaunchable/cli(以降launchableコマンド)のインストール方法および、launchableコマンドの概要について紹介します。

インストール

launchableコマンドはPython製になります。Python(バージョン3.5以上)をおよびpipコマンドを必要とします。また一部のコマンドでJava製のツールを呼び出すためJava (バージョン8以上)も必要になります。

launchableコマンドをインストールし、Day 2で作成したAPI Keyを使って launchable verify コマンドを実行してみます。

$ pip3 install --user --upgrade launchable~=1.0
$ LAUNCHABLE_TOKEN=<DAY 2で発行したAPI Key> launchable verify
Organization: <Organization ID>
Workspace: <Workspace ID>
Proxy: None
Platform: 'Darwin-21.6.0-x86_64-i386-64bit'
Python version: '3.6.15'
Java command: 'java'
launchable version: '1.56.0'
Your CLI configuration is successfully verified 🎉

このようなメッセージが表示されればコマンドのインストール、コマンドを経由してのAPIリクエストの成功です。

GitHub Actionsでの例

2022/12/3時点では公式のActionsやORBを提供していません。ここではGiHub Actionsでのlaunchableコマンドのセットアップ方法を紹介します。

まずはDay 2で作成したAPI KeyをGitHub Actionsから利用できるようにSecretsに登録します。

リポジトリの Settings > Secrets > Actions から登録します。

ここでは LAUNCHABLE_TOKEN という名前で設定しています。

リポジトリのcheckout、Python, Java, Launchableコマンドのインストール、および launchable verify コマンドのサンプルになります。

ci.yaml
name: CI

on:
  workflow_dispatch:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

env:
  LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN }}

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: "3.10"
      - name: Set up JDK 1.8
        uses: actions/setup-java@v3
        with:
          distribution: 'adopt'
          java-version: '8'
      - name: Install launchable command
        run: |
          pip install launchable
      - name: verify
        run: launchable verify

サンプルPR

launchable コマンドの概要

launchableコマンドでは主にBuild/Test Session/Testというデータを取り扱います。
依存関係は下記の図の様になります。ここでは簡単に説明します。詳細はこちらを参照ください。

Build (ビルド)

ビルドは対象のソフトウェアを表します。ビルドに対してユニットテスト、E2Eテストなどテストを実行しデータを関連付けます。
launchable record build コマンドを使用してビルドデータを生成します。

Test Session (テストセッション)

テストセッションは、実行されたテストのリスト(ユニットテスト,E2Eテスト, etc)、各テストにかかった時間、各テストのステータス、および集計情報を持ちます。

launchable record sessionコマンドを使用してテストセッションデータを作成します。

Test (テスト)

テストはその名の通り各テストの結果を表します。

launchable record testsコマンドを使用してテストデータを作成します。

さいごに

本日はlaunchableコマンドのインストールおよびlaunchableコマンドの扱うデータの概要について紹介しました。
4日目はビルドデータをLaunchableへ送るためのコマンド launchable record build コマンドについて紹介します。

Discussion