Skip to content

Commit b22dd51

Browse files
psmonclaude
andcommitted
Drop osx-x64 from v1 release matrix
GitHub Actions macos-13 runner pool kept the Intel Mac build queued indefinitely, blocking the release publish. Drop osx-x64 from release.yml and trim the asset list to four binaries. Homebrew formula and install.sh now emit clear errors for Intel Mac users (build from source or use Rosetta with arm64). Intel Mac shipping is re-evaluated in v2. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent ac8b1fa commit b22dd51

7 files changed

Lines changed: 26 additions & 18 deletions

File tree

.github/workflows/release.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,8 @@ jobs:
6464
rid: linux-arm64
6565
archive: tar.gz
6666
exe: codescan
67-
- os: macos-13
68-
rid: osx-x64
69-
archive: tar.gz
70-
exe: codescan
67+
# osx-x64 (Intel Mac) intentionally dropped in v1: GitHub Actions
68+
# macos-13 runner pool is heavily constrained. v2 will re-evaluate.
7169
- os: macos-14
7270
rid: osx-arm64
7371
archive: tar.gz

Docs/install-distribution-strategy.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ CodeScan의 지식, 아키텍처, 간편 설치, 배포 운영 같은 기술 주
5757
| 코드 서명 (Windows) | v1 미적용, v1.x 후속 평가 |
5858
| Notarization (macOS) | v1 미적용, v1.x 후속 평가 |
5959
| Linux libc | glibc 우선 (Ubuntu 22.04 LTS 빌드 기준), musl 미지원 (v2 검토) |
60-
| 아키텍처 | x64 + arm64 (Linux/macOS), Windows는 x64만 (arm64 v2) |
60+
| 아키텍처 | Linux: x64 + arm64 / macOS: arm64만 / Windows: x64만 (Intel Mac과 Windows arm64는 v2 재평가) |
6161
| 사용자 데이터 위치 | `~/.codescan/` — 설치 도구와 분리 |
6262
| 텔레메트리 | 없음 (opt-in 포함) |
6363
| 자동 마이그레이션 | DB 스키마 변경 시 자동 백업 후 마이그레이션 |
@@ -88,12 +88,13 @@ GitHub Release에는 다음 asset을 제공한다.
8888
codescan-win-x64.zip
8989
codescan-linux-x64.tar.gz
9090
codescan-linux-arm64.tar.gz
91-
codescan-osx-x64.tar.gz
9291
codescan-osx-arm64.tar.gz
9392
checksums.txt
9493
sbom.cdx.json
9594
```
9695

96+
> v1에서 `codescan-osx-x64`(Intel Mac)는 제외되었다. GitHub Actions `macos-13` 러너 풀이 좁아 빌드가 큐에서 막히는 일이 잦았기 때문이다. Intel Mac은 v2에서 재평가한다. Intel Mac 사용자는 소스에서 직접 빌드(`Script/deploy-linux.sh` 응용)하거나 Rosetta를 통해 `osx-arm64` 빌드를 실행할 수 있다.
97+
9798
각 압축 파일 내부 구조는 다음을 표준으로 한다.
9899

99100
```text
@@ -310,7 +311,7 @@ brew install psmon/codescan/codescan
310311

311312
- tap 저장소: `psmon/homebrew-codescan`
312313
- Formula는 GitHub Release의 macOS tarball을 다운로드한다.
313-
- Apple Silicon(arm64)Intel(x64)을 모두 처리한다.
314+
- v1은 Apple Silicon(arm64)만 처리한다. Intel Mac은 v2에서 재평가.
314315

315316
### Formula 핵심
316317

@@ -327,8 +328,7 @@ class Codescan < Formula
327328
sha256 "<sha256>"
328329
end
329330
on_intel do
330-
url "https://github.com/psmon/CodeScan/releases/download/v#{version}/codescan-osx-x64.tar.gz"
331-
sha256 "<sha256>"
331+
odie "CodeScan v1 does not ship an Intel Mac binary. Build from source or use Rosetta with the arm64 build."
332332
end
333333
end
334334
@@ -349,7 +349,7 @@ end
349349
| tap 저장소 | `psmon/homebrew-codescan` |
350350
| Formula 위치 | `Formula/codescan.rb` |
351351
| notarization | v1 미적용, README에 `xattr -d` 안내 |
352-
| arch | arm64 + x64 모두 |
352+
| arch | arm64만 (Intel은 v2 재평가) |
353353
| quarantine | 사용자 안내 + 향후 notarization으로 해결 |
354354
| brew audit | tap에서는 강제 아님, core 진입 전 통과 목표 |
355355

