スキル: ローカルでの Twoliter 変更のテスト
目的
ローカルソースから twoliter をビルドし、キットがローカルでビルドされたバイナリを使用するように構成して、リリース前に変更をテストします。
使用するタイミング
- twoliter ソースコードを変更しているとき
- PR を作成する前に twoliter の修正をテストするとき
- twoliter の動作をデバッグするとき
- twoliter の修正を検証するとき
前提条件
- フォレスト内に twoliter リポジトリがクローンされていること
- Rust ツールチェーンがインストールされていること
- テスト用のキットリポジトリが少なくとも1つあること
手順
1. twoliter ソースを変更する
twoliter/twoliter/src/ または twoliter/twoliter/embedded/ 内のファイルを編集します。
2. twoliter をビルドする
cd twoliter
cargo build --release
バイナリは target/release/twoliter に配置されます。
3. 変更をテストする
TWOLITER_DIR を上書きして、ローカルのビルドディレクトリを指定します。
cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release
4. 繰り返す
さらに変更を加えた後:
# twoliter を再ビルド
cd ./twoliter
cargo build --release
# 再テスト
cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release
検証
パスを確認して、ローカルの twoliter が使用されていることを確認します:
cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release 2>&1 | head -5
変更を加えた twoliter が呼び出されていることを確認できます。
一般的な問題
変更が反映されない:
- 変更後に
cargo build --releaseを実行したことを確認してください TWOLITER_DIRのパスが正しいことを確認してください- バイナリが存在することを確認してください:
ls -lh ./twoliter/target/release/twoliter
twoliter でのビルドエラー:
cargo checkを実行して詳細なエラーメッセージを確認してくださいcargo clippyを実行して一般的な問題を検出してくださいcargo testを実行してテストが合格することを確認してください
ローカルの twoliter を使用してキットのビルドが失敗する:
- twoliter の出力でエラーメッセージを確認してください
- Makefile を一時的に変更するか、twoliter バイナリを直接使用して
--log-level debugを追加してください
リリースバージョンへの復帰
リリースバージョンの使用に戻すには、単に TWOLITER_DIR の上書きを省略します:
cd kits/bottlerocket-core-kit
make build
これにより、リリースバージョンのデフォルトの tools/twoliter/twoliter が使用されます。