Skip to content

Commit 3c7aa1c

Browse files
committed
fix(homebrew): update Makefile
Signed-off-by: samzong <samzong.lu@gmail.com>
1 parent bc18bc6 commit 3c7aa1c

1 file changed

Lines changed: 40 additions & 24 deletions

File tree

Makefile

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -183,43 +183,57 @@ update-homebrew:
183183
@cd tmp/$(HOMEBREW_TAP_REPO) && echo " - 创建新分支: $(BRANCH_NAME)" && git checkout -b $(BRANCH_NAME)
184184

185185
@echo "==> 更新 cask 文件..."
186-
@cd tmp/$(HOMEBREW_TAP_REPO) && \
187-
X86_64_SHA256=$$(shasum -a 256 ../$(APP_NAME)-x86_64.dmg | cut -d ' ' -f 1) && \
188-
ARM64_SHA256=$$(shasum -a 256 ../$(APP_NAME)-arm64.dmg | cut -d ' ' -f 1) && \
186+
@X86_64_SHA256=$$(shasum -a 256 tmp/$(APP_NAME)-x86_64.dmg | cut -d ' ' -f 1) && \
187+
ARM64_SHA256=$$(shasum -a 256 tmp/$(APP_NAME)-arm64.dmg | cut -d ' ' -f 1) && \
188+
echo "==> 再次确认SHA256: x86_64=$$X86_64_SHA256, arm64=$$ARM64_SHA256" && \
189+
cd tmp/$(HOMEBREW_TAP_REPO) && \
190+
echo "==> 当前目录: $$(pwd)" && \
191+
echo "==> CASK_FILE路径: $(CASK_FILE)" && \
189192
if [ -f $(CASK_FILE) ]; then \
190-
echo " - 使用 sed 更新现有的 cask 文件..."; \
193+
echo " - 发现现有cask文件,使用sed更新..."; \
194+
echo " - cask文件内容 (更新前):"; \
195+
cat $(CASK_FILE); \
191196
sed -i '' "s/version \\\".*\\\"/version \\\"$(CLEAN_VERSION)\\\"/g" $(CASK_FILE); \
197+
echo " - 更新版本后的cask文件:"; \
198+
cat $(CASK_FILE); \
192199
if grep -q "Hardware::CPU.arm" $(CASK_FILE); then \
200+
echo " - 更新ARM架构SHA256..."; \
193201
sed -i '' "/if Hardware::CPU.arm/,/else/ s/sha256 \\\".*\\\"/sha256 \\\"$$ARM64_SHA256\\\"/g" $(CASK_FILE); \
202+
echo " - 更新Intel架构SHA256..."; \
194203
sed -i '' "/else/,/end/ s/sha256 \\\".*\\\"/sha256 \\\"$$X86_64_SHA256\\\"/g" $(CASK_FILE); \
204+
echo " - 更新ARM下载URL..."; \
195205
sed -i '' "s|url \\\".*v#{version}/.*-ARM64.dmg\\\"|url \\\"https://github.com/samzong/$(APP_NAME)/releases/download/v#{version}/$(APP_NAME)-arm64.dmg\\\"|g" $(CASK_FILE); \
206+
echo " - 更新Intel下载URL..."; \
196207
sed -i '' "s|url \\\".*v#{version}/.*-Intel.dmg\\\"|url \\\"https://github.com/samzong/$(APP_NAME)/releases/download/v#{version}/$(APP_NAME)-x86_64.dmg\\\"|g" $(CASK_FILE); \
208+
echo " - 最终cask文件内容:"; \
209+
cat $(CASK_FILE); \
197210
else \
198211
echo "❌ 未知的 cask 格式,无法更新 SHA256 值"; \
199212
exit 1; \
200213
fi; \
201214
else \
202-
echo " - 创建新的 cask 文件..."; \
215+
echo " - 未找到cask文件,创建新文件..."; \
203216
mkdir -p $$(dirname $(CASK_FILE)); \
204-
cat > $(CASK_FILE) << EOF \
205-
cask "configforge" do \
206-
version "$(CLEAN_VERSION)" \
207-
\
208-
if Hardware::CPU.arm? \
209-
url "https://github.com/samzong/$(APP_NAME)/releases/download/v#{version}/$(APP_NAME)-arm64.dmg" \
210-
sha256 "$$ARM64_SHA256" \
211-
else \
212-
url "https://github.com/samzong/$(APP_NAME)/releases/download/v#{version}/$(APP_NAME)-x86_64.dmg" \
213-
sha256 "$$X86_64_SHA256" \
214-
end \
215-
\
216-
name "$(APP_NAME)" \
217-
desc "配置文件管理工具" \
218-
homepage "https://github.com/samzong/$(APP_NAME)" \
219-
\
220-
app "$(APP_NAME).app" \
221-
end \
222-
EOF \
217+
echo " - 使用文本方式创建cask文件..."; \
218+
echo 'cask "configforge" do' > $(CASK_FILE); \
219+
echo ' version "$(CLEAN_VERSION)"' >> $(CASK_FILE); \
220+
echo '' >> $(CASK_FILE); \
221+
echo ' if Hardware::CPU.arm?' >> $(CASK_FILE); \
222+
echo ' url "https://github.com/samzong/$(APP_NAME)/releases/download/v#{version}/$(APP_NAME)-arm64.dmg"' >> $(CASK_FILE); \
223+
echo ' sha256 "'$$ARM64_SHA256'"' >> $(CASK_FILE); \
224+
echo ' else' >> $(CASK_FILE); \
225+
echo ' url "https://github.com/samzong/$(APP_NAME)/releases/download/v#{version}/$(APP_NAME)-x86_64.dmg"' >> $(CASK_FILE); \
226+
echo ' sha256 "'$$X86_64_SHA256'"' >> $(CASK_FILE); \
227+
echo ' end' >> $(CASK_FILE); \
228+
echo '' >> $(CASK_FILE); \
229+
echo ' name "$(APP_NAME)"' >> $(CASK_FILE); \
230+
echo ' desc "配置文件管理工具"' >> $(CASK_FILE); \
231+
echo ' homepage "https://github.com/samzong/$(APP_NAME)"' >> $(CASK_FILE); \
232+
echo '' >> $(CASK_FILE); \
233+
echo ' app "$(APP_NAME).app"' >> $(CASK_FILE); \
234+
echo 'end' >> $(CASK_FILE); \
235+
echo " - 检查创建的cask文件:"; \
236+
cat $(CASK_FILE) || echo "❌ 无法读取cask文件"; \
223237
fi
224238

225239
@echo "==> 检查更改..."
@@ -231,8 +245,10 @@ EOF \
231245
git config user.email "actions@github.com"; \
232246
git commit -m "chore: update $(APP_NAME) to v$(CLEAN_VERSION)"; \
233247
git push -u origin $(BRANCH_NAME); \
248+
echo " - 准备创建PR数据..."; \
234249
pr_data=$$(printf '{\"title\":\"chore: update %s to v%s\",\"body\":\"Auto-generated PR\\\\n- Version: %s\\\\n- x86_64 SHA256: %s\\\\n- arm64 SHA256: %s\",\"head\":\"%s\",\"base\":\"main\"}' \
235250
"$(APP_NAME)" "$(CLEAN_VERSION)" "$(CLEAN_VERSION)" "$$X86_64_SHA256" "$$ARM64_SHA256" "$(BRANCH_NAME)"); \
251+
echo " - PR数据: $$pr_data"; \
236252
curl -X POST \
237253
-H "Authorization: token $(GH_PAT)" \
238254
-H "Content-Type: application/json" \

0 commit comments

Comments
 (0)