Có cách nào để tham khảo sự kiện phát hành của một kho lưu trữ khác không?
Khá chắc chắn tính năng này không tồn tại.
Nếu bạn có quyền truy cập vào kho lưu trữ tạo bản phát hành thì bạn có thể gọi một sự kiện webhook để kích hoạt một on: repository_dispatch
luồng công việc để chạy trong kho lưu trữ khác. hành động kho lưu trữ có thể giúp đỡ trong trường hợp này.
Nếu bạn không có quyền truy cập vào kho lưu trữ tạo ra bản phát hành (mà tôi giả sử là trường hợp ở đây) thì đây sẽ là đề xuất của tôi. Đầu tiên, tạo quy trình làm việc sau đây kiểm tra định kỳ thẻ phiên bản phát hành của kho lưu trữ bạn muốn theo dõi. Nếu nó khác với phiên bản phát hành mà bạn hiện đã lưu trong kho lưu trữ thì phiên bản mới sẽ được cam kết.
Lưu ý rằng trước tiên bạn phải chuẩn bị tệp đích (ví dụ: phiên bản phát hành / swagger-ui-mới.txt) để kiểm tra các tệp đã sửa đổi để hoạt động. Hơn nữa, bạn phải sử dụng repo
mã thông báo có phạm vi thay vì mặc định GITHUB_TOKEN
. Để biết thêm chi tiết về điều đó, hãy xem Push to origin từ hành động GitHub
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
Sau đó, bạn có thể tạo một luồng công việc thứ hai chỉ chạy khi thấy bất kỳ thay đổi nào đối với thư mục release-versions
.
on:
push:
paths:
- 'release-versions/*'
Trong quy trình làm việc này, bạn có thể sử dụng phiên bản đã lưu để tìm nạp các tài sản bạn cần và thực hiện bất kỳ xử lý nào bạn cần.