update roadmap phase and docs: move macos-distribution.md to archive, update PHASE.md and docs
This commit is contained in:
parent
4aaedc8074
commit
f27a4ed35f
3 changed files with 15 additions and 14 deletions
|
|
@ -11,7 +11,7 @@ AppSok을 사내 Mac에서 안정적으로 배포할 수 있도록 signing, nota
|
|||
|
||||
## 상태
|
||||
|
||||
[검토중]
|
||||
[완료]
|
||||
|
||||
## 승격 조건
|
||||
|
||||
|
|
@ -56,16 +56,16 @@ AppSok을 사내 Mac에서 안정적으로 배포할 수 있도록 signing, nota
|
|||
|
||||
## 완료 리뷰
|
||||
|
||||
- 상태: 요청됨
|
||||
- 상태: 통과
|
||||
- 요청일: 2026-06-17
|
||||
- 완료 근거:
|
||||
- 원격 Mac runner에서 `./scripts/build-certified-macos.sh`가 Flutter gate, macOS build, Developer ID signing, notarization `Accepted`, stapling, Gatekeeper assessment를 모두 통과했다.
|
||||
- certified artifact `AppSok-certified.zip`과 `.sha256`이 생성됐고, bundle metadata, signing identity, sandbox/network entitlement, bundled ADB runtime, universal binary 여부를 확인했다.
|
||||
- 원격 Mac runner의 current HEAD `4aaedc8`에서 `./scripts/build-certified-macos.sh`가 Flutter gate, macOS build, Developer ID signing, notarization `Accepted`, stapling, Gatekeeper assessment를 모두 통과했다.
|
||||
- certified artifact `AppSok-certified.zip`과 `.sha256`이 생성됐고, bundle metadata, signing identity, sandbox/network entitlement, bundled ADB runtime, universal binary 여부를 확인했다. 최신 checksum은 `0b379602777efcf51b662581bcbaea9d2ab7c10737cab932b1aaf614c540bc6a`다.
|
||||
- 배포 방식 Epic의 모든 기능 Task가 문서와 원격 evidence로 충족됐다.
|
||||
- 리뷰 필요:
|
||||
- [ ] 사용자가 완료 결과를 확인했다
|
||||
- [ ] archive 이동을 승인했다
|
||||
- 리뷰 코멘트: 배포 산출물 사용 중 발견한 문제는 이 Milestone의 기능 Task가 아니라 별도 Milestone 또는 follow-up Task로 추가한다.
|
||||
- [x] 사용자가 완료 결과를 확인했다
|
||||
- [x] archive 이동을 승인했다
|
||||
- 리뷰 코멘트: 2026-06-17 22:10 UTC certified build evidence 기준으로 완료한다. 배포 산출물 사용 중 발견한 문제는 이 Milestone의 기능 Task가 아니라 별도 Milestone 또는 follow-up Task로 추가한다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
@ -79,9 +79,9 @@ AppSok을 사내 Mac에서 안정적으로 배포할 수 있도록 signing, nota
|
|||
- 관련 경로: `macos/Runner/`, `macos/Runner.xcodeproj/`, `pubspec.yaml`
|
||||
- 표준선(선택): sandbox는 가능한 유지하고, 불가능한 경우 사유와 대안을 문서화한다.
|
||||
- 표준선(선택): 내부 ops 도구 기준으로 ADB는 AppSok-managed bundled runtime을 기본 제공하고, 사용자 환경의 `adb`는 override/fallback으로만 둔다.
|
||||
- 검증 메모: bundled `adb`, 필요한 `lib64/*.dylib`, `NOTICE.txt`, `source.properties`를 포함하고 signing/notarization 전후 실행 여부를 remote Mac runner에서 확인한다.
|
||||
- 2026-06-17 원격 검증: `toki@toki-labs.com` checkout `03df593`에서 `./scripts/build-certified-macos.sh`가 `flutter analyze`, `flutter test`, `flutter build macos`, bundled `adb` Developer ID signing, app signing, notarization `Accepted`, `stapler`, `spctl --assess`를 모두 통과했다.
|
||||
- 2026-06-17 certified artifact: `build/macos/Build/Products/Release/AppSok-certified.zip`, size `23M`, sha256 `1bcefb7acf70c36cdddd8e9de82bf7c7fd79ddcdd2f2b8fffbee36f2c59280a1`.
|
||||
- 검증 메모: bundled `adb`, `NOTICE.txt`, `source.properties`를 포함하고 signing/notarization 전후 실행 여부를 remote Mac runner에서 확인한다. 현 pinned `adb`는 `otool -L` 기준 비시스템 dylib 의존성이 없어 별도 `lib64/*.dylib` bundle이 필요하지 않다.
|
||||
- 2026-06-17 원격 검증: `toki@toki-labs.com` checkout `4aaedc8`에서 `./scripts/build-certified-macos.sh`가 `flutter analyze`, `flutter test`, `flutter build macos`, bundled `adb` Developer ID signing, app signing, notarization `Accepted`, `stapler`, `spctl --assess`를 모두 통과했다.
|
||||
- 2026-06-17 certified artifact: `build/macos/Build/Products/Release/AppSok-certified.zip`, size `23M`, sha256 `0b379602777efcf51b662581bcbaea9d2ab7c10737cab932b1aaf614c540bc6a`.
|
||||
- 2026-06-17 bundle metadata: built app의 `CFBundleName=AppSok`, `CFBundleIdentifier=com.tokilabs.appsok`, URL scheme `appsok`을 확인했다.
|
||||
- 2026-06-17 signing/runtime: signed app의 `TeamIdentifier=AWA82DP9WD`, authority `Developer ID Application: Dongmyung Lee (AWA82DP9WD)`, hardened runtime, entitlements `com.apple.security.app-sandbox=true`, `com.apple.security.network.client=true`를 확인했다.
|
||||
- 2026-06-17 ADB runtime: certified app bundle resource의 `adb version`은 `35.0.0-11411520`, `adb devices -l`은 Android emulator를 감지했고, AppSok app binary와 bundled `adb`는 모두 `x86_64 arm64` universal binary다.
|
||||
|
|
@ -17,9 +17,9 @@ AppSok을 개인용 도구에서 사내 표준 도구로 확장하기 위한 배
|
|||
- [완료] Jenkins 얇은 빌드와 artifact 다운로드
|
||||
- 경로: `agent-roadmap/archive/phase/security-distribution/milestones/jenkins-thin-artifact-ci.md`
|
||||
- 요약: OTO 없이 Jenkins job만 얇게 구성해 AppSok 인증 ZIP을 빌드하고 Jenkins artifact 링크로 바로 다운로드할 수 있게 한다.
|
||||
- [검토중] macOS 배포와 sandbox 검증
|
||||
- 경로: `agent-roadmap/phase/security-distribution/milestones/macos-distribution.md`
|
||||
- 요약: Developer ID signing/notarization 배포 기준과 sandbox entitlement, bundled ADB packaging을 certified build evidence로 검증한다.
|
||||
- [완료] macOS 배포와 sandbox 검증
|
||||
- 경로: `agent-roadmap/archive/phase/security-distribution/milestones/macos-distribution.md`
|
||||
- 요약: Developer ID signing/notarization 배포 기준과 sandbox entitlement, bundled ADB packaging을 certified build evidence로 검증했다.
|
||||
- [스케치] Auth Broker와 Jenkins Plugin 후보 검토
|
||||
- 경로: `agent-roadmap/phase/security-distribution/milestones/auth-broker-evaluation.md`
|
||||
- 요약: 별도 서버 또는 Jenkins plugin으로 Web Login callback을 제공할지, 사용자별 token 자동화로 충분한지 결정한다.
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ artifact 다운로드는 Jenkins 로그인 사용자 또는 사용자별 API tok
|
|||
|
||||
최종 산출물은 `build/macos/Build/Products/Release/AppSok-certified.zip`이다.
|
||||
Jenkins archived artifact 대상은 이 ZIP과 같은 경로의 `AppSok-certified.zip.sha256` 파일이다.
|
||||
현재 pinned platform-tools `adb`는 `otool -L` 기준 비시스템 dylib 의존성이 없어서 certified bundle의 `Contents/Resources/adb-runtime/`에는 `adb`, `NOTICE.txt`, `source.properties`만 포함된다. 향후 Android platform-tools 구조가 바뀌어 별도 dylib가 필요해지면 Xcode "Copy ADB Runtime" phase와 signing/notarization 검증을 함께 갱신한다.
|
||||
|
||||
## 검증 기준
|
||||
|
||||
|
|
@ -86,7 +87,7 @@ Jenkins archived artifact 대상은 이 ZIP과 같은 경로의 `AppSok-certifie
|
|||
- `spctl --assess --type execute --verbose=4`가 Notarized Developer ID source를 보고한다.
|
||||
- 최종 ZIP의 `shasum -a 256` 값이 `AppSok-certified.zip.sha256`에 기록된다.
|
||||
|
||||
2026-06-14 검증에서는 `AppSok-certified.zip` 생성, notarization accepted, stapling, Gatekeeper assessment를 통과했다. 기록된 checksum은 `1c8e89816d4cbf92bcf7c70aa40a4e36ae29efeaeb3cc64ce391c22bc6deef2a`다.
|
||||
2026-06-17 검증에서는 `AppSok-certified.zip` 생성, notarization accepted, stapling, Gatekeeper assessment를 통과했고, `AppSok.app`과 bundled `adb`가 모두 `x86_64 arm64` universal binary임을 확인했다. 기록된 checksum은 `0b379602777efcf51b662581bcbaea9d2ab7c10737cab932b1aaf614c540bc6a`다.
|
||||
|
||||
## 주의 사항
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue