Files
ecs/.github/workflows/public_build.yml
T
2025-07-18 00:09:53 +08:00

82 lines
3.1 KiB
YAML

name: Public Build
on:
workflow_run:
workflows: ["Build and Release"]
types:
- completed
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.23.4'
- name: Create public branch
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email 'actions@github.com'
git checkout -b public || git checkout public
git merge ${{ github.ref_name }} --no-edit || true
- name: Remove security package references
run: |
# 移除 network 包中对 security 的引用
find . -type f -name "*.go" -exec sed -i 's|"github.com/oneclickvirt/security/network"|"github.com/oneclickvirt/basics/network"|g' {} +
# # 修改 .back/network/network.go
# cat > .back/network/network.go << 'EOF'
# package network1
# import "github.com/oneclickvirt/basics/network"
# func NetworkCheck(checkType string, enableSecurityCheck bool, language string) (string, string, error) {
# ipInfo, _, err := network.NetworkCheck(checkType, false, language)
# return ipInfo, "", err
# }
# EOF
# 修改 utils/utils.go 中的 BasicsAndSecurityCheck 函数
sed -i '/SecurityUploadToken/d' utils/utils.go
sed -i 's|"github.com/oneclickvirt/security/network"|"github.com/oneclickvirt/basics/network"|g' utils/utils.go
# 在 utils/utils.go 中添加 token 常量(在 import 语句之后)
sed -i '/^import/,/^)/{/^)/a\'$'\n''const token = "OvwKx5qgJtf7PZgCKbtyojSU.MTcwMTUxNzY1MTgwMw"'$'\n''}' utils/utils.go
# 修改 go.mod,移除私有仓库依赖
sed -i '/github.com\/oneclickvirt\/security/d' go.mod
# 修改 goecs.go,禁用 security 检测
sed -i 's|var securityFlag = flag.Bool("security", true,|var securityFlag = flag.Bool("security", false,|g' goecs.go
# 更新依赖
go mod tidy
# 修改 README.md 和 README_EN.md 中的敏感信息
sed -i 's|但二进制文件编译至 \[securityCheck\].*)|但已开源|g' README.md
sed -i 's|but binary files compiled in \[securityCheck\].*)|but open sourced|g' README_EN.md
# 修改命令行帮助信息
sed -i 's|security.*Enable/Disable security test (default true)|security Enable/Disable security test (default false)|g' README.md
sed -i 's|security.*Enable/Disable security test (default true)|security Enable/Disable security test (default false)|g' README_EN.md
- name: Build and Test
run: |
env CGO_ENABLED=1 go build -o maintest
./maintest -menu=false -l en -security=false -upload=false || exit 1
rm -rf maintest
- name: Commit and push changes
run: |
git add .
git commit -m "Auto update public version (no security package)" || echo "No changes to commit"
git push -f origin public