code_for_anther_sessionでsocketを新しいものから試すように
使用していてfailにならないがファイルも開かないケースがでた。 とらえずvscodeのembedded terminalよりも古いソケットでこの症状が出ていたので、 新しいソケットから順に試すようにした。
mimic-crossのコンフィグ指定について考え得る
当然↓の選択肢がある。
- 環境変数
- 設定ファイル
設定ファイルにしたいけれどコマンド実行毎に設定ファイルを読むのか?
CLIには向いていない気がするけれど世の中のツールはどうしているのだろう。
dotfilesを見ながら他のツールを見てみると、git, docker, tmuxなど複数コマンドは サブコマンドとして提供されている。そうする。
コマンド名どうするか問題
mimic-deployを素直にmimic deploy
にしたいところだけれど、
mimicコマンドはすでにある。
- mimicc : ある
chatgpt先生に考えてもらう
mimix:「Mimic」と「Cross」を組み合わせて、新しい単語を作成。 crossm:「Cross」を強調し、「Mimic」の「M」を追加。 mimicx:「Mimic」と「Cross」の「X」を組み合わせたもの。
mimic-crossにconfig loadを実装
/mimic-cross/config.json
にユーザのconfigを書くと上書きできるように。
とりあえずはじめにhostRootを足した。
configのテストを分離する
deno testは並列実行なので、configの変更が他のテストに影響してしまう可能性がある。
特定テストを順序付けする機能はないのでconfigテストの実行 → 他のテスト実行にする。
ファイルやディレクトリ指定での実行はできるがexcludeオプションがないようなので、
ディレクトリを分けて対処した。
mimic-crossのDockerfileを書き直す
新しい仕様に合わせて書き直す。
とりあえず/mimic-cross/hostを持っているDockerfileでtest用のimageのパスと、 deno testを通るようにした。commit
--platform
対応クロスコンパイルイメージのDcokerfileの書き方
別にdockerが更新されているので--platform
対応を行う必要もある。
クロスコンパイルの場合を整理する。
--platform
は1つだが、cross compileでのアーキテクチャの変数はbuildとtarget2つについて用意する必要がある。
これらをうまく使うには、このような書き方ができることが好ましい。
FROM --platform=${BUILDPLATFORM} mimic-cross/xxxx-${TARGETARCH}
ユーザが指定するBUILDPLATFORMはmimic-cross作成時のTARGETPLATFORMになる。
image名はbuildargで指定して作成する必要がある。