Apakah ada cara untuk merujuk ke acara rilis repositori lain?
Cukup yakin fitur ini tidak ada.
Jika Anda memiliki akses ke repositori yang membuat rilis maka Anda bisa memanggil acara webhook untuk memicu on: repository_dispatch
alur kerja agar berjalan di repositori lain. tindakan repositori-pengiriman dapat membantu dalam kasus ini.
Jika Anda tidak memiliki akses ke repositori yang membuat rilis (yang saya asumsikan demikian di sini) maka ini akan menjadi saran saya. Pertama, buat alur kerja berikut yang secara berkala memeriksa tag versi rilis repositori yang ingin Anda lacak. Jika berbeda dari versi rilis yang saat ini Anda simpan di repositori Anda maka versi baru akan dikomit.
Perhatikan bahwa Anda harus menyiapkan file tujuan terlebih dahulu (mis. Versi rilis / sombong-ui-latest.txt) agar pemeriksaan file yang dimodifikasi berfungsi. Selanjutnya, Anda harus menggunakan repo
token yang dicakup bukan default GITHUB_TOKEN
. Untuk detail lebih lanjut tentang itu, lihat Push to origin from action GitHub
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::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi)
- 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
Kemudian Anda bisa membuat alur kerja kedua yang hanya berjalan ketika melihat ada perubahan pada direktori release-versions
.
on:
push:
paths:
- 'release-versions/*'
Dalam alur kerja ini, Anda dapat menggunakan versi yang disimpan untuk mengambil aset yang Anda butuhkan dan melakukan pemrosesan apa pun yang Anda perlukan.