mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-31 15:31:53 +01:00
73 lines
2.2 KiB
YAML
73 lines
2.2 KiB
YAML
name: OpenAPI Check
|
|
on:
|
|
pull_request:
|
|
|
|
jobs:
|
|
ancestor:
|
|
name: Common Ancestor
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
base_ref: ${{ steps.ancestor.outputs.base_ref }}
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
fetch-depth: 0
|
|
- name: Search History
|
|
id: ancestor
|
|
run: |
|
|
git remote add upstream https://github.com/${{ github.event.pull_request.base.repo.full_name }}
|
|
git fetch --prune --progress --no-recurse-submodules upstream +refs/heads/*:refs/remotes/upstream/* +refs/tags/*:refs/tags/*
|
|
|
|
ANCESTOR_REF=$(git merge-base upstream/${{ github.base_ref }} HEAD)
|
|
|
|
echo "ref: ${ANCESTOR_REF}"
|
|
|
|
echo "base_ref=${ANCESTOR_REF}" >> "$GITHUB_OUTPUT"
|
|
|
|
head:
|
|
name: Head Artifact
|
|
uses: ./.github/workflows/openapi/__generate.yml
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
artifact: openapi-head
|
|
|
|
base:
|
|
name: Base Artifact
|
|
uses: ./.github/workflows/openapi/__generate.yml
|
|
needs:
|
|
- ancestor
|
|
with:
|
|
ref: ${{ needs.ancestor.outputs.base_ref }}
|
|
repository: ${{ github.event.pull_request.base.repo.full_name }}
|
|
artifact: openapi-base
|
|
|
|
diff:
|
|
name: Generate Report
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- head
|
|
- base
|
|
steps:
|
|
- name: Download Head
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: openapi-head
|
|
path: openapi-head
|
|
- name: Download Base
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: openapi-base
|
|
path: openapi-base
|
|
- name: Detect Changes
|
|
uses: jellyfin/openapi-diff-action@9274f6bda9d01ab091942a4a8334baa53692e8a4 # v1.0.0
|
|
id: openapi-diff
|
|
with:
|
|
old-spec: openapi-base/openapi.json
|
|
new-spec: openapi-head/openapi.json
|
|
markdown: openapi-changelog.md
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|