ci: Add flock to openapi spec upload (#11381)

* Add flock to openapi spec upload

Prevents a race condition if two PRs are merged in very quick
succession.

* Remove lock at the end

* Revert "Remove lock at the end"

This reverts commit a7baafd10e.

* Correct incorrect comments

* Exit with an error if flock fails
pull/11383/head
Joshua M. Boniface 2 weeks ago committed by GitHub
parent 37d301ebd4
commit 7d67443aca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -174,6 +174,8 @@ jobs:
debug: false
script_stop: false
script: |
(
flock -x -w 300 200 || exit 1
TGT_DIR="/srv/repository/main/openapi"
LAST_SPEC="$( ls -lt ${TGT_DIR}/unstable/ | grep 'jellyfin-openapi' | head -1 | awk '{ print $NF }' )"
# If new and previous spec don't differ (diff retcode 0), remove incoming and finish
@ -187,10 +189,11 @@ jobs:
sudo rm ${TGT_DIR}/jellyfin-openapi-unstable_previous.json
# Move current jellyfin-openapi-unstable.json symlink to jellyfin-openapi-unstable_previous.json
sudo mv ${TGT_DIR}/jellyfin-openapi-unstable.json ${TGT_DIR}/jellyfin-openapi-unstable_previous.json
# Create new jellyfin-openapi-stable.json symlink
# Create new jellyfin-openapi-unstable.json symlink
sudo ln -s unstable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}.json ${TGT_DIR}/jellyfin-openapi-unstable.json
# Check that the previous openapi spec is correct
# Check that the previous openapi unstable spec link is correct
if [[ "$( readlink ${TGT_DIR}/jellyfin-openapi-unstable_previous.json )" != "unstable/${LAST_SPEC}" ]]; then
sudo rm ${TGT_DIR}/jellyfin-openapi-unstable_previous.json
sudo ln -s unstable/${LAST_SPEC} ${TGT_DIR}/jellyfin-openapi-unstable_previous.json
fi
) 200>/run/openapi-unstable.lock

Loading…
Cancel
Save