forked from Fission-AI/OpenSpec
-
Notifications
You must be signed in to change notification settings - Fork 77
39 lines (31 loc) · 1.16 KB
/
Copy pathupstream-version-check.yml
File metadata and controls
39 lines (31 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
name: Upstream Version Check
on:
schedule:
# 每天 UTC 08:00 (北京时间 16:00) 执行
- cron: '0 8 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
check-version:
name: Check upstream version
runs-on: ubuntu-latest
steps:
- name: Fetch and compare versions
run: |
UPSTREAM=$(npm view @fission-ai/openspec version 2>/dev/null || echo "")
LOCAL=$(npm view @studyzy/openspec-cn version 2>/dev/null || echo "")
if [ -z "$UPSTREAM" ] || [ -z "$LOCAL" ]; then
echo "::error::Failed to fetch versions: upstream=$UPSTREAM local=$LOCAL"
exit 1
fi
# 去掉 -xxx 后缀取基础版本
UPSTREAM_BASE=$(echo "$UPSTREAM" | sed 's/-.*//')
LOCAL_BASE=$(echo "$LOCAL" | sed 's/-.*//')
echo "Upstream: $UPSTREAM (base: $UPSTREAM_BASE)"
echo "Local: $LOCAL (base: $LOCAL_BASE)"
if [ "$UPSTREAM_BASE" != "$LOCAL_BASE" ]; then
echo "::error::上游版本已更新! upstream=$UPSTREAM_BASE local=$LOCAL_BASE,请及时同步。"
exit 1
fi
echo "Versions match: $UPSTREAM_BASE"