Files
toutoukan/.github/workflows/main.yml
JACKYMYPERSON 4b0ce8fec8 Update main.yml
2025-09-16 00:08:05 +08:00

69 lines
2.1 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: 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: |
# 1. 修复URL格式核心
smtp_url="smtps://${SMTP_SERVER}:${SMTP_PORT}"
smtp_url=$(echo "$smtp_url" | tr -d '[:space:]') # 强制移除所有空白字符
echo "最终SMTP URL: [$smtp_url]" # 调试用,确认格式
# 2. 中文主题编码
base64_subject=$(echo -n "推送仓库成功" | base64 | tr -d '\n')
# 3. 构建邮件内容
email_content=$(cat <<-EOF
From: "${EMAIL_USER}" <${EMAIL_USER}>
To: ${TO_EMAIL}
Subject: =?UTF-8?B?${base64_subject}?=
Content-Type: text/plain; charset=UTF-8
通知有新的内容已推送到仓库「toutoukan」的main分支
推送时间: $(date +"%Y-%m-%d %H:%M:%S")
推送作者: $(git log -1 --pretty=format:'%an')
提交信息: $(git log -1 --pretty=format:'%s')
EOF
)
# 4. 发送邮件修复认证和URL
curl -v \
--connect-timeout 10 \
--max-time 20 \
--mail-from "$EMAIL_USER" \
--mail-rcpt "$TO_EMAIL" \
--user "$EMAIL_USER:$EMAIL_PASS" \
"$smtp_url" \
-T <(echo -e "$email_content")