Files
toutoukan/.github/workflows/main.yml
JACKYMYPERSON b103d50e7a Update main.yml
2025-09-16 00:29:23 +08:00

72 lines
2.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Golang CI
on:
push:
branches: ["main"]
jobs:
test-go:
runs-on: centos-latest
steps:
- name: code-pull
uses: actions/checkout@v4
- name: setup-goenv
uses: actions/setup-go@v5
with:
go-version: '1.24.7'
- name: verify go mod
run: go mod verify
- name: go build
run: go build -v ./...
- name: go test
run: go test -v ./...
send-email:
runs-on: ubuntu-latest
steps:
- name: 检出代码仓库
uses: actions/checkout@v4 # 必须添加否则无法使用git命令
- name: install email tool
run: |
sudo apt update -y
sudo apt install -y sendmail
- name: send email
env:
SMTP_SERVER: ${{ secrets.SMTP_SERVER }}
SMTP_PORT: ${{ secrets.SMTP_PORT }}
EMAIL_USER: ${{ secrets.EMAIL_USER }}
EMAIL_PASS: ${{ secrets.EMAIL_PASS }}
TO_EMAIL: 1627832236@qq.com
run: |
if [ -z "$SMTP_SERVER" ] || [ -z "$SMTP_PORT" ]; then
echo "错误SMTP_SERVER或SMTP_PORT未设置"
exit 1
fi
# 1. 修复URL格式强制处理
smtp_url="smtps://${SMTP_SERVER}:${SMTP_PORT}"
smtp_url=$(echo "$smtp_url" | tr -d '[:space:]' | sed 's/[^a-zA-Z0-9_.:\/-]//g') # 移除所有非法字符
echo "最终SMTP URL: [$smtp_url]" # 必须显示为[smtps://smtp.qq.com:465]
# 2. 中文主题编码
base64_subject=$(echo -n "推送仓库成功" | base64 | tr -d '\n')
# 3. 构建邮件内容现在git命令可用
email_content=$(cat <<-EOF
From: ${EMAIL_USER}
To: ${TO_EMAIL}
Subject: =?UTF-8?B?${base64_subject}?=
通知有新的内容已推送到仓库「toutoukan」的main分支
推送时间: $(date +"%Y-%m-%d %H:%M:%S")
推送作者: $(git log -1 --pretty=format:'%an')
提交信息: $(git log -1 --pretty=format:'%s')
EOF
)
# 4. 发送邮件(与本地成功命令一致)
curl -v \
--tlsv1.2 \
--mail-from "$EMAIL_USER" \
--mail-rcpt "$TO_EMAIL" \
--user "$EMAIL_USER:$EMAIL_PASS" \
-T <(echo -e "$email_content") \
"$smtp_url"