Skip to content

DeleteOldRuns

DeleteOldRuns #257

# 工作流的名称
name: DeleteOldRuns
# 工作流运行的名称
run-name: DeleteOldRuns
# 指定此工作流的触发器
on:
schedule:
- cron: "0 16 * * *" # 每天北京时间0点执行
workflow_dispatch: # 可以手动执行
inputs:
hour_count:
description: "You want to delete records from how many hours ago?"
required: true
default: "168"
type: string
jobs:
# 删除旧的运行记录
DeleteOldRuns:
name: DeleteOldRuns
# 在最新版的Ubuntu系统上运行
runs-on: ubuntu-latest
steps:
# 使用GitHub Actions提供的动作来检出代码库
- name: Checkout Repository
uses: actions/checkout@main
# 配置Python环境
- name: Set up Python
uses: actions/setup-python@main
with:
python-version: "*"
- name: Install dependencies
run: |
# 使用pip安装项目的依赖项
pip install requests
- 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:
HOUR_COUNT: ${{ github.event.inputs.hour_count }}
GITHUB_ACTIONS: ${{github.actions}}
GITHUB_TOKEN: ${{ secrets.GHTOKEN }}
GITHUB_REF_NAME: ${{ github.ref_name }}
GITHUB_EVENT_NAME: ${{ github.event_name }}
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_ACTOR_ID: ${{ github.actor_id }}
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: |
# 运行主程序
# 判断 GITHUB_TOKEN 是否存在,如果不存在就退出
if [ -z "$GITHUB_TOKEN" ]; then
exit 0
fi
# 获取北京时间
export BEIJING_TIME="$(TZ='Asia/Shanghai' date +'%Y-%m-%d %H:%M:%S:%3N')"
echo "BEIJING_TIME=$BEIJING_TIME" >> $GITHUB_OUTPUT
# 如果 hour_count 为空,则设置为 168
if [[ -z "${{ github.event.inputs.hour_count }}" ]]; then
# 设置步骤输出的 hour_count 为 168
export HOUR_COUNT="168"
# 如果 hour_count 不是正整数,则设置为 168
elif ! [[ "${{ github.event.inputs.hour_count }}" =~ ^[0-9]+$ ]]; then
# 设置步骤输出的 hour_count 为 168
export HOUR_COUNT="168"
# 如果 hour_count 是负数,则设置为 168
elif [[ "${{ github.event.inputs.hour_count }}" -lt 0 ]]; then
# 设置步骤输出的 hour_count 为 168
export HOUR_COUNT="168"
# 否则,使用输入的 hour_count
else
# 设置步骤输出的 hour_count 为输入的值
export HOUR_COUNT="${{ github.event.inputs.hour_count }}"
fi
# 方便通过截图快速定位到用户
echo "Hour Count: $HOUR_COUNT"
echo "Branch Name: $GITHUB_REF_NAME"
echo "Triggered By: $GITHUB_EVENT_NAME"
echo "Initial Run By: $GITHUB_ACTOR"
echo "Initial Run By ID: $GITHUB_ACTOR_ID"
echo "Initiated 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"
echo "Copyright © 2024 NianBroken. All rights reserved."
echo "Author's website: https://www.nianbroken.top/"
echo "Author's Repository URL: https://github.com/NianBroken/ZFCheckScores/"
echo "------"
# 运行主程序
python scripts/delete_old_runs.py
- name: Delete __pycache__ folder
run: |
# 删除__pycache__文件夹
rm -rf __pycache__