Есть ли способ сослаться на событие выпуска другого репозитория?
Уверен, что эта функция не существует.
Если у вас есть доступ к хранилищу, создающему выпуск, вы можете вызвать событие webhook, чтобы запустить on: repository_dispatch
рабочий процесс в другом хранилище. В этом случае может помочь действие репозитория .
Если у вас нет доступа к репозиторию, создающему релиз (который, как я полагаю, имеет место здесь), то это было бы моим предложением. Сначала создайте следующий рабочий процесс, который периодически проверяет тег версии выпуска репозитория, который вы хотите отслеживать. Если он отличается от версии выпуска, которую вы в данный момент сохранили в своем хранилище, то новая версия будет зафиксирована.
Обратите внимание, что сначала вы должны подготовить файл назначения (например, release-version / swagger-ui-latest.txt), чтобы проверка измененных файлов работала. Кроме того, вы должны использовать repo
токен с областью действия вместо значения по умолчанию GITHUB_TOKEN
. Для получения более подробной информации об этом см. 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
Затем вы можете создать второй рабочий процесс, который запускается только тогда, когда он видит какие-либо изменения в каталоге release-versions
.
on:
push:
paths:
- 'release-versions/*'
В этом рабочем процессе вы можете использовать сохраненную версию, чтобы выбрать нужные вам ресурсы и выполнить любую необходимую вам обработку.