Update logic_CI.yml
This commit is contained in:
56
.github/workflows/logic_CI.yml
vendored
56
.github/workflows/logic_CI.yml
vendored
@@ -10,50 +10,38 @@ on:
|
|||||||
default: 8080
|
default: 8080
|
||||||
type: number
|
type: number
|
||||||
|
|
||||||
# 核心修复1:最高权限兜底(解决私有仓库鉴权)
|
# 仅保留必要权限,和你最初一致
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: read
|
||||||
actions: write
|
actions: read
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# Go编译优化
|
# 完全还原你最初的环境变量
|
||||||
CGO_ENABLED: 0
|
CGO_ENABLED: 0
|
||||||
GO111MODULE: on
|
GO111MODULE: on
|
||||||
GOSUMDB: off
|
GOSUMDB: off
|
||||||
# 七牛云配置
|
|
||||||
QINIU_REMOTE_DIR: releases/
|
QINIU_REMOTE_DIR: releases/
|
||||||
# 显式指定你的仓库地址(解决not found核心问题)
|
|
||||||
REPO_URL: https://github.com/72wo/blazing.git
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-upload-qiniu:
|
build-and-upload-qiniu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
# 核心修复2:手动克隆仓库(替代checkout,彻底解决鉴权/地址问题)
|
# 修复checkout:还原你最初的极简配置+补全鉴权,无任何多余配置
|
||||||
- name: 手动克隆当前仓库(兜底方案)
|
- uses: actions/checkout@v4
|
||||||
run: |
|
with:
|
||||||
# 用GITHUB_TOKEN拼接鉴权地址,避免匿名访问404
|
fetch-depth: 1 # 和你最初一致,仅拉取最新提交
|
||||||
CLONE_URL="https://${{ github.actor }}:${{ github.token }}@github.com/72wo/blazing.git"
|
token: ${{ github.token }} # 仅加这一行鉴权,解决私有仓库克隆
|
||||||
git clone --depth 1 $CLONE_URL $GITHUB_WORKSPACE
|
|
||||||
cd $GITHUB_WORKSPACE
|
|
||||||
# 确认克隆成功,打印仓库信息
|
|
||||||
git config --global user.name "github-actions[bot]"
|
|
||||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
||||||
git rev-parse HEAD
|
|
||||||
echo "✅ 仓库克隆成功,当前Commit:$(git rev-parse --short=8 HEAD)"
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
# 生成版本号(基于本地Git,兜底无异常)
|
# 生成版本号:完全还原你最初的逻辑,无cd无绝对路径
|
||||||
- name: 生成构建版本号
|
- name: 生成构建版本号
|
||||||
id: set-version
|
id: set-version
|
||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE
|
|
||||||
VERSION="v$(git rev-parse --short=8 HEAD)"
|
VERSION="v$(git rev-parse --short=8 HEAD)"
|
||||||
echo "build_version=${VERSION}" >> $GITHUB_OUTPUT
|
echo "build_version=${VERSION}" >> $GITHUB_OUTPUT
|
||||||
echo "构建版本号:${VERSION}" >> $GITHUB_STEP_SUMMARY
|
echo "构建版本号:${VERSION}" >> $GITHUB_STEP_SUMMARY
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
# 缓存Go依赖(双缓存加速)
|
# 缓存Go依赖:完全和你最初一致
|
||||||
- name: 缓存Go依赖
|
- name: 缓存Go依赖
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
@@ -65,24 +53,21 @@ jobs:
|
|||||||
${{ runner.os }}-go-
|
${{ runner.os }}-go-
|
||||||
fail-on-cache-miss: false
|
fail-on-cache-miss: false
|
||||||
|
|
||||||
# 配置Go环境
|
# 配置Go环境:完全和你最初一致
|
||||||
- name: 配置Go 1.25环境
|
- name: 配置Go 1.25环境
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '1.25'
|
go-version: '1.25'
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
# 预下载依赖
|
# 预下载依赖:完全和你最初一致,无cd
|
||||||
- name: 预下载Go依赖
|
- name: 预下载Go依赖
|
||||||
run: |
|
run: go mod download -x
|
||||||
cd $GITHUB_WORKSPACE
|
|
||||||
go mod download -x
|
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
# 编译Logic服务(产物校验)
|
# 编译服务:完全还原你最初的逻辑,相对路径build,无任何绝对路径
|
||||||
- name: 编译Logic服务
|
- name: 编译Logic服务
|
||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE
|
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
BIN_NAME="logic_${{ steps.set-version.outputs.build_version }}"
|
BIN_NAME="logic_${{ steps.set-version.outputs.build_version }}"
|
||||||
go build -v \
|
go build -v \
|
||||||
@@ -92,7 +77,6 @@ jobs:
|
|||||||
-ldflags "-s -w -buildid= -extldflags '-static'" \
|
-ldflags "-s -w -buildid= -extldflags '-static'" \
|
||||||
-o ./build/${BIN_NAME} \
|
-o ./build/${BIN_NAME} \
|
||||||
./logic
|
./logic
|
||||||
# 产物存在性校验
|
|
||||||
if [ ! -f ./build/${BIN_NAME} ]; then
|
if [ ! -f ./build/${BIN_NAME} ]; then
|
||||||
echo "❌ 编译失败:产物${BIN_NAME}不存在"
|
echo "❌ 编译失败:产物${BIN_NAME}不存在"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -101,7 +85,7 @@ jobs:
|
|||||||
echo "产物名称:${BIN_NAME}" >> $GITHUB_STEP_SUMMARY
|
echo "产物名称:${BIN_NAME}" >> $GITHUB_STEP_SUMMARY
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
# 上传七牛云(绝对路径指定,无目录问题)
|
# 核心修复:七牛云上传改回你最初的相对路径build,删除所有$GITHUB_WORKSPACE
|
||||||
- name: 上传产物到七牛云
|
- name: 上传产物到七牛云
|
||||||
uses: cumt-robin/upload-to-qiniu-action@v1
|
uses: cumt-robin/upload-to-qiniu-action@v1
|
||||||
with:
|
with:
|
||||||
@@ -109,14 +93,13 @@ jobs:
|
|||||||
secret_key: ${{ secrets.QINIU_SK }}
|
secret_key: ${{ secrets.QINIU_SK }}
|
||||||
bucket: ${{ secrets.QINIU_BUCKET_NAME }}
|
bucket: ${{ secrets.QINIU_BUCKET_NAME }}
|
||||||
region: z2
|
region: z2
|
||||||
local_dir: $GITHUB_WORKSPACE/build
|
local_dir: build # 还原你最初的写法,绝对正确
|
||||||
remote_dir: ${{ env.QINIU_REMOTE_DIR }}
|
remote_dir: ${{ env.QINIU_REMOTE_DIR }}
|
||||||
overwrite: true
|
overwrite: true
|
||||||
|
|
||||||
# 打印构建信息
|
# 打印信息:完全还原你最初的逻辑,无cd无绝对路径
|
||||||
- name: 打印构建完成信息
|
- name: 打印构建完成信息
|
||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE
|
|
||||||
BIN_NAME="logic_${{ steps.set-version.outputs.build_version }}"
|
BIN_NAME="logic_${{ steps.set-version.outputs.build_version }}"
|
||||||
CDN_URL="https://${{ secrets.QINIU_CDN_DOMAIN }}/${{ env.QINIU_REMOTE_DIR }}${BIN_NAME}"
|
CDN_URL="https://${{ secrets.QINIU_CDN_DOMAIN }}/${{ env.QINIU_REMOTE_DIR }}${BIN_NAME}"
|
||||||
echo "======================================"
|
echo "======================================"
|
||||||
@@ -128,12 +111,11 @@ jobs:
|
|||||||
echo "启动命令:./${BIN_NAME} -port=${{ github.event.inputs.servicePort || 8080 }}"
|
echo "启动命令:./${BIN_NAME} -port=${{ github.event.inputs.servicePort || 8080 }}"
|
||||||
echo "对应Commit:${{ github.sha }}"
|
echo "对应Commit:${{ github.sha }}"
|
||||||
echo "======================================"
|
echo "======================================"
|
||||||
# 步骤摘要
|
|
||||||
echo "## ✅ 构建&分发完成" >> $GITHUB_STEP_SUMMARY
|
echo "## ✅ 构建&分发完成" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- 版本号:${{ steps.set-version.outputs.build_version }}" >> $GITHUB_STEP_SUMMARY
|
echo "- 版本号:${{ steps.set-version.outputs.build_version }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- 触发方式:${{ github.event_name == 'workflow_dispatch' && '手动触发' || '代码推送' }}" >> $GITHUB_STEP_SUMMARY
|
echo "- 触发方式:${{ github.event_name == 'workflow_dispatch' && '手动触发' || '代码推送' }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- 服务端口:${{ github.event.inputs.servicePort || 8080 }}" >> $GITHUB_STEP_SUMMARY
|
echo "- 服务端口:${{ github.event.inputs.servicePort || 8080 }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- 七牛云CDN地址:[${CDN_URL}](${CDN_URL})" >> $GITHUB_STEP_SUMMARY
|
echo "- 七牛云CDN地址:[${CDN_URL}](${CDN_URL})" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- 启动命令:`./${BIN_NAME} -port=${{ github.event.inputs.servicePort || 8080 }}`" >> $GITHUB_STEP_SUMMARY
|
echo "- 启动命令:`./${BIN_NAME} -port=${{ github.event.inputs.servicePort || 8080 }}`" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- 对应Commit:[${{ github.sha }}](https://${{ github.repository }}/commit/${{ github.sha }})" >> $GITHUB_STEP_SUMMARY
|
echo "- 对应Commit:[${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }})" >> $GITHUB_STEP_SUMMARY
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
Reference in New Issue
Block a user