name: Update Clash-Core and Go Modules on: repository_dispatch: types: - core-updated workflow_dispatch: jobs: update-dependencies: runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Checkout submodules run: git submodule update --init --recursive --remote --force - name: Setup Java uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: 17 - name: Setup Go uses: actions/setup-go@v5 with: go-version: "1.23" - uses: actions/cache@v4 with: path: | ~/.cache/go-build ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Download GeoIP Database run: | ./gradlew :core:downloadGeoipDatabase - name: Install update-go-mod-replace run: | go install github.com/metacubex/update-go-mod-replace@latest - name: Update Foss Gomod run: | cd ${{ github.workspace }}/core/src/foss/golang/ update-go-mod-replace ${{ github.workspace }}/core/src/foss/golang/clash/go.mod $(pwd)/go.mod go mod tidy - name: Update Main Gomod run: | cd ${{ github.workspace }}/core/src/main/golang/ update-go-mod-replace ${{ github.workspace }}/core/src/foss/golang/clash/go.mod $(pwd)/go.mod go mod tidy - uses: tibdex/github-app-token@v2 id: generate-token with: app_id: ${{ secrets.MAINTAINER_APPID }} private_key: ${{ secrets.MAINTAINER_APP_PRIVATE_KEY }} - name: Create Pull Request id: cpr uses: peter-evans/create-pull-request@v6 with: token: ${{ steps.generate-token.outputs.token }} commit-message: Update Dependencies branch: update-dependencies delete-branch: true title: 'Update Dependencies' draft: false body: | - Update Clash-Meta Core - Update Go Module Dependecies labels: | Update - name: PR result if: ${{ steps.cpr.outputs.pull-request-number }} run: | echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"