Skip to content

Commit

Permalink
Added github workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
jprakash-db committed Nov 15, 2024
1 parent 409b08f commit be8bd51
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 4 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/dco-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: DCO Check

on: [pull_request]

jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Check for DCO
id: dco-check
uses: tisonkun/[email protected]
- name: Comment about DCO status
uses: actions/github-script@v6
if: ${{ failure() }}
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `Thanks for your contribution! To satisfy the DCO policy in our \
[contributing guide](https://github.com/databricks/databricks-sql-python/blob/main/CONTRIBUTING.md) \
every commit message must include a sign-off message. One or more of your commits is missing this message. \
You can reword previous commit messages with an interactive rebase (\`git rebase -i main\`).`
})
64 changes: 64 additions & 0 deletions .github/workflows/publish-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Publish to PyPI [Test]
on: [push]
jobs:
test-pypi:
name: Create patch version number and push to test-pypi
runs-on: ubuntu-latest
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v2
- name: Set up python
id: setup-python
uses: actions/setup-python@v2
with:
python-version: 3.9
#----------------------------------------------
# ----- install & configure poetry -----
#----------------------------------------------
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
#----------------------------------------------
# load cached venv if cache exists
#----------------------------------------------
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v2
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ github.event.repository.name }}-${{ hashFiles('**/poetry.lock') }}
#----------------------------------------------
# install dependencies if cache does not exist
#----------------------------------------------
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root
#----------------------------------------------
# Get the current version and increment it (test-pypi requires a unique version number)
#----------------------------------------------
- name: Get next version
uses: reecetech/[email protected]
id: version
with:
scheme: semver
increment: patch
#----------------------------------------------
# Tell poetry to update the version number
#----------------------------------------------
- name: Update pyproject.toml
run: poetry version ${{ steps.version.outputs.major-version }}.${{ steps.version.outputs.minor-version }}.dev$(date +%s)
#----------------------------------------------
# Attempt push to test-pypi
#----------------------------------------------
- name: Build and publish to pypi
uses: JRubics/[email protected]
with:
pypi_token: ${{ secrets.SQLALCHEMY_TEST_PYPI_TOKEN }}
repository_name: "testpypi"
repository_url: "https://test.pypi.org/legacy/"
65 changes: 65 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Publish to PyPI [Production]
on:
release:
types: [published]
jobs:
publish:
name: Publish
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/v1/main'
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v2
- name: Set up python
id: setup-python
uses: actions/setup-python@v2
with:
python-version: 3.9
#----------------------------------------------
# ----- install & configure poetry -----
#----------------------------------------------
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
#----------------------------------------------
# load cached venv if cache exists
#----------------------------------------------
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v2
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ github.event.repository.name }}-${{ hashFiles('**/poetry.lock') }}
#----------------------------------------------
# install dependencies if cache does not exist
#----------------------------------------------
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root
#------------------------------------------------------------------------------------------------
# Here we use version-increment to fetch the latest tagged version (we won't increment it though)
#------------------------------------------------------------------------------------------------
- name: Get next version
uses: reecetech/[email protected]
id: version
with:
scheme: semver
increment: patch
#-----------------------------------------------------------------------------
# Tell poetry to use the `current-version` that was found by the previous step
#-----------------------------------------------------------------------------
- name: Update pyproject.toml
run: poetry version ${{ steps.version.outputs.current-version }}
#----------------------------------------------
# Attempt push to test-pypi
#----------------------------------------------
- name: Build and publish to pypi
uses: JRubics/[email protected]
with:
pypi_token: ${{ secrets.SQLALCHEMY_PROD_PYPI_TOKEN }}
4 changes: 0 additions & 4 deletions example.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,3 @@ class SampleObject(base):
assert len(output) == 2

base.metadata.drop_all()



print("THIS is Added for no readon")

0 comments on commit be8bd51

Please sign in to comment.