Files
epic-go/.gitea/workflows/ci.yaml
hu xiaotong e7a38754e1 ci: 添加 Gitea Actions 示例工作流
- 新增 ci.yaml 文件,定义 Gitea Actions 示例
2025-06-26 12:35:11 +08:00

113 lines
3.4 KiB
Go

name: Epic Go Build & Deploy
run-name: ${{ gitea.actor }} 正在构建 Epic Go 项目 🚀
on:
push:
branches: [ main, master, develop ]
pull_request:
branches: [ main, master ]
jobs:
build:
runs-on: gitea_labels
steps:
- name: 检出代码
run: |
echo "📥 检出代码到工作目录..."
echo "当前目录: $(pwd)"
echo "工作目录: ${{ gitea.workspace }}"
- name: 安装Go环境
run: |
echo "🔧 安装Go 1.22环境..."
# 检查是否已安装Go
if command -v go &> /dev/null; then
echo "✅ Go已安装: $(go version)"
else
echo "📥 下载并安装Go..."
# 下载Go 1.22
GO_VERSION="1.22.0"
GO_ARCH="linux-amd64"
GO_URL="https://go.dev/dl/go${GO_VERSION}.${GO_ARCH}.tar.gz"
echo "下载Go ${GO_VERSION}..."
wget -q ${GO_URL} -O go.tar.gz
# 解压到/usr/local
echo "解压Go到/usr/local..."
tar -C /usr/local -xzf go.tar.gz
# 设置环境变量
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
# 验证安装
echo "验证Go安装..."
/usr/local/go/bin/go version
# 清理下载文件
rm go.tar.gz
echo "✅ Go安装完成"
fi
- name: 检查Go环境
run: |
echo "🔍 检查Go环境..."
export PATH=$PATH:/usr/local/go/bin
go version
go env GOPATH
go env GOROOT
- name: 下载依赖
run: |
echo "📦 下载Go模块依赖..."
export PATH=$PATH:/usr/local/go/bin
go mod download
echo "✅ 依赖下载完成"
- name: 验证依赖
run: |
echo "🔍 验证Go模块..."
export PATH=$PATH:/usr/local/go/bin
go mod verify
echo "✅ 模块验证完成"
- name: 构建项目
run: |
echo "🔨 开始构建 Epic Go 项目..."
export PATH=$PATH:/usr/local/go/bin
go build -v -o epic-game-service main.go
echo "✅ 构建完成"
- name: 检查构建产物
run: |
echo "📦 构建产物信息:"
ls -la epic-game-service
file epic-game-service
echo "文件大小: $(du -h epic-game-service | cut -f1)"
- name: 显示项目信息
run: |
echo "📋 项目信息:"
export PATH=$PATH:/usr/local/go/bin
echo "Go 版本: $(go version)"
echo "模块名称: $(go list -m)"
echo "构建时间: $(date)"
echo "分支: ${{ gitea.ref }}"
echo "提交: ${{ gitea.sha }}"
- name: 准备部署
run: |
echo "🚀 准备部署..."
echo "运行器操作系统: ${{ runner.os }}"
echo "工作目录: ${{ gitea.workspace }}"
echo "任务状态: ${{ job.status }}"
# 创建部署包
mkdir -p deploy
cp epic-game-service deploy/
cp -r manifest deploy/
echo "📦 部署包已准备完成"