name: core_auto_update

on: 
    schedule:
        - cron: 0 18 * * *
    workflow_dispatch:

jobs:
  check_version:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v4
        with:
          repository: PuerNya/sing-box
          ref: building
          fetch-depth: 0   
      - name: Check version
        run: |
          git remote add sekai https://github.com/SagerNet/sing-box.git
          git fetch --tags sekai
          version_new=$(CGO_ENABLED=0 go run ./cmd/internal/read_tag)
          version_old=$(curl -sSl https://github.com/juewuy/ShellCrash/releases/download/singbox_core_PuerNya/version)    
          if [ "$version_old" != "$version_new" ];then
            echo a=$version_old >> $GITHUB_ENV
            echo b=$version_new >> $GITHUB_ENV
          else
            echo "未检查到版本更新，已退出！"
            exit 1
          fi
    
  auto_update_singboxp_with_wg:
    needs: check_version
    if: ${{ success() }}
    permissions: write-all
    uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev
    with:
      tag1: PuerNya/sing-box
      tag2: building
      tag3: singbox_core_PuerNya
      tag5: with_quic,with_dhcp,with_wireguard,with_shadowsocksr,with_ech,with_utls,with_clash_api,with_gvisor
    secrets: inherit

  cleanup:
    needs: check_version
    runs-on: ubuntu-latest
    steps:
      - name: cleanup
        uses: Mattraks/delete-workflow-runs@main
        with:
          retain_days: 1
          keep_minimum_runs: 2   
