Gibt es eine Möglichkeit, auf das Release-Ereignis eines anderen Repositorys zu verweisen?
Ziemlich sicher, dass diese Funktion nicht vorhanden ist.
Wenn Sie Zugriff auf das Repository haben, das die Version erstellt, können Sie ein Webhook-Ereignis aufrufen, um einen on: repository_dispatch
Workflow für die Ausführung in einem anderen Repository auszulösen . In diesem Fall kann eine Repository-Versandaktion hilfreich sein.
Wenn Sie keinen Zugriff auf das Repository haben, das die Version erstellt (was hier vermutlich der Fall ist), ist dies mein Vorschlag. Erstellen Sie zunächst den folgenden Workflow, der regelmäßig das Release-Versions-Tag des Repositorys überprüft, das Sie verfolgen möchten. Wenn es von der Release-Version abweicht, die Sie derzeit in Ihrem Repository gespeichert haben, wird die neue Version festgeschrieben.
Beachten Sie, dass Sie zuerst die Zieldatei vorbereiten müssen (z. B. release-version / swagger-ui-latest.txt), damit die Prüfung der geänderten Dateien funktioniert. Außerdem müssen Sie repo
anstelle des Standardtokens ein Token mit Gültigkeitsbereich verwenden GITHUB_TOKEN
. Weitere Informationen hierzu finden Sie unter Push to origin from GitHub-Aktion
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
Anschließend können Sie einen zweiten Workflow erstellen, der nur ausgeführt wird, wenn Änderungen am Verzeichnis festgestellt werden release-versions
.
on:
push:
paths:
- 'release-versions/*'
In diesem Workflow können Sie die gespeicherte Version verwenden, um die benötigten Assets abzurufen und die erforderliche Verarbeitung durchzuführen.