Skip to content

Commit

Permalink
Merge pull request #540 from iKostanOrg/master
Browse files Browse the repository at this point in the history
Merge from master
  • Loading branch information
ikostan authored Nov 24, 2024
2 parents d235d25 + 8cacc96 commit 189adfe
Show file tree
Hide file tree
Showing 206 changed files with 1,509 additions and 526 deletions.
23 changes: 13 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
version: 2.1 # use CircleCI 2.1
---
version: 2.1 # use CircleCI 2.1
orbs:
python: circleci/[email protected]

jobs: # A basic unit of work in a run
jobs: # A basic unit of work in a run

build: # runs not using Workflows must have a `build` job as entry point
build: # runs not using Workflows must have a `build` job as entry point
# How to specify Python version in circleCI orb?
# https://discuss.circleci.com/t/how-to-specify-python-version-in-circleci-orb/47322/3
executor:
name: python/default
# use Python 3.10
tag: "3.12"

steps: # steps that comprise the `build` job
steps: # steps that comprise the `build` job
- checkout
- run:
command:
python --version
python --version
name: Check python version
- run:
command:
Expand Down Expand Up @@ -45,10 +46,12 @@ jobs: # A basic unit of work in a run
command:
python -m pytest
name: Run tests with pytest

- store_test_results: # Upload test results for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/
# Upload test results for display in Test Summary:
# https://circleci.com/docs/2.0/collect-test-data/
- store_test_results:
path: test-results/