Script/install.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,15 @@ ASSET="codescan-${RID}.tar.gz"
6363

6464
step "Detected platform: $RID"
6565

66+
# 1a. v1 does not ship Intel Mac binaries.
67+
if [ "$RID" = "osx-x64" ]; then
68+
err "Intel Mac (osx-x64) is not shipped in CodeScan v1."
69+
err "Options:"
70+
err " - Build from source: https://github.com/$REPO"
71+
err " - Use Rosetta with the arm64 build: arch -arm64 $0 [--version $VERSION]"
72+
exit 1
73+
fi
74+
6675
# 1b. libc warning for Linux
6776
if [ "$os" = "linux" ]; then
6877
if ! ldd --version 2>&1 | grep -qi 'glibc\|gnu libc'; then

packaging/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ All channels point at the same GitHub Release assets generated by
3434
codescan-win-x64.zip
3535
codescan-linux-x64.tar.gz
3636
codescan-linux-arm64.tar.gz
37-
codescan-osx-x64.tar.gz
3837
codescan-osx-arm64.tar.gz
3938
checksums.txt
4039
sbom.cdx.json
4140
```
4241

42+
> v1 does not ship `codescan-osx-x64` (Intel Mac). GitHub Actions `macos-13` runner availability was too constrained for a reliable release pipeline. Intel Mac support is a v2 item.
43+
4344
Per-asset SHA256s live in `checksums.txt`. Each channel's "update" step pulls
4445
SHA256s from there and rewrites the corresponding manifest template.
4546

packaging/homebrew/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ Tap repository: `psmon/homebrew-codescan` (separate repo, manually created).
1111

1212
## v1 release flow (manual)
1313

14-
1. Publish a GitHub Release (osx-arm64 + osx-x64 tarballs + checksums.txt).
14+
> v1 ships **only** the Apple Silicon (osx-arm64) binary. Intel Mac users get a clear `odie` message from the formula. Re-enabling Intel is a v2 item.
15+
16+
1. Publish a GitHub Release (osx-arm64 tarball + checksums.txt).
1517
2. From the CodeScan repo:
1618
```bash
1719
./packaging/homebrew/update-formula.sh 0.3.94 ./dist/checksums.txt > /tmp/codescan.rb

packaging/homebrew/codescan.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ class Codescan < Formula
2424
sha256 "SHA256_OSX_ARM64_PLACEHOLDER"
2525
end
2626
on_intel do
27-
url "https://github.com/psmon/CodeScan/releases/download/v#{version}/codescan-osx-x64.tar.gz"
28-
sha256 "SHA256_OSX_X64_PLACEHOLDER"
27+
odie "CodeScan v1 does not ship an Intel Mac binary. Build from source or use Rosetta with the arm64 build."
2928
end
3029
end
3130

packaging/homebrew/update-formula.sh

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,14 @@ extract_sha() {
2323
}
2424

2525
SHA_ARM64="$(extract_sha codescan-osx-arm64.tar.gz)"
26-
SHA_X64="$( extract_sha codescan-osx-x64.tar.gz)"
2726

28-
if [ -z "$SHA_ARM64" ] || [ -z "$SHA_X64" ]; then
29-
echo "Missing SHA256 for one or more osx assets in $SUMS_FILE" >&2
27+
if [ -z "$SHA_ARM64" ]; then
28+
echo "Missing SHA256 for codescan-osx-arm64.tar.gz in $SUMS_FILE" >&2
3029
exit 1
3130
fi
3231

32+
# Intel Mac (osx-x64) is not shipped in v1; the formula uses odie() for Intel.
3333
sed \
3434
-e "s|VERSION_PLACEHOLDER|${VERSION}|g" \
3535
-e "s|SHA256_OSX_ARM64_PLACEHOLDER|${SHA_ARM64}|g" \
36-
-e "s|SHA256_OSX_X64_PLACEHOLDER|${SHA_X64}|g" \
3736
"$FORMULA"

0 commit comments

Comments
 (0)