Есть ли способ сослаться на событие выпуска другого репозитория?
Достоверно уверен, что эта функция не существует.
Если у вас есть доступ крепозиторий, создающий релиз, затем вы можете вызвать событие webhook, чтобы запустить рабочий процесс on: repository_dispatch
для запуска в другом репозитории.
Если у вас нет доступа к репозиторию, создающему релиз (что, я полагаю, имеет местоздесь) тогда это было бы мое предложение. Сначала создайте следующий рабочий процесс, который периодически проверяет тег версии выпуска репозитория, который вы хотите отслеживать. Если она отличается от версии выпуска, которую вы в данный момент сохранили в своем хранилище, то новая версия будет зафиксирована.
Обратите внимание, что сначала вы должны подготовить файл назначения (например, release-version / swagger-ui-latest.txt). ), чтобы измененные файлы работали. Кроме того, вы должны использовать токен repo
вместо значения по умолчанию GITHUB_TOKEN
. Подробнее об этом см. Push to origin из действия GitHub
name: Get latest release version
on:
schedule:
- cron: '0 10 * * *'
jobs:
get-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- 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 'Peter Evans'
git config --global user.email 'peter-evans@users.noreply.github.com'
git remote set-url origin https://x-access-token:${{ secrets.REPO_SCOPED_TOKEN }}@github.com/$GITHUB_REPOSITORY
git checkout "${GITHUB_REF:11}"
git commit -am "New release version"
git push
Затем вы можете создать второй рабочий процесс, который запускается только тогда, когда он видит какие-либо изменения в каталоге release-versions
.
on:
push:
paths:
- 'release-versions/*'
В этом рабочем процессе вы можете использовать сохраненную версию для получения необходимых ресурсов и выполнения любой необходимой обработки.