衝撃のわからなさ

わかってません

2024/01/04日報

code_for_anther_sessionでsocketを新しいものから試すように

使用していてfailにならないがファイルも開かないケースがでた。 とらえずvscodeのembedded terminalよりも古いソケットでこの症状が出ていたので、 新しいソケットから順に試すようにした。

mimic-crossのコンフィグ指定について考え得る

当然↓の選択肢がある。

  1. 環境変数
  2. 設定ファイル

設定ファイルにしたいけれどコマンド実行毎に設定ファイルを読むのか?
CLIには向いていない気がするけれど世の中のツールはどうしているのだろう。

dotfilesを見ながら他のツールを見てみると、git, docker, tmuxなど複数コマンドは サブコマンドとして提供されている。そうする。

コマンド名どうするか問題

mimic-deployを素直にmimic deployにしたいところだけれど、 mimicコマンドはすでにある。

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で指定して作成する必要がある。