Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

Commit

Permalink
feat!: rewrite the project in Python (#133)
Browse files Browse the repository at this point in the history
# Description

It turned out that parsing of compiled classes is not the best option
especially if multiple programming languages are involved. This rewrite
analyzes the source code.

At the moment, Rest Api calls/endpoints are supported only. No Dot model
is available.

# Checklist

- [x] My code follows the style guidelines of the project
- [x] I have performed a self-review of my own code
- [ ] I have made corresponding changes to the documentation
  • Loading branch information
kayman-mk committed May 7, 2023
1 parent 876c1a8 commit c65b60d
Show file tree
Hide file tree
Showing 153 changed files with 1,249 additions and 7,781 deletions.
30 changes: 30 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"version": "0.2",
"language": "en",
"words": ["cpus", "graphviz", "markdownlint", "pytest", "setuptools", "venv"],
"ignoreWords": [
"amannn",
"asctime",
"codeowners",
"doctest",
"dorny",
"getcwd",
"hapag",
"ibiqlik",
"Intelli",
"jsonlogger",
"junitxml",
"kayman",
"levelname",
"pycache",
"pythonjsonlogger",
"qualname",
"regexes",
"renovaterc",
"rhysd",
"shuf",
"shunsuke",
"signoff",
"tpng"
]
}
2 changes: 2 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[flake8]
max-line-length = 132
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Found a bug? Report it!
title: ''
labels: new, bug
assignees: ''
---

<!-- Before submitting a bug, make sure that you meet the following requirements:
1. use the latest version of the module
2. read the documentation
-->

# Describe the bug

A clear and concise description of what the bug is.

# To Reproduce

Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

# Expected behavior

A clear and concise description of what you expected to happen.

# Additional context

Add any other context about the problem here.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Feature Request
about: Propose a new feature
title: ''
labels: new, enhancement
assignees: ''
---

# Describe the solution you'd like

<!--
Provide a clear and concise description of what you want to happen. Add some sentences to describe the use case
to be solved by this feature.
-->

# Describe alternatives you've considered

<!--
Let us know about other solutions you've tried or researched.
-->

# Suggest a solution

<!--
Things to include:
- details of the technical implementation
- tradeoffs made in design decisions
-caveats and considerations for the future
If there are multiple solutions, please present each one separately. Save comparisons for the very end.
-->

# Additional context

<!--
Is there anything else you can add about the proposal?
You might want to link to related issues here, if you haven't already.
-->
22 changes: 0 additions & 22 deletions .github/dependabot.yml

This file was deleted.

4 changes: 4 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ Fixes #(issue number)
yes: please describe the migration
no: please delete the whole paragraph

# Verification

Please describe the test cases you used to verify your code. Did you check the change in your environment?

# Checklist

- [ ] My code follows the style guidelines of the project
Expand Down
75 changes: 75 additions & 0 deletions .github/workflows/feature-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
name: Python package

# yamllint disable-line rule:truthy
on:
pull_request:

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "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 }}
cache: "pip"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
- name: Test with pytest
run: |
pip install -e ".[test]"
pytest tests --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html
- name: Upload pytest test results
uses: actions/upload-artifact@v3
with:
name: pytest-results-${{ matrix.python-version }}
path: junit/test-results-${{ matrix.python-version }}.xml
# Use always() to always run this step to publish test results when there are test failures
if: ${{ always() }}

flake8-lint:
runs-on: ubuntu-latest
name: Lint with Flake8
steps:
- name: Check out source repository
# yamllint disable-line rule:comments
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0

- name: Set up Python environment
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: flake8 Lint
uses: py-actions/flake8@v2

ruff-lint:
runs-on: ubuntu-latest
name: Lint with Ruff
steps:
- name: Check out source repository
# yamllint disable-line rule:comments
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0

- name: Set up Python environment
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Ruff Lint
run: |
pip install -e ".[pipeline]"
# default set of ruff rules with GitHub Annotations
ruff --format=github --target-version=py310 src/
18 changes: 0 additions & 18 deletions .github/workflows/java-pr.yml

This file was deleted.

105 changes: 105 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
name: Lint files

# yamllint disable-line rule:truthy
on:
pull_request:

jobs:
find-changes:
runs-on: ubuntu-latest
steps:
# yamllint disable-line rule:comments
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
with:
filters: |
json:
- '**/*.json'
markdown:
- '**/*.md'
renovate-config:
- '.renovaterc.json'
workflow:
- '.github/workflows/*.yml'
- '.github/workflows/*.yaml'
yaml:
- '**/*.yaml'
- '**/*.yml'
outputs:
json: ${{ steps.changes.outputs.json }}
markdown: ${{ steps.changes.outputs.markdown }}
renovate-config: ${{ steps.changes.outputs.renovate-config }}
workflow: ${{ steps.changes.outputs.workflow }}
yaml: ${{ steps.changes.outputs.yaml }}

lint-json:
runs-on: ubuntu-latest
continue-on-error: true
if: needs.find-changes.outputs.json == 'true'
needs: find-changes
steps:
# yamllint disable-line rule:comments
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0

- name: Run JSON Lint
run: bash <(curl -s https://raw.githubusercontent.com/CICDToolbox/json-lint/master/pipeline.sh)

lint-markdown:
runs-on: ubuntu-latest
continue-on-error: true
if: needs.find-changes.outputs.markdown == 'true'
needs: find-changes
steps:
# yamllint disable-line rule:comments
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0

- name: Validate Markdown file
run: |
npm install -g markdownlint-cli
markdownlint -c .markdownlint.yml -i CHANGELOG.md "**/*.md"
lint-renovate:
runs-on: ubuntu-latest
continue-on-error: true
if: needs.find-changes.outputs.renovate-config == 'true'
needs: find-changes
steps:
# yamllint disable-line rule:comments
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0

# yamllint disable-line rule:comments
- uses: suzuki-shunsuke/github-action-renovate-config-validator@7ab3d8f19305664925f3e626580f075f14e40386 # v0.1.2

lint-workflow:
runs-on: ubuntu-latest
continue-on-error: true
needs: find-changes
if: needs.find-changes.outputs.workflow == 'true'
container:
image: rhysd/actionlint:1.6.23@sha256:02ccb6d91e4cb4a7b21eb99d5274d257e81ae667688d730e89d7ea0d6d35db91
options: --cpus 1 --user root
steps:
# yamllint disable-line rule:comments
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0

- name: Validate Github workflows
run: |
mkdir .git
actionlint -color
lint-yaml:
runs-on: ubuntu-latest
continue-on-error: true
needs: find-changes
if: needs.find-changes.outputs.yaml == 'true'
steps:
# yamllint disable-line rule:comments
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0

- name: yaml-lint
# yamllint disable-line rule:comments
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c # v3.1.1
with:
config_file: .yamllint.yml
strict: true
Loading

0 comments on commit c65b60d

Please sign in to comment.