Manually setting the publish step #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish to PyPI Manual [Production] | |
# Allow manual triggering of the workflow | |
on: | |
workflow_dispatch: {} | |
push: | |
branches: | |
- 'PECO-1803/connector-split' | |
jobs: | |
publish: | |
name: Publish | |
runs-on: ubuntu-latest | |
steps: | |
#---------------------------------------------- | |
# Step 1: Check out the repository code | |
#---------------------------------------------- | |
- name: Check out repository | |
uses: actions/checkout@v2 # Check out the repository to access the code | |
#---------------------------------------------- | |
# Step 2: Set up Python environment | |
#---------------------------------------------- | |
- name: Set up python | |
id: setup-python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.9 # Specify the Python version to be used | |
#---------------------------------------------- | |
# Step 3: Install and configure Poetry | |
#---------------------------------------------- | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 # Install Poetry, the Python package manager | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
# #---------------------------------------------- | |
# # Step 4: Load cached virtual environment (if available) | |
# #---------------------------------------------- | |
# - name: Load cached venv | |
# id: cached-poetry-dependencies | |
# uses: actions/cache@v2 | |
# with: | |
# path: .venv # Path to the virtual environment | |
# key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ github.event.repository.name }}-${{ hashFiles('**/poetry.lock') }} | |
# # Cache key is generated based on OS, Python version, repo name, and the `poetry.lock` file hash | |
# #---------------------------------------------- | |
# # Step 5: Install dependencies if the cache is not found | |
# #---------------------------------------------- | |
# - name: Install dependencies | |
# if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' # Only run if the cache was not hit | |
# run: poetry install --no-interaction --no-root # Install dependencies without interaction | |
# #---------------------------------------------- | |
# # Step 6: Update the version to the manually provided version | |
# #---------------------------------------------- | |
# - name: Update pyproject.toml with the specified version | |
# run: poetry version ${{ github.event.inputs.version }} # Use the version provided by the user input | |
#---------------------------------------------- | |
# Step 7: Build and publish the first package to PyPI | |
#---------------------------------------------- | |
- name: Build and publish databricks sql connector to PyPI | |
working-directory: ./databricks_sql_connector | |
run: | | |
poetry build | |
poetry publish -u __token__ -p ${{ secrets.PROD_PYPI_TOKEN }} # Publish with PyPI token | |
#---------------------------------------------- | |
# Step 7: Build and publish the second package to PyPI | |
#---------------------------------------------- | |
- name: Build and publish databricks sql connector core to PyPI | |
working-directory: ./databricks_sql_connector_core | |
run: | | |
poetry build | |
poetry publish -u __token__ -p ${{ secrets.PROD_PYPI_TOKEN }} # Publish with PyPI token |