From 7e7cbd2aa91b1a6b6bf3e41a9548ea28e58957ac Mon Sep 17 00:00:00 2001 From: 72wo <1@72wo.cn> Date: Thu, 22 Jan 2026 10:06:06 +0800 Subject: [PATCH] Update logic_CI.yml --- .github/workflows/logic_CI.yml | 47 ++++++++++++++-------------------- 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/.github/workflows/logic_CI.yml b/.github/workflows/logic_CI.yml index a49db325a..2056c3bfa 100644 --- a/.github/workflows/logic_CI.yml +++ b/.github/workflows/logic_CI.yml @@ -10,7 +10,7 @@ on: default: 8080 type: number -# 统一最小化权限(仅保留必要的actions/read,删除contents/write) +# 最小化权限配置 permissions: actions: read @@ -19,18 +19,20 @@ env: CGO_ENABLED: 0 GO111MODULE: on GOSUMDB: off - # 七牛云远程目录(统一管理,可按需修改) + # 七牛云远程存储目录 QINIU_REMOTE_DIR: releases/ jobs: build-and-upload-qiniu: runs-on: ubuntu-latest steps: + # 仅签出当前仓库(核心修改:极简配置+本仓库内置token鉴权) - uses: actions/checkout@v4 with: - fetch-depth: 1 # 仅拉取最新提交,加速克隆 + fetch-depth: 1 + token: ${{ github.token }} - # 生成版本号(短Commit Hash,合并原prepare-version任务) + # 生成基于Commit的短版本号 - name: 生成构建版本号 id: set-version run: | @@ -39,7 +41,7 @@ jobs: echo "构建版本号:${VERSION}" >> $GITHUB_STEP_SUMMARY shell: bash - # 缓存Go依赖(v4+双缓存,编译缓存+mod缓存,极致加速) + # 缓存Go依赖(编译缓存+mod缓存,加速二次构建) - name: 缓存Go依赖 uses: actions/cache@v4 with: @@ -51,24 +53,24 @@ jobs: ${{ runner.os }}-go- fail-on-cache-miss: false - # 配置Go环境(v5+自动缓存,双重保障) + # 配置Go 1.25环境(自动缓存依赖,双重保障) - name: 配置Go 1.25环境 uses: actions/setup-go@v5 with: go-version: '1.25' cache: true - # 预下载依赖,避免编译时边下载边构建 + # 预下载所有Go依赖,避免编译时边下载边构建 - name: 预下载Go依赖 run: go mod download -x shell: bash - # 编译Go服务(极致优化参数,保留所有原优化) + # 编译Logic服务(极致优化参数+产物存在性校验) - name: 编译Logic服务 run: | mkdir -p build BIN_NAME="logic_${{ steps.set-version.outputs.build_version }}" - # 编译参数:并行+瘦身+静态编译 + # Go编译极致优化参数:静态编译+瘦身+并行构建 go build -v \ -p=4 \ -trimpath \ @@ -76,9 +78,9 @@ jobs: -ldflags "-s -w -buildid= -extldflags '-static'" \ -o ./build/${BIN_NAME} \ ./logic - # 校验编译产物是否存在 + # 校验编译产物是否存在,不存在则直接失败 if [ ! -f ./build/${BIN_NAME} ]; then - echo "编译失败:产物${BIN_NAME}不存在" + echo "❌ 编译失败:产物${BIN_NAME}不存在" exit 1 fi # 打印产物信息 @@ -86,9 +88,8 @@ jobs: echo "产物名称:${BIN_NAME}" >> $GITHUB_STEP_SUMMARY shell: bash - # 上传到七牛云(核心步骤,增加校验+日志+CDN地址打印) + # 上传产物到七牛云(覆盖同名文件+统一远程目录) - name: 上传产物到七牛云 - id: qiniu-upload uses: cumt-robin/upload-to-qiniu-action@v1 with: access_key: ${{ secrets.QINIU_AK }} @@ -97,25 +98,24 @@ jobs: region: z2 local_dir: build remote_dir: ${{ env.QINIU_REMOTE_DIR }} - overwrite: true # 覆盖同名文件,避免版本冲突 + overwrite: true - # 上传成功后:打印CDN访问地址+构建信息,写入步骤摘要 - - name: 打印构建&分发信息 + # 打印构建&分发核心信息(控制台+步骤摘要双展示) + - name: 打印构建完成信息 run: | BIN_NAME="logic_${{ steps.set-version.outputs.build_version }}" CDN_URL="https://${{ secrets.QINIU_CDN_DOMAIN }}/${{ env.QINIU_REMOTE_DIR }}${BIN_NAME}" - # 打印到控制台 + # 控制台打印 echo "======================================" echo "✅ 构建&七牛云上传完成!" echo "版本号:${{ steps.set-version.outputs.build_version }}" echo "触发方式:${{ github.event_name == 'workflow_dispatch' && '手动触发' || '代码推送' }}" echo "服务端口:${{ github.event.inputs.servicePort || 8080 }}" - echo "产物名称:${BIN_NAME}" echo "七牛云CDN地址:${CDN_URL}" echo "启动命令:./${BIN_NAME} -port=${{ github.event.inputs.servicePort || 8080 }}" echo "对应Commit:${{ github.sha }}" echo "======================================" - # 写入GitHub步骤摘要(页面顶部可见,更直观) + # GitHub步骤摘要(页面顶部可见) echo "## ✅ 构建&分发完成" >> $GITHUB_STEP_SUMMARY echo "- 版本号:${{ steps.set-version.outputs.build_version }}" >> $GITHUB_STEP_SUMMARY echo "- 触发方式:${{ github.event_name == 'workflow_dispatch' && '手动触发' || '代码推送' }}" >> $GITHUB_STEP_SUMMARY @@ -124,12 +124,3 @@ jobs: echo "- 启动命令:`./${BIN_NAME} -port=${{ github.event.inputs.servicePort || 8080 }}`" >> $GITHUB_STEP_SUMMARY echo "- 对应Commit:[${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }})" >> $GITHUB_STEP_SUMMARY shell: bash - - # 可选:保留构建产物为Artifact(按需开启,保留1天,方便临时下载) - # - name: 上传产物为Artifact - # uses: actions/upload-artifact@v4 - # with: - # name: logic_${{ steps.set-version.outputs.build_version }} - # path: ./build/ - # if-no-files-found: error - # retention-days: 1