|
@@ -1,65 +0,0 @@
|
|
|
-name: Monitor Repositories for Releases
|
|
|
-
|
|
|
-on:
|
|
|
- schedule:
|
|
|
- - cron: "0 * * * *"
|
|
|
- repository_dispatch:
|
|
|
- types: [release]
|
|
|
- repositories:
|
|
|
- - caddyserver/caddy
|
|
|
- - sagernet/sing-box
|
|
|
- - xtls/xray-core
|
|
|
- - fatedier/frp
|
|
|
- - syncthing/syncthing
|
|
|
- - traefik/traefik
|
|
|
- - adguardteam/adguardhome
|
|
|
- - go-acme/lego
|
|
|
- workflow_dispatch:
|
|
|
-
|
|
|
-jobs:
|
|
|
- monitor-releases:
|
|
|
- runs-on: ubuntu-latest
|
|
|
- steps:
|
|
|
- - name: Define Repository and Build Map
|
|
|
- id: define_map
|
|
|
- run: |
|
|
|
- REPO_BUILD_MAP=$(cat <<EOF
|
|
|
- {
|
|
|
- "caddyserver/caddy":"build-caddy",
|
|
|
- "sagernet/sing-box":"build-sing-box"
|
|
|
- }
|
|
|
- EOF
|
|
|
- )
|
|
|
- echo "$REPO_BUILD_MAP" > repo_build_map.txt
|
|
|
-
|
|
|
- - name: Check for new releases
|
|
|
- id: check_releases
|
|
|
- run: |
|
|
|
- repo_build_map=$(cat repo_build_map.txt)
|
|
|
- for repo in $(echo "$repo_build_map" | jq -r 'keys[]'); do
|
|
|
- latest_tag=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r '.tag_name')
|
|
|
- echo "${repo//[-\/]/_}=$latest_tag" >> $GITHUB_ENV
|
|
|
- done
|
|
|
-
|
|
|
- - name: Trigger build on release
|
|
|
- if: steps.check_releases.outputs.caddyserver_caddy != '' ||
|
|
|
- steps.check_releases.outputs.sagernet_sing_box != ''
|
|
|
- run: |
|
|
|
- echo "New release detected! Triggering build workflows."
|
|
|
-
|
|
|
- repo_build_map=$(echo "${{ steps.define_map.outputs.repo_build_map }}")
|
|
|
-
|
|
|
- if [ "${{ steps.check_releases.outputs['caddyserver_caddy'] }}" != "" ]; then
|
|
|
- event_type=$(echo "${repo_build_map}" | jq -r '.["caddyserver/caddy"]')
|
|
|
- elif [ "${{ steps.check_releases.outputs['sagernet_sing_box'] }}" != "" ]; then
|
|
|
- event_type=$(echo "${repo_build_map}" | jq -r '.["sagernet/sing-box"]')
|
|
|
- else
|
|
|
- event_type="unknown"
|
|
|
- fi
|
|
|
-
|
|
|
- curl -X POST \
|
|
|
- -H "Authorization: token ${{ secrets.PA_TOKEN }}" \
|
|
|
- -H "Accept: application/vnd.github.everest-preview+json" \
|
|
|
- -H "Content-Type: application/json" \
|
|
|
- https://api.github.com/repos/ngbs/docker/dispatches \
|
|
|
- -d "{\"event_type\": \"$event_type\"}"
|