Skip to content

Implemented executemany() (#11) #16

Implemented executemany() (#11)

Implemented executemany() (#11) #16

Workflow file for this run

name: Release
on:
push:
tags: [ '*.*.*' ]
env:
PYTHON_VERSION: "3.11"
MONGODB_VERSION: "8.0"
jobs:
lint-and-format:
name: Code Quality Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Cache pip dependencies
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-lint-${{ hashFiles('**/requirements-test.txt', 'pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-lint-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-test.txt
pip install black isort
- name: Check code formatting with Black
run: |
black --check --diff pymongosql/
- name: Check import sorting with isort
run: |
isort --check-only --diff pymongosql/
- name: Lint with flake8
run: |
flake8 pymongosql/ --count --statistics
test:
name: Run CI Tests
uses: ./.github/workflows/ci.yml
build:
name: Build Distribution
runs-on: ubuntu-latest
needs: [lint-and-format, test]
steps:
- uses: actions/checkout@v4
with:
# Fetch full history for setuptools_scm
fetch-depth: 0
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build twine setuptools_scm[toml]
- name: Build source and wheel distributions
run: |
python -m build
- name: Check distribution
run: |
twine check dist/*
- name: List built packages
run: |
ls -la dist/
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
pypi-publish:
name: Publish to PyPI
runs-on: ubuntu-latest
needs: build
environment:
name: pypi
url: https://pypi.org/p/pymongosql
steps:
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: dist
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
create-github-release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: [build, pypi-publish]
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: dist
path: dist/
- name: Extract version from tag
id: version
run: echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: dist/*
generate_release_notes: true
name: Release ${{ steps.version.outputs.version }}
body: |
## PyMongoSQL ${{ steps.version.outputs.version }}
### Installation
```bash
pip install pymongosql==${{ steps.version.outputs.version }}
```
### What's New
See the automatically generated release notes below for detailed changes.