Existe alguma maneira de se referir ao evento de lançamento de outro repositório?
Certamente, esse recurso não existe.
Se você tiver acesso ao repositório criando a liberação, poderá chamar um evento webhook para acionar um on: repository_dispatch
fluxo de trabalho para execução em outro repositório. A ação de envio de repositório pode ajudar nesse caso.
Se você não tiver acesso ao repositório criando a versão (que eu assumo é o caso aqui), essa seria minha sugestão. Primeiro, crie o seguinte fluxo de trabalho que verifica periodicamente a tag da versão do repositório que você deseja rastrear. Se for diferente da versão que você salvou no seu repositório, a nova versão será confirmada.
Observe que você deve preparar o arquivo de destino primeiro (por exemplo, release-versions / swagger-ui-latest.txt) para que os arquivos modificados funcionem. Além disso, você deve usar um repo
token com escopo definido em vez do padrão GITHUB_TOKEN
. Para obter mais detalhes sobre isso, consulte 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
Em seguida, você pode criar um segundo fluxo de trabalho que só será executado quando houver alterações no diretório release-versions
.
on:
push:
paths:
- 'release-versions/*'
Nesse fluxo de trabalho, você pode usar a versão salva para buscar os ativos necessários e fazer o processamento necessário.