背景
#46 で Intel Mac 向けバックエンドが CGO_ENABLED=0 でビルドされ go-sqlite3 が動かない問題を修正した際、macOS 向けビルドのみに CGO_ENABLED=1 を明示した。
Windows (`windows-latest`) と Linux (`ubuntu-latest`) の CI ジョブはネイティブビルドのため Go のデフォルトで CGO_ENABLED=1 になっている可能性が高いが、明示していないため将来 setup-go や ランナーのデフォルトが変わるとサイレントに同じ問題が再発する。
やること
`.github/workflows/release.yml` と `scripts/build-backend.sh` の Windows/Linux ビルドにも `CGO_ENABLED=1` を明示する。
- Windows: `windows-latest` ランナーには MinGW (gcc) が同梱されているのでネイティブビルドは可能
- Linux: `ubuntu-latest` ランナーには gcc が入っているのでネイティブビルドは可能
- Apple Silicon マシン上のローカルから Windows/Linux ターゲットをクロス CGO ビルドするには別途ツールチェーン (mingw-w64 / musl-gcc / zig など) が必要
関連
背景
#46 で Intel Mac 向けバックエンドが CGO_ENABLED=0 でビルドされ go-sqlite3 が動かない問題を修正した際、macOS 向けビルドのみに CGO_ENABLED=1 を明示した。
Windows (`windows-latest`) と Linux (`ubuntu-latest`) の CI ジョブはネイティブビルドのため Go のデフォルトで CGO_ENABLED=1 になっている可能性が高いが、明示していないため将来 setup-go や ランナーのデフォルトが変わるとサイレントに同じ問題が再発する。
やること
`.github/workflows/release.yml` と `scripts/build-backend.sh` の Windows/Linux ビルドにも `CGO_ENABLED=1` を明示する。
関連