diff --git a/.github/workflows/block-merge-eol.yml b/.github/workflows/block-merge-eol.yml new file mode 100644 index 00000000000..a24acea15a0 --- /dev/null +++ b/.github/workflows/block-merge-eol.yml @@ -0,0 +1,30 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Pull request checks + +on: pull_request + +jobs: + block-merges-eol: + name: Block merges for EOL branches + + # Only run on stableXX branches + if: startsWith( github.base_ref, 'stable') + runs-on: ubuntu-latest + + steps: + - name: Download updater config + run: curl https://raw.githubusercontent.com/nextcloud/updater_server/production/config/config.php --output config.php + + - name: Set server major version environment + run: | + # retrieve version number from branch reference + server_major=$(echo "${{ github.base_ref }}" | sed -En 's/stable//p') + echo "server_major=$server_major" >> $GITHUB_ENV + + - name: Checking if ${{ env.server_major }} is EOL + run: | + php -r 'echo json_encode(require_once "config.php");' | jq --arg version "${{ env.server_major }}" '.stable[$version]["100"].eol' | grep --silent -i 'false'