1
0
forked from Eeveid/lightOps

🐛 fix(workflow): 修复发布流程的仓库来源识别

- 检出代码时改为根据触发仓库动态拼接克隆地址,去掉对 Eeveid/lightOps 的硬编码
- 使用当前触发仓库拆分 owner 和 repo,确保 Release 发布到正确项目
- 避免在 origin2 等镜像仓库打标签后,工作流仍去主仓库检出代码导致找不到标签
This commit is contained in:
2026-05-25 22:20:15 +08:00
parent 121bd8bd7f
commit e6f3f50ccb

View File

@@ -14,7 +14,14 @@ jobs:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: |
set -eux
SERVER_URL="${GITHUB_SERVER_URL:-${GITEA_SERVER_URL:-https://gitea.kmux.cn}}"
REPOSITORY="${GITHUB_REPOSITORY:-${GITEA_REPOSITORY:-}}"
TAG="${GITHUB_REF_NAME:-${GITEA_REF_NAME:-}}"
if [ -z "$REPOSITORY" ]; then
echo "无法识别触发仓库"
env | sort
exit 1
fi
if [ -z "$TAG" ] && [ -n "${GITHUB_REF:-}" ]; then
TAG="${GITHUB_REF##*/}"
fi
@@ -23,12 +30,14 @@ jobs:
env | sort
exit 1
fi
CLONE_URL="${SERVER_URL%/}/${REPOSITORY}.git"
printf '%s' "$TAG" > /tmp/lightops-release-tag
rm -rf lightops-src
if [ -n "${GITEA_TOKEN:-}" ]; then
git clone "https://oauth2:${GITEA_TOKEN}@gitea.kmux.cn/Eeveid/lightOps.git" lightops-src
AUTH_HEADER="Authorization: Basic $(printf 'oauth2:%s' "$GITEA_TOKEN" | base64 | tr -d '\n')"
git -c http.extraHeader="$AUTH_HEADER" clone "$CLONE_URL" lightops-src
else
git clone https://gitea.kmux.cn/Eeveid/lightOps.git lightops-src
git clone "$CLONE_URL" lightops-src
fi
cd lightops-src
git fetch --tags --force
@@ -75,11 +84,13 @@ jobs:
- name: 发布到 Gitea Release
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_URL: https://gitea.kmux.cn
GITEA_OWNER: Eeveid
GITEA_REPO: lightOps
run: |
set -eux
SERVER_URL="${GITHUB_SERVER_URL:-${GITEA_SERVER_URL:-https://gitea.kmux.cn}}"
REPOSITORY="${GITHUB_REPOSITORY:-${GITEA_REPOSITORY:-}}"
GITEA_URL="${SERVER_URL%/}"
GITEA_OWNER="${REPOSITORY%%/*}"
GITEA_REPO="${REPOSITORY#*/}"
cd lightops-src
TAG="$(cat /tmp/lightops-release-tag)"
TARGET_SHA="$(git rev-parse HEAD)"