From 895b48a57ead0c1c661e234d71ab8f396f7f54d0 Mon Sep 17 00:00:00 2001 From: Benyamin Date: Thu, 9 Nov 2023 13:10:57 +0330 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7=20added=20CI=20for=20formatting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .flake8 | 20 ++++++++ .github/workflows/github-actions.yml | 74 ++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 .flake8 create mode 100644 .github/workflows/github-actions.yml diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..bd253d3 --- /dev/null +++ b/.flake8 @@ -0,0 +1,20 @@ +[flake8] +max-line-length = 120 +output-file = flake8.txt +max-complexity = 10 +tee = True +exclude = + .git + .tox + .venv + env + .cache + .eggs + .idea + .pytest* + *.egg-info + examples + doc +extend-ignore= + # See https://github.com/PyCQA/pycodestyle/issues/373 + E231, diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml new file mode 100644 index 0000000..9df96ff --- /dev/null +++ b/.github/workflows/github-actions.yml @@ -0,0 +1,74 @@ +name: build +on: [push, pull_request] +jobs: + GitHub-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v2 + - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - run: echo "🍏 This job's status is ${{ job.status }}." + + # build: # TODO: it needs changes in UUID columns as sqlite doesn't support it + # runs-on: ubuntu-latest + # strategy: + # matrix: + # python-version: ['3.10', '3.11'] + # steps: + # - uses: actions/checkout@v2 + # - name: Set up Python ${{ matrix.python-version }} + # uses: actions/setup-python@v2 + # with: + # python-version: ${{ matrix.python-version }} + # - name: Install dependencies + # run: | + # python -m pip install --upgrade pip + # pip install poetry + # poetry install --no-interaction --all-extras + # - name: Test with pytest + # run: | + # poetry run pytest -s + # env: + # SQLALCHEMY_DATABASE_URI: postgresql://ifsguid_usr:root@localhost/ifsguid_db + # - name: Code Coverage + # run: | + # poetry run pytest --cov=./ifsguid --cov-report=xml --cov-report=term-missing + # env: + # SQLALCHEMY_DATABASE_URI: postgresql://ifsguid_usr:root@localhost/ifsguid_db + # - name: Upload coverage to Codecov + # uses: codecov/codecov-action@v3 + # env: + # CODECOV_TOKEN: xxx + + # docker: # TODO: it needs .env and .docker.env files at this stage + # timeout-minutes: 10 + # runs-on: ubuntu-latest + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Start containers + # run: docker-compose up -d --build + # - name: Stop containers + # if: always() + # run: docker-compose down + + linting: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: psf/black@stable + - name: Install dependencies + run: pip install flake8 + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics