ROS1プロジェクト向け非推奨設定
Deprecated
ROS1のサポートは現在、非推奨となっています。デフォルトでは、ファイル名は artefacts.yaml
であることが想定されています。
設定
version
オプション アーティファクトYAML形式の仕様バージョン。
project
関連プロジェクトの名前。結果の追跡と認証に使用されます。
jobs
ジョブ名と Job
定義のマッピング、Jobを参照。
ジョブ
各ジョブには以下のプロパティがあります。
type
デフォルトは test
timeout
オプション ジョブが timed out
とマークされるまでの時間。
runtime
ランタイムプロパティを含む、 Runtimeを参照。
scenarios
1つのジョブに複数のシナリオを含めることができます。通常、特定の環境にリンクされたテストスイートです。 Scenario definitionを参照。
シナリオ定義
defaults
すべてのシナリオに共通するデフォルト設定を含みます。シナリオによって上書きされない限り適用されます。
scenarios
Scenario
のリストを含みます。 Scenarioを参照。
パッケージ
Artefacts Cloud Simulationのみ
custom
任意のプロジェクトのデフォルトビルドフローをカスタマイズするために使用できます。詳細は Packaging for Cloud Simulation を参照してください。
docker
テスト環境構築時にアーティファクトが使用するDockerfileを提供するために使用できます。詳細は Packaging with Docker を参照してください。
ランタイム
テスト環境の準備とフックに使用されます。
framework
ソフトウェアフレームワーク。サポートされる値: ros1:noetic
、 ros2:humble
、 ros2:galactic
、 null
simulator
シミュレーションエンジン。サポートされる値: turtlesim
、 gazebo:fortress
、 gazebo: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)
経由で実行されます)