Skip to content

Commit

Permalink
Create CI (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
disrupted authored Feb 20, 2024
1 parent fbd340d commit f7aaf45
Show file tree
Hide file tree
Showing 7 changed files with 447 additions and 2 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: CI

on:
pull_request:
push:
branches:
- main

jobs:
test:
name: Test
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
python-version:
- "3.10"
- "3.11"
- "3.12"
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4

- name: Install Python and set up Poetry
uses: bakdata/ci-templates/actions/[email protected]
with:
poetry-version: "1.7.1"
python-version: ${{ matrix.python-version }}

- name: Check Poetry lock file consistency
run: poetry lock --check

- name: Install dependencies
run: poetry install --all-extras --no-interaction

- name: Linting (ruff)
run: poetry run pre-commit run ruff-lint --all-files --show-diff-on-failure

- name: Formatting (ruff)
run: poetry run pre-commit run ruff-format --all-files --show-diff-on-failure

- name: Typing (pyright)
run: poetry run pre-commit run pyright --all-files

# - name: Test
# run: poetry run pytest tests

publish-snapshot-version:
name: Publish snapshot to TestPyPI
needs: [test]
uses: bakdata/ci-templates/.github/workflows/[email protected]
with:
poetry-version: "1.7.1"
secrets:
pypi-token: ${{ secrets.TEST_PYPI_TOKEN }}
14 changes: 14 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Publish to PyPI
on:
push:
tags:
- '*'

jobs:
publish:
uses: bakdata/ci-templates/.github/workflows/[email protected]
with:
publish-to-test: false
poetry-version: "1.7.1"
secrets:
pypi-token: "${{ secrets.PYPI_TOKEN }}"
27 changes: 27 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Release

on:
workflow_dispatch:
inputs:
release-type:
description: "Scope of the release; see https://python-poetry.org/docs/cli/#version"
type: choice
required: true
default: patch
options:
- patch
- minor
- major

jobs:
create-github-release-push-tag:
uses: bakdata/ci-templates/.github/workflows/[email protected]
name: Release
with:
release-type: ${{ inputs.release-type }}
poetry-version: "1.7.1"
changelog: true
secrets:
github-username: "${{ secrets.GH_USERNAME }}"
github-email: "${{ secrets.GH_EMAIL }}"
github-token: "${{ secrets.GH_TOKEN }}"
32 changes: 32 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
repos:
- repo: local
hooks:
- id: ruff-lint
name: ruff-lint
entry: ruff check
args:
[
--force-exclude,
--config,
pyproject.toml,
--fix,
--show-fixes,
--exit-non-zero-on-fix,
]
language: system
types_or: [python]
require_serial: true # run once for all files
- id: ruff-format
name: ruff-format
entry: ruff format
args: [--force-exclude, --config, pyproject.toml]
language: system
types_or: [python]
require_serial: true # run once for all files
- id: pyright
name: pyright
entry: pyright
language: system
types: [python]
require_serial: true # run once for all files
exclude: ^tests/.*snapshots/
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ admin = Admin(

## Development

If you want to contribute to this project, you can simply clone the repository and run `poetry install`.
If you want to contribute to this project, you can simply clone the repository and run `poetry install --all-extras`.

Please also run `pre-commit install` for linting and enforcing a consistent code style.

Expand Down
Loading

0 comments on commit f7aaf45

Please sign in to comment.