Release Adblock File #6379
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: Release Adblock File # 工作流名称 | |
on: | |
schedule: | |
- cron: '*/20 * * * *' # 每20分钟运行一次 | |
workflow_dispatch: # 允许手动触发工作流 | |
jobs: | |
create-release: | |
runs-on: ubuntu-latest # 使用最新的 Ubuntu 版本作为运行环境 | |
steps: | |
- name: Clear previous logs # 清除之前的日志文件 | |
run: | | |
sudo rm -rf /home/runner/runners/*/_diag/*.log || true | |
- name: Checkout code # 检出代码 | |
uses: actions/checkout@v3 # 使用官方的checkout操作来检出代码 | |
- name: Get current time # 获取当前时间 | |
id: current-time # 设置步骤ID,以便后续步骤引用 | |
run: echo "time=$(date +'%y%m%d%H%M')" >> $GITHUB_ENV # 获取当前时间,并将其输出为GitHub Actions的环境变量 | |
- name: Update timestamp file # 更新时间戳文件 | |
run: echo "${{ env.time }}" > timestamp.txt # 将当前时间写入timestamp.txt文件 | |
- name: Force add and commit changes # 强制添加和提交更改 | |
run: | | |
git config --global user.name 'github-actions[bot]' | |
git config --global user.email 'github-actions[bot]@users.noreply.github.com' | |
git add -f ADBLOCK_RULE_COLLECTION.txt ADBLOCK_RULE_COLLECTION_Lite.txt ADBLOCK_RULE_COLLECTION_HOST.txt ADBLOCK_RULE_COLLECTION_HOST_Lite.txt ADBLOCK_RULE_COLLECTION_DNS.txt ADBLOCK_RULE_COLLECTION_DNS_Lite.txt ADBLOCK_RULE_COLLECTION_HOST_IPV6.txt ADBLOCK_RULE_COLLECTION_HOST_IPV6_Lite.txt ADBLOCK_RULE_COLLECTION_DOMAIN.txt ADBLOCK_RULE_COLLECTION_DOMAIN_Lite.txt timestamp.txt | |
git commit -m "Forced update of adblock files and timestamp" | |
for attempt in {1..5}; do # 尝试5次 | |
if git push origin main; then | |
break | |
else | |
echo "Push failed, attempting to pull and rebase..." | |
git pull --rebase # 拉取并合并远程更改 | |
sleep $((attempt * 10)) # 指数级退避,首次等待10秒,第二次20秒,依此类推 | |
fi | |
done | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
- name: Create Release # 创建发布版本 | |
id: create_release # 设置步骤ID,以便后续步骤引用 | |
uses: actions/create-release@v1 # 使用官方的create-release操作来创建发布版本 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
tag_name: release-${{ env.time }} # 使用当前时间作为标签名称 | |
release_name: Release ${{ env.time }} # 使用当前时间作为发布名称 | |
body: "Periodic release of adblock files." # 发布说明 | |
draft: false # 发布为正式版本 | |
prerelease: false # 不发布为预发布版本 | |
- name: Upload ADBLOCK_RULE_COLLECTION.txt # 上传ADBLOCK_RULE_COLLECTION.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_Lite.txt # 上传ADBLOCK_RULE_COLLECTION_Lite.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_Lite.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_Lite.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_HOST.txt # 上传ADBLOCK_RULE_COLLECTION_HOST.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_HOST.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_HOST.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_HOST_Lite.txt # 上传ADBLOCK_RULE_COLLECTION_HOST_Lite.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_HOST_Lite.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_HOST_Lite.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_DNS.txt # 上传ADBLOCK_RULE_COLLECTION_DNS.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_DNS.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_DNS.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_DNS_Lite.txt # 上传ADBLOCK_RULE_COLLECTION_DNS_Lite.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_DNS_Lite.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_DNS_Lite.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_HOST_IPV6.txt # 上传ADBLOCK_RULE_COLLECTION_HOST_IPV6.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_HOST_IPV6.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_HOST_IPV6.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_HOST_IPV6_Lite.txt # 上传ADBLOCK_RULE_COLLECTION_HOST_IPV6_Lite.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_HOST_IPV6_Lite.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_HOST_IPV6_Lite.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_DOMAIN.txt # 上传ADBLOCK_RULE_COLLECTION_DOMAIN.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_DOMAIN.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_DOMAIN.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 | |
- name: Upload ADBLOCK_RULE_COLLECTION_DOMAIN_Lite.txt # 上传ADBLOCK_RULE_COLLECTION_DOMAIN_Lite.txt文件 | |
uses: actions/upload-release-asset@v1 # 使用官方的upload-release-asset操作来上传发布资源 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} # 使用自定义的 TOKEN 进行身份验证 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} # 使用创建发布版本步骤中的上传URL | |
asset_path: ADBLOCK_RULE_COLLECTION_DOMAIN_Lite.txt # 要上传的文件路径 | |
asset_name: ADBLOCK_RULE_COLLECTION_DOMAIN_Lite.txt # 上传后的文件名称 | |
asset_content_type: text/plain # 文件的内容类型 |