Czy istnieje sposób odwoływania się do zdarzenia wydania innego repozytorium?
Dość pewna, że ta funkcja nie istnieje.
Jeśli masz dostęp do repozytorium tworzącego wydanie, możesz wywołać zdarzenie webhook, aby uruchomić on: repository_dispatch
przepływ pracy w innym repozytorium. w tym przypadku pomocne może być działanie repozytorium-dyspozytorskie .
Jeśli nie masz dostępu do repozytorium tworzącego wydanie (co, jak zakładam, ma miejsce tutaj), to byłaby moja sugestia. Najpierw utwórz następujący przepływ pracy, który okresowo sprawdza znacznik wersji wydania repozytorium, które chcesz śledzić. Jeśli różni się od wersji, którą aktualnie zapisałeś w swoim repozytorium, nowa wersja zostanie zatwierdzona.
Pamiętaj, że musisz najpierw przygotować plik docelowy (np. Release-version / swagger-ui-latest.txt), aby zmodyfikowane pliki sprawdzały, czy działają. Ponadto należy użyć repo
tokena o zasięgu zamiast domyślnego GITHUB_TOKEN
. Aby uzyskać więcej informacji na ten temat, zobacz Push to origin from GitHub action
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
Następnie możesz utworzyć drugi przepływ pracy, który będzie działał tylko wtedy, gdy zobaczy zmiany w katalogu release-versions
.
on:
push:
paths:
- 'release-versions/*'
W tym przepływie pracy możesz użyć zapisanej wersji, aby pobrać potrzebne zasoby i wykonać dowolne potrzebne przetwarzanie.