CheckScores a0a79efb3975b04159a00230b986f8b1f65652bb #4789
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 工作流的名称 | |
name: CheckScores | |
# 工作流运行的名称 | |
run-name: ${{ github.workflow }} ${{ github.sha }} | |
# 指定此工作流的触发器 | |
on: | |
schedule: | |
- cron: "*/30 * * * *" # 每30分钟自动执行一次 | |
workflow_dispatch: # 可以手动执行 | |
inputs: | |
force_push_message: | |
# 如果为True,则当次运行时无论成绩是否已更新,都会进行推送 | |
description: "Whether or not to force a push message?" | |
required: true | |
default: "False" | |
type: choice | |
options: | |
- "True" | |
- "False" | |
jobs: | |
# 检查成绩 | |
CheckScores: | |
name: CheckScores | |
# 在最新版的Ubuntu系统上运行 | |
runs-on: ubuntu-latest | |
steps: | |
# 使用GitHub Actions提供的动作来检出代码库 | |
- name: Checkout Repository | |
uses: actions/checkout@main | |
- name: Configure Git | |
run: | | |
# 配置Git用户信息 | |
git config --global user.email "[email protected]" | |
git config --global user.name "GitHub Actions" | |
# 配置Python环境 | |
- name: Set up Python | |
uses: actions/setup-python@main | |
with: | |
python-version: "*" | |
- name: Install dependencies | |
run: | | |
# 使用pip安装项目的依赖项 | |
pip install requests rsa pyquery | |
- name: Get Connection | |
run: | | |
# 获取连接信息 | |
url="https://ifconfig.me/all" | |
response=$(curl -s -X GET "$url") | |
echo "$response" | |
- name: Run main program | |
id: run_main_program | |
env: | |
FORCE_PUSH_MESSAGE: ${{ github.event.inputs.force_push_message }} | |
GITHUB_ACTIONS: ${{github.actions}} | |
URL: ${{ secrets.URL }} | |
USERNAME: ${{ secrets.USERNAME }} | |
PASSWORD: ${{ secrets.PASSWORD }} | |
TOKEN: ${{ secrets.TOKEN }} | |
GITHUB_EVENT_NAME: ${{ github.event_name }} | |
GITHUB_TRIGGERING_ACTOR: ${{ github.triggering_actor }} | |
REPOSITORY_NAME: ${{ github.repository }} | |
GITHUB_SHA: ${{ github.sha }} | |
GITHUB_WORKFLOW: ${{ github.workflow }} | |
GITHUB_RUN_NUMBER: ${{ github.run_number }} | |
GITHUB_RUN_ID: ${{ github.run_id }} | |
run: | | |
# 运行主程序 | |
# 判断是否需要强制推送信息 | |
if [ -z "${{ github.event.inputs.force_push_message }}" ]; then | |
export FORCE_PUSH_MESSAGE="False" | |
else | |
export FORCE_PUSH_MESSAGE="${{ github.event.inputs.force_push_message }}" | |
fi | |
export BEIJING_TIME="$(TZ='Asia/Shanghai' date +'%Y-%m-%d %H:%M:%S:%3N')" | |
echo "BEIJING_TIME=$BEIJING_TIME" >> $GITHUB_OUTPUT | |
python main.py | |
echo "------" | |
# 判断环境变量是否为空 | |
if [ -z "$URL" ]; then | |
echo "URL Secret is empty!" | |
echo "::error title=URL Secret is empty!" \ | |
"::Your 'URL' Secret is not filled with any" \ | |
"information, so your program will not work!" | |
fi | |
if [ -z "$USERNAME" ]; then | |
echo "USERNAME Secret is empty!" | |
echo "::error title=USERNAME Secret is empty!" \ | |
"::Your 'USERNAME' Secret is not filled with any" \ | |
"information, so your program will not work!" | |
fi | |
if [ -z "$PASSWORD" ]; then | |
echo "PASSWORD Secret is empty!" | |
echo "::error title=PASSWORD Secret is empty!" \ | |
"::Your 'PASSWORD' Secret is not filled with any" \ | |
"information, so your program will not work!" | |
fi | |
if [ -z "$TOKEN" ]; then | |
echo "TOKEN Secret is empty!" | |
echo "::error title=TOKEN Secret is empty!" \ | |
"::Your 'TOKEN' Secret is not filled with any" \ | |
"information, so your program will not work!" | |
fi | |
# 方便通过截图快速定位到用户 | |
echo "Force Push Message: $FORCE_PUSH_MESSAGE" | |
echo "Triggered By: $GITHUB_EVENT_NAME" | |
echo "Run By: $GITHUB_TRIGGERING_ACTOR" | |
echo "Repository Name: $REPOSITORY_NAME" | |
echo "Commit SHA: $GITHUB_SHA" | |
echo "Workflow Name: $GITHUB_WORKFLOW" | |
echo "Workflow Number: $GITHUB_RUN_NUMBER" | |
echo "Workflow ID: $GITHUB_RUN_ID" | |
echo "Beijing Time: $BEIJING_TIME" | |
- name: Delete __pycache__ folder | |
run: | | |
# 删除__pycache__文件夹 | |
rm -rf __pycache__ | |
rm -rf scripts/__pycache__ | |
- name: Force push changes to main branch | |
run: | | |
# 将更改强制推送到main分支 | |
git add . | |
git commit -m "Update from GitHub Actions" || true | |
git push origin main --force |