क्या किसी अन्य रिपॉजिटरी की रिलीज़ घटना को संदर्भित करने का कोई तरीका है?
निश्चित रूप से यह सुविधा मौजूद नहीं है।
यदि आपके पास रिलीज़ बनाने वाली रिपॉजिटरी तक पहुंच है, तो आप on: repository_dispatch
किसी अन्य रिपॉजिटरी में चलाने के लिए वर्कफ़्लो को ट्रिगर करने के लिए एक वेबहुक इवेंट को कॉल कर सकते हैं । भंडार-प्रेषण कार्रवाई इस मामले में मदद कर सकती है।
यदि आपके पास रिलीज़ बनाने वाली रिपॉजिटरी तक पहुँच नहीं है (जो मुझे लगता है कि यहाँ मामला है) तो यह मेरा सुझाव होगा। सबसे पहले, निम्नलिखित वर्कफ़्लो बनाएं जो समय-समय पर आपके द्वारा ट्रैक किए जाने वाले रिपॉजिटरी के रिलीज़ संस्करण टैग की जांच करता है। यदि यह आपके द्वारा अपने भंडार में सहेजे गए रिलीज़ संस्करण से भिन्न है तो नया संस्करण प्रतिबद्ध होगा।
ध्यान दें कि आपको काम करने के लिए संशोधित फ़ाइलों की जांच के लिए पहले गंतव्य फ़ाइल तैयार करनी चाहिए (उदाहरण के लिए रिलीज़-संस्करण / स्वैगर-यूआई-नवीनतम-टेक्स्ट)। इसके अलावा, आपको repo
डिफ़ॉल्ट के बजाय एक स्कॉप्ड टोकन का उपयोग करना होगा GITHUB_TOKEN
। इसके बारे में अधिक विस्तार से देखें पुश को जीथहब एक्शन से उत्पन्न किया गया है
name: Get latest release version
on:
schedule:
- cron: '0 10 * * *'
jobs:
get-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
- name: Fetch release version
run: |
curl -sL https://api.github.com/repos/swagger-api/swagger-ui/releases/latest | \
jq -r ".tag_name" > release-versions/swagger-ui-latest.txt
- name: Check for modified files
id: git-check
run: echo ::set-output name=modified::$([ -z "`git status --porcelain`" ] && echo "false" || echo "true")
- name: Commit latest release version
if: steps.git-check.outputs.modified == 'true'
run: |
git config --global user.name 'Your Name'
git config --global user.email 'your-email@users.noreply.github.com'
git commit -am "New release version"
git push
फिर आप एक दूसरा वर्कफ़्लो बना सकते हैं जो केवल तब चलता है जब यह डायरेक्टरी में कोई बदलाव देखता है release-versions
।
on:
push:
paths:
- 'release-versions/*'
इस वर्कफ़्लो में आप सहेजे गए संस्करण का उपयोग उन परिसंपत्तियों को लाने के लिए कर सकते हैं जिनकी आपको ज़रूरत है और आपको जो भी प्रसंस्करण की आवश्यकता है वह करें।
यहां एक समान उदाहरण है जो तुरंत करने के बजाय एक पुल अनुरोध उठाता है।