"소스 아이콘 하나로 모든 플랫폼 크기를. git 태그 하나로 모든 플랫폼 설치 파일을. 지루하고 실수 잦은 쪽을 기계한테 넘겨."
아이콘은 소스 하나에서
플랫폼마다 앱 아이콘을 크기랑 포맷별로 잔뜩 원해. macOS는 .icns, Windows는 .ico, Linux랑 트레이는 PNG 여러 장. 이걸 손으로 만들지 마. tauri icon path/to/icon.png가 고해상도 정사각형 원본 하나(1024×1024면 안전해)를 받아서 아이콘 세트 전체를 src-tauri/icons/에 만들고 설정에까지 엮어줘. 로고가 바뀔 때마다 다시 돌려. 개별 크기를 손으로 고치는 일은 절대 하지 말고.
내 손에 없는 OS용 빌드는 CI가 해줘
OS별 설치 파일은 그 OS에서 빌드해야 한다고 했지. 깔끔한 답이 CI 매트릭스야. macOS랑 Windows랑 Linux 러너를 둔 GitHub Actions(나 비슷한 것)에서, 각 러너가 같은 커밋으로 자기 네이티브 설치 파일을 만드는 거지. 공식 tauri-action이 이걸 감싸줘 — 러너마다 앱을 빌드하고, 원하면 설치 파일을 전부 붙인 draft GitHub Release까지 만들어줘서 네가 확인하고 publish만 하면 돼. 태그 하나 붙인 커밋이 크로스 플랫폼 릴리스 전체가 되는 거야.
실제로 돌아가게 만드는 건 시크릿이야
CI 워크플로가 네 서명 신원이랑 updater 키가 암호화된 시크릿으로 사는 곳이고, 빌드할 때 환경 변수로 들어가. 그래서 CI가 알아서 서명하고 notarize하고 업데이트에 서명할 수 있는 거지 — '릴리스 내기'가 기계 한 대에 매달린 위태로운 수작업에서 언제든 똑같이 돌아가는 파이프라인으로 바뀌는 거야. 필요해 보이기 전에 미리 엮어둬. 릴리스 압박 속에서 CI에 서명을 끼워 넣는 건 정말 괴로운 일이거든.