Skip to content

修正设备状态

修正设备状态 #12

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*' # 当推送 v 开头的 tag 时触发,例如 v1.0.0
permissions:
contents: write
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- name: 检出代码
uses: actions/checkout@v4
with:
fetch-depth: 0 # 获取完整的 git 历史,用于版本号
- name: 设置 Go 环境
uses: actions/setup-go@v5
with:
go-version: '1.25'
- name: 设置 Node.js 环境
uses: actions/setup-node@v4
with:
node-version: '24'
- name: 安装 Yarn 和 UPX
run: |
npm install -g yarn
sudo apt-get update
sudo apt-get install -y upx
- name: 使用 Make 构建前后端(多平台)
run: |
VERSION=${GITHUB_REF#refs/tags/}
make build-web
make build-servers VERSION=${VERSION}
ls -lh bin/
- name: 准备发布包
run: |
VERSION=${GITHUB_REF#refs/tags/}
# 定义平台和架构
PLATFORMS=(
"linux-amd64"
"linux-arm64"
"linux-arm"
"windows-amd64"
"windows-arm64"
"darwin-amd64"
"darwin-arm64"
"freebsd-amd64"
)
# 为每个平台创建发布包
for PLATFORM in "${PLATFORMS[@]}"; do
RELEASE_DIR="uart_sms_forwarder-${PLATFORM}"
mkdir -p ${RELEASE_DIR}
# 复制二进制文件
if [[ $PLATFORM == windows-* ]]; then
cp bin/uart_sms_forwarder-${PLATFORM}.exe ${RELEASE_DIR}/uart_sms_forwarder.exe
else
cp bin/uart_sms_forwarder-${PLATFORM} ${RELEASE_DIR}/uart_sms_forwarder
fi
# 复制配置文件示例
cp config.example.yaml ${RELEASE_DIR}/config.yaml
# 打包为 tar.gz
tar -czf ${RELEASE_DIR}.tar.gz ${RELEASE_DIR}
echo "✓ Packaged ${PLATFORM}"
done
# 显示所有打包结果
ls -lh uart_sms_forwarder-*.tar.gz
- name: 创建 Release 并上传文件
uses: softprops/action-gh-release@v1
with:
files: |
uart_sms_forwarder-*.tar.gz
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}