ROS1プロジェクト向け非推奨設定

デフォルトでは、ファイル名は artefacts.yaml であることが想定されています。

設定

version オプション アーティファクトYAML形式の仕様バージョン。

project 関連プロジェクトの名前。結果の追跡と認証に使用されます。

jobs ジョブ名と Job 定義のマッピング、Jobを参照。

ジョブ

各ジョブには以下のプロパティがあります。

type デフォルトは test

timeout オプション ジョブが timed out とマークされるまでの時間。

runtime ランタイムプロパティを含む、 Runtimeを参照。

scenarios1つのジョブに複数のシナリオを含めることができます。通常、特定の環境にリンクされたテストスイートです。 Scenario definitionを参照。

シナリオ定義

defaults すべてのシナリオに共通するデフォルト設定を含みます。シナリオによって上書きされない限り適用されます。

scenarios Scenarioのリストを含みます。 Scenarioを参照。

パッケージ

Artefacts Cloud Simulationのみ

custom 任意のプロジェクトのデフォルトビルドフローをカスタマイズするために使用できます。詳細は Packaging for Cloud Simulation を参照してください。

docker テスト環境構築時にアーティファクトが使用するDockerfileを提供するために使用できます。詳細は Packaging with Docker を参照してください。

ランタイム

テスト環境の準備とフックに使用されます。

frameworkソフトウェアフレームワーク。サポートされる値: ros1:noeticros2:humbleros2:galacticnull

simulator シミュレーションエンジン。サポートされる値: turtlesimgazebo:fortressgazebo:11

注意: 多くの場合、ローカルで実行する際にはアーティファクトCLIは上記にリストされていないフレームワーク/シミュレータとも互換性がありますが、アーティファクトクラウドシミュレーションで実行する場合は、package ブロックとcustom commandsのセット、または、dockerfileを提供する必要があります。

pre_launch オプション (現在は framework: ros1:noeticでのみ実装) 各テストを起動する前に実行されるbashコマンド。シミュレータとテストが起動される前に完了する必要があるセットアップを実行するために使用します。注意:スクリプトへの絶対パスが必要な場合、環境変数 USER_REPO_PATH がリポジトリのルートを指します。 pre_launch コマンドの例: source $USER_REPO_PATH/simulator/scripts/sim_setup.bash

params: オプション (現在は framework: ros1:noeticでのみ実装) .yaml file (/tmp/runtime_params.yaml)にダンプされるパラメータのリスト。実行時に、このファイルはユーザースクリプト(pre_launch`キーで指定されたものなど)で読み取ることができます。使用例:シミュレータセットアップスクリプトのパラメータ化。

シナリオ

name シナリオの名前

output_dirs オプション ArtefactsクライアントがDashboardにアップロードするアーティファクトを探すパスのリスト。 サポートされる形式には.htmlファイル ( plotly で作成可能で、インタラクティブな図として表示されます) と動画(クロスプラットフォーム互換性のためにh264/mp4を推奨)が含まれます。

launch_arguments オプション ROSのみ。起動ファイルに渡す引数の name: value ペアの辞書。通常、ヘッドレスで実行するかどうか、rosbagsを記録するかどうかなどの実行動作を設定するために使用されます。

paramsシナリオに設定するパラメータのリスト。各パラメータには値のリストまたは単一の値を指定できます。パラメータの組み合わせごとにシナリオのバリアントが自動的に実行されます(グリッド戦略)。すべてのテスト結果は同じDashboardエントリにアップロードされます。

  • ROS1フレームワークでは、パラメータ名はフォワードスラッシュで区切られた文字列 (例 test/nested_ns/param1)である必要があります。各フォワードスラッシュはネストされた名前空間に対応します。これらはyamlファイル
  • (/tmp/scenario_params.yaml) にダンプされ、テスト中に実行時にROS1 rosparamサーバーにロードされます。ノードの動作を制御するために使用できます。
  • ROS2フレームワークでは、パラメータ名は node_name/parameter_name (単一のフォワードスラッシュで区切られた)規則に従う必要があります。これらはyamlファイル (/tmp/scenario_params.yaml) にフォーマットされ、テスト中に実行時にロードされます (参照)。ノードの動作を制御するために使用できます。
  • 「その他」のフレームワークでは、パラメータ名は.yamlファイル (/tmp/scenario_params.yaml)にダンプされ、.jsonファイル (/tmp/scenario_params.json) 、環境変数として設定されます(パラメータ名が文字、数字、アンダースコアのみであることを確認してください)。

metrics オプション オプション テストメトリクスを指定します。JSONファイルを受け付けます:キーと値のペアがmetric_name/metric_valueとして使用されます。ROSプロジェクトは代わりにトピックのリストを受け付けることもでき、実行中のトピックの最新値が記録される値となります。

フレームワーク固有のシナリオプロパティ

  • framework: ros1:noetic の場合:

ros_testpackage テストファイルを含むROSパッケージの名前。 (ROS2ではまだ実装されていません)

ros_testfile ROS1の場合: ros_testpackage/launch 内にあるXML起動ファイルの名前。ユーザーテックスタック(任意のROSノードのコレクション)+テストのロジックを含むテストノードを指定します (rostest 互換)。 .launch または .testである必要があります。

rosbag_postprocess オプション、現在ROS1でのみ実装 ros_testpackage/src 内にあるスクリプトの名前。テスト終了後に実行される追加の計算を指定します。拡張子は通常.pyです。このスクリプトは2つの引数を取る必要があります: --bag_path(テスト中に作成されたrosbag)と --out_folder(スクリプトによって作成されたすべての出力を保存するパス)。その後、Artefactはこのフォルダ内のすべてのファイルをDashboardにアップロードします。サポートされるファイル形式は output_dirs と同じです。さらに、rosbag_postprocessスクリプトが metrics.json ファイルをキー/値のペアで出力する場合、それらもDashboardでテーブルとしてレンダリングされます。

subscriptions オプション、現在ROS1でのみ実装 関心のあるROSトピックをマッピングするキー/値のペア。現在のところ、 rosbag_record: subscriptions を指定する際にのみ使用されます。

rosbag_record オプション、現在ROS1でのみ実装 デフォルトは noneです。 none の場合、rosbag記録はオフになります。 allの場合、すべてのROSトピックが記録されます。 subscriptions の場合、上記の subscriptions キー/値ペアで定義された関心のあるトピックのみが記録されます。文字列のリストが渡された場合、記録するトピックのリストとして解釈され 正規表現がサポートされています。

  • framework: nullの場合:

run テストを開始するために使用されるコマンド文字列 ( subprocess.run(command, shell=True)経由で実行されます)

最終更新 30.04.2025: Japanese translation (#7) (f59ca38)