Skip to content

[Level 1] Windows/macOS arm64 + amd64 교차 아키텍처 빌드 지원 #38

Description

@seonghobae

배경

현재 cross-platform build baseline은 Windows와 macOS를 각각 1개 runner/아키텍처로만 검증한다. 사용자는 Windows와 macOS 모두 arm64amd64를 지원해야 한다고 명시했고, 추가로 Windows 10/11, macOS 24/25 계열 검증과 Antivirus Check를 요구했다.

목표

보호 브랜치와 release 검증에서 Windows/macOS 각각에 대해 가능한 GitHub-hosted amd64/arm64 빌드 산출물과 증거를 남기고, Windows runner에서는 antivirus baseline도 검증한다.

구현 범위

  • GitHub Actions runner label 조사와 정책/문서 근거 반영
  • build-baseline.yml에 Windows x64 + arm64, macOS Intel + arm64 matrix 추가
  • Windows runner에서 antivirus baseline 확인 step 추가
  • artifact 명명 규칙에 OS + arch 반영
  • release attach 단계가 OS/arch별 산출물을 모두 연결하도록 수정
  • required-check/architecture docs 업데이트
  • package/release helper가 arch 메타데이터를 보존하도록 보강
  • workflow 검증 테스트 및 quickcheck 반영
  • 정확한 Windows 10/macOS 24/25 hosted runner 부재 시 platform limitation을 문서화

선행 이슈

  • 없음

완료 기준

  • Windows 빌드가 hosted runner 기준 amd64arm64에서 각각 수행된다.
  • macOS 빌드가 hosted runner 기준 Intel(amd64)과 arm64에서 각각 수행된다.
  • Windows jobs에서 antivirus baseline 확인이 수행된다.
  • artifact와 checksum 파일명이 OS/arch를 명시한다.
  • release 연결 단계가 네 가지 산출물(Windows/macOS x64/arm64)을 모두 처리한다.
  • docs/security/cross-platform-build-policy.md, docs/security/github-required-checks.md, ARCHITECTURE.md가 multi-arch 요구와 hosted-runner limitation을 반영한다.
  • 로컬/CI 검증이 workflow 변경을 커버한다.

Security Notes

  • runner label allowlist와 unsupported runner fallback 처리
  • antivirus baseline evidence on Windows runners
  • release artifact provenance와 checksum traceability
  • architecture별 packaged binary drift 검증

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions