From 7f98b446af26a2f00aa5a4c47f3078b9cfddc63f Mon Sep 17 00:00:00 2001 From: Deko Date: Fri, 14 Apr 2023 19:22:45 +0200 Subject: [PATCH] Initial commit --- .github/workflows/pipeline.yaml | 62 +++++++++++++++++++++++++++++++++ poetry.lock | 30 ++++++++-------- pyproject.toml | 4 +-- 3 files changed, 79 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/pipeline.yaml diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml new file mode 100644 index 0000000..d301c9c --- /dev/null +++ b/.github/workflows/pipeline.yaml @@ -0,0 +1,62 @@ +name: Pipeline + +on: + push: + branches: ['release'] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + lint-and-test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.11"] + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + curl -sSL https://install.python-poetry.org | python - + export PATH=$PATH:$HOME/.local/bin + poetry --version + poetry install + - name: isort + run: poetry run isort --check . + - name: flake8 + run: poetry run flake8 + - name: black + run: poetry run black . --check --verbose --diff + - name: pytest + run: poetry run pytest --cov -v + build: + - runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Log in to the Container registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/poetry.lock b/poetry.lock index d87b541..67af6dc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -16,7 +16,7 @@ tests_no_zope = ["hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist", "c [[package]] name = "black" -version = "23.1.0" +version = "23.3.0" description = "The uncompromising code formatter." category = "dev" optional = false @@ -53,11 +53,11 @@ python-versions = ">=3.6.1" [[package]] name = "charset-normalizer" -version = "3.0.1" +version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" optional = false -python-versions = "*" +python-versions = ">=3.7.0" [[package]] name = "click" @@ -80,7 +80,7 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7 [[package]] name = "coverage" -version = "7.2.1" +version = "7.2.2" description = "Code coverage measurement for Python" category = "dev" optional = false @@ -99,15 +99,15 @@ python-versions = "*" [[package]] name = "filelock" -version = "3.9.0" +version = "3.10.7" description = "A platform independent file lock." category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["furo (>=2022.12.7)", "sphinx-autodoc-typehints (>=1.19.5)", "sphinx (>=5.3)"] -testing = ["covdefaults (>=2.2.2)", "coverage (>=7.0.1)", "pytest-cov (>=4)", "pytest-timeout (>=2.1)", "pytest (>=7.2)"] +docs = ["furo (>=2022.12.7)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)", "sphinx (>=6.1.3)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.2.2)", "diff-cover (>=7.5)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)", "pytest (>=7.2.2)"] [[package]] name = "flake8" @@ -124,7 +124,7 @@ pyflakes = ">=3.0.0,<3.1.0" [[package]] name = "identify" -version = "2.5.20" +version = "2.5.22" description = "File identification library for Python" category = "main" optional = false @@ -212,7 +212,7 @@ python-versions = ">=3.7" [[package]] name = "pathspec" -version = "0.11.0" +version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." category = "dev" optional = false @@ -220,7 +220,7 @@ python-versions = ">=3.7" [[package]] name = "platformdirs" -version = "3.1.0" +version = "3.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false @@ -228,7 +228,7 @@ python-versions = ">=3.7" [package.extras] docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)", "sphinx (>=6.1.3)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest (>=7.2.1)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest (>=7.2.2)"] [[package]] name = "pluggy" @@ -244,7 +244,7 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pre-commit" -version = "3.1.1" +version = "3.2.1" description = "A framework for managing and maintaining multi-language pre-commit hooks." category = "main" optional = false @@ -358,7 +358,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "urllib3" -version = "1.26.14" +version = "1.26.15" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false @@ -371,7 +371,7 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "virtualenv" -version = "20.20.0" +version = "20.21.0" description = "Virtual Python Environment builder" category = "main" optional = false @@ -400,7 +400,7 @@ dev = ["pytest (>=4.6.2)", "black (>=19.3b0)"] [metadata] lock-version = "1.1" python-versions = "^3.11" -content-hash = "214ba051cbd09df53ac7c0fcce560c9617314f3d26ab703df34f31169bd63eb3" +content-hash = "5bd5f7ff0f5e15bd2a66ae78088b1fd213fbbf97e011fa9a94a96bcbd6399929" [metadata.files] attrs = [] diff --git a/pyproject.toml b/pyproject.toml index 5512a75..8025c78 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,10 +8,10 @@ authors = ["Deko "] python = "^3.11" requests = "^2.28.2" loguru = "^0.6.0" -pre-commit = "^3.1.1" +pre-commit = "^3.2.1" [tool.poetry.dev-dependencies] -black = "^23.1.0" +black = "^23.3.0" isort = "^5.12.0" flake8 = "^6.0.0" pytest = "^7.2.2"