- store_artifacts: # Upload test summary for display in Artifacts: https://circleci.com/docs/2.0/artifacts/
# Upload test summary for display in Artifacts:
# https://circleci.com/docs/2.0/artifacts/
- store_artifacts:
path: test-results/
destination: tr1
destination: tr1
42 changes: 21 additions & 21 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
---
engines:
duplication:
enabled: true
enabled: true
metric:
enabled: true
enabled: true
coverage:
enabled: true
enabled: true
prospector:
enabled: true
pylint:
enabled: true
python_version: 3.7
languages:
python:
extensions:
- '.py'
python:
extensions:
- '.py'
markup:
extensions:
- '.md'
extensions:
- '.md'
exclude_paths:
- 'docs/**'
- 'allure-report/**'
- 'img/**'
- '.circleci/**'
- '.circleci/**'
- '.github/**'
- '*__init__.py'
- 'rocro.yml'
- 'requirements.txt'
- 'pytest.ini'
- '.travis.yml'
- '.gitignore'
- '.gitattributes'
- 'docs/**'
- 'allure-report/**'
- 'img/**'
- '.circleci/**'
- '.circleci/**'
- '.github/**'
- '*__init__.py'
- 'rocro.yml'
- 'requirements.txt'
- 'pytest.ini'
- '.travis.yml'
- '.gitignore'
- '.gitattributes'
12 changes: 12 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,15 @@ omit =
__init__*
*.md
docs/*
venv/*
*.gif
*.html
/tests/*
test_*

[report]
; Regexes for lines to exclude from consideration

exclude_also =
; Don't complain if non-runnable code isn't run:
if __name__ == .__main__.:
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ updates:
interval: "daily"
# Labels on pull requests for version updates only
labels:
- "GitHub actions versions"
- "GitHub actions versions"
47 changes: 47 additions & 0 deletions .github/workflows/codeclimate_coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
name: Code Climate Coverage Report

on: # yamllint disable-line rule:truthy
pull_request_target:
types:
- opened
- edited
- synchronize
- reopened
workflow_call:
secrets:
cc_test_reporter_id:
required: true

jobs:
run:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.X"]
steps:
- uses: actions/checkout@main
- name: Setup Python
uses: actions/setup-python@main
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip setuptools
python -m pip install pytest
pip install -r requirements.txt
pip install pytest-cov
- name: Check PYTHONPATH
run: |
pwd
export PYTHONPATH=.:$PYTHONPATH
- name: Upload coverage to Code Climate
uses: paambaati/[email protected]
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
# yamllint disable rule:line-length
coverageCommand: python -m pytest . -v --cov-report term-missing --cov-report=xml --cov=./
# yamllint enable rule:line-length
debug: true
50 changes: 50 additions & 0 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: Codecov Coverage Report

on: # yamllint disable-line rule:truthy
pull_request_target:
types:
- opened
- edited
- synchronize
- reopened
# Why is Codecov upload step in GitHub Actions not finding the token?
# https://stackoverflow.com/questions/78298827/why-is-codecov-upload-step-in-github-actions-not-finding-the-token
workflow_call:
secrets:
codecov_token:
required: true
jobs:
run:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.12"]
steps:
- uses: actions/checkout@main
- name: Setup Python
uses: actions/setup-python@main
with:
python-version: ${{ matrix.python-version }}
- name: Install prerequisites
run: |
python -m pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
- name: Install pytest, pytest-cov
run: |
pip install pytest
pip install pytest-cov
- name: Generate coverage report
# yamllint disable rule:line-length
run: |
python -c "import os; print(os.getcwd())"
python -m pytest . -v --cov-report term-missing --cov-report=xml --cov=./
# yamllint enable rule:line-length
- name: Upload coverage to Codecov
uses: codecov/[email protected]
with:
token: ${{ secrets.codecov_token }}
files: coverage.xml
fail_ci_if_error: true # optional (default = false)
verbose: true # optional (default = false)
98 changes: 98 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
---
# yamllint disable
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#

name: "CodeQL"

on: # yamllint disable-line rule:truthy
pull_request_target:
types:
- opened
- edited
- synchronize
- reopened
workflow_call:

jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write

# required to fetch internal or private CodeQL packs
packages: read

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
include:
- language: python
build-mode: none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality

# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Check to make sure that the module is in your Python path
run: |
echo $PYTHONPATH
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
4 changes: 2 additions & 2 deletions .github/workflows/flake8.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Flake8

on:
on: # yamllint disable-line rule:truthy
push:
branches:
- 'utils'
Expand Down Expand Up @@ -46,4 +46,4 @@ jobs:
run: |
flake8 . --count --select=E9,F63,F7,F82 --doctests --show-source --statistics
flake8 . --count --max-complexity=10 --max-line-length=127 --benchmark --show-source --statistics
# yamllint enable rule:line-length
# yamllint enable rule:line-length
4 changes: 2 additions & 2 deletions .github/workflows/flake8_kyu2.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Flake8 for kyu2

on:
on: # yamllint disable-line rule:truthy
push:
branches:
- 'kyu2'
Expand Down Expand Up @@ -44,4 +44,4 @@ jobs:
run: |
flake8 --count --select=E9,F63,F7,F82 --doctests --show-source --statistics ./kyu_2
flake8 --count --max-complexity=10 --max-line-length=127 --benchmark --show-source --statistics ./kyu_2
# yamllint enable rule:line-length
# yamllint enable rule:line-length
4 changes: 2 additions & 2 deletions .github/workflows/flake8_kyu3.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Flake8 for kyu3

on:
on: # yamllint disable-line rule:truthy
push:
branches:
- 'kyu3'
Expand Down Expand Up @@ -44,4 +44,4 @@ jobs:
run: |
flake8 --count --select=E9,F63,F7,F82 --doctests --show-source --statistics ./kyu_3
flake8 --count --max-complexity=10 --max-line-length=127 --benchmark --show-source --statistics ./kyu_3
# yamllint enable rule:line-length
# yamllint enable rule:line-length
4 changes: 2 additions & 2 deletions .github/workflows/flake8_kyu4.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Flake8 for kyu4

on:
on: # yamllint disable-line rule:truthy
push:
branches:
- 'kyu4'
Expand Down Expand Up @@ -44,4 +44,4 @@ jobs:
run: |
flake8 --count --select=E9,F63,F7,F82 --doctests --show-source --statistics ./kyu_4
flake8 --count --max-complexity=10 --max-line-length=127 --benchmark --show-source --statistics ./kyu_4
# yamllint enable rule:line-length
# yamllint enable rule:line-length
Loading

0 comments on commit 189adfe

Please sign in to comment.