diff --git a/.github/workflows/guard-main-branch.yml b/.github/workflows/guard-main-branch.yml new file mode 100644 index 00000000000..1c1ce0de079 --- /dev/null +++ b/.github/workflows/guard-main-branch.yml @@ -0,0 +1,42 @@ +name: Guard main branch + +on: + pull_request: + branches: + - main + merge_group: + +permissions: {} + +# DO NOT RENAME the job's `name:` — it is referenced by GitHub branch +# protection as a required status check on `main`. Renaming silently +# breaks the gate. +jobs: + guard: + name: Verify PR source branch + runs-on: ubuntu-latest + timeout-minutes: 2 + steps: + - name: Reject merge_group events + if: github.event_name == 'merge_group' + run: | + echo "::error::Merge queue is not supported for main. Disable merge queue or update this guard." + exit 1 + - name: Check head branch name + env: + HEAD_REF: ${{ github.head_ref }} + HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} + BASE_REPO: ${{ github.repository }} + run: | + echo "PR head repo: $HEAD_REPO" + echo "PR head branch: $HEAD_REF" + if [ "$HEAD_REPO" != "$BASE_REPO" ]; then + echo "::error::PRs to main must originate from the canonical repository ($BASE_REPO), not a fork ($HEAD_REPO). External contributors should open PRs against the 'litellm_oss_branch' branch instead." + exit 1 + fi + if [ "$HEAD_REF" = "litellm_internal_staging" ] || [[ "$HEAD_REF" == litellm_hotfix_?* ]]; then + echo "Allowed source branch." + exit 0 + fi + echo "::error::PRs to main must originate from 'litellm_internal_staging' or a 'litellm_hotfix_*' branch. Got: '$HEAD_REF'. If this is a contribution, retarget the PR against 'litellm_oss_branch' instead." + exit 1 diff --git a/pyproject.toml b/pyproject.toml index a896d520abd..7ada72d0be8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "litellm" -version = "1.83.7" +version = "1.83.8" description = "Library to easily interface with LLM API providers" readme = "README.md" requires-python = ">=3.9, <3.14" @@ -238,7 +238,7 @@ source-exclude = [ profile = "black" [tool.commitizen] -version = "1.83.7" +version = "1.83.8" version_files = [ "pyproject.toml:^version", ]