Skip to content

Pinotdb Pypi Publisher #31

Pinotdb Pypi Publisher

Pinotdb Pypi Publisher #31

#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
name: Pinotdb Pypi Publisher
on:
workflow_dispatch:
inputs:
version:
description: 'New PinotDB Release Version'
required: false
jobs:
pinotdb-pypi-publisher:
runs-on: ubuntu-latest
name: Pinotdb Pypi Publisher
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Publish to PyPI
env:
PERSONAL_GITHUB_USER: ${{ secrets.PERSONAL_GITHUB_USER }}
PERSONAL_GITHUB_TOKEN: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }}
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
make init
if [ -z "${{ github.event.inputs.version }}" ]; then
poetry version patch
else
poetry version ${{ github.event.inputs.version }}
fi
PINOTDB_VERSION=$(poetry version | cut -d ' ' -f 2)
git config --global user.email "[email protected]"
git config --global user.name "Apache Pinot Python Library PyPI Release Bot"
git add pyproject.toml
git commit -m "Update version to pinotdb ${PINOTDB_VERSION}"
git tag "release-${PINOTDB_VERSION}"
poetry build
echo "Pushing pinotdb ${PINOTDB_VERSION} to GitHub"
git push origin master
echo "Pushing pinotdb tag release-${PINOTDB_VERSION} to GitHub"
git push origin "release-${PINOTDB_VERSION}"
echo "Publishing pinotdb ${PINOTDB_VERSION} to PyPI"
poetry publish --username $PYPI_USERNAME --password $PYPI_PASSWORD