Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
94cf29d
Build(deps): Bump requests from 2.32.3 to 2.32.4 in /scripts (#105)
dependabot[bot] Nov 26, 2025
3e3583b
Hugoclsc/feature/GitHub actions (#107)
HugoCLSC Nov 28, 2025
420a3e1
Hugoclsc/feature/GitHub actions (#113)
HugoCLSC Dec 5, 2025
bc1156c
Hugoclsc/feature/GitHub actions (#114)
HugoCLSC Dec 5, 2025
ca9eb86
Hugoclsc/feature/GitHub actions (#115)
HugoCLSC Dec 5, 2025
69deb3b
Hugoclsc/feature/GitHub actions (#116)
HugoCLSC Dec 5, 2025
8229438
Refactor/tests compliance (#117)
HugoCLSC Dec 10, 2025
8e48a21
ADD: added overriedCursor to blank cursor (#118)
Robert0Mart Dec 11, 2025
e852346
ADD: color degrade when ON/OFF (#120)
Robert0Mart Dec 11, 2025
868d0fd
Bugfix label overlap (#121)
Robert0Mart Dec 11, 2025
eb18055
Bugfix: Delete file handling and QDialog class refactoring (#128)
HugoCLSC Dec 12, 2025
260b126
Work fan page (#119)
Robert0Mart Dec 12, 2025
70e2c43
Fix issues intruduced in Bugfix label overlap #121 (#129)
HugoCLSC Dec 12, 2025
f703fc6
Fix Merge problems introduced on the previous pull requests (#131)
HugoCLSC Dec 15, 2025
ca9b7f0
Added standard pull request template (#133)
HugoCLSC Dec 15, 2025
3b91e46
Bugfix: fixed white dot on list_model.py (#130)
Robert0Mart Dec 15, 2025
6f4c3e3
Bugfix thumbnail not working (#123)
Robert0Mart Dec 18, 2025
6fbc375
Bugfix uninitilized variable access introduced on #123 (#141)
HugoCLSC Jan 2, 2026
de9fe96
Refactor `SensorPanel`: replace `QListWidgetItem` with `EntryListMode…
gmmcosta15 Jan 2, 2026
4d973b6
Refactor `filesPage.py`: Changed Files List `QtWidgets.QListWidgetIte…
gmmcosta15 Jan 2, 2026
d013f12
Work group button refactor (#137)
Robert0Mart Jan 2, 2026
db29de9
Bugfix `tunePage`: Add clickability and distinct icons to controllabl…
gmmcosta15 Jan 2, 2026
c3bfa56
Work display info UI (#140)
Robert0Mart Jan 2, 2026
11c8572
Work input shapper rework (#134)
Robert0Mart Jan 5, 2026
5339d51
Work connnectivity update page (#139)
Robert0Mart Jan 12, 2026
0e7a3e7
Bugfix/tab unlocking (#147)
Robert0Mart Jan 12, 2026
4ece704
jobStatusPage: only load filedata when printer is printing (#150)
gmmcosta15 Jan 12, 2026
fa53e8c
Bugfix/inputshaper page (#148)
Robert0Mart Jan 14, 2026
1465ea1
work popup features (#144)
Robert0Mart Jan 14, 2026
dd13e39
Improvement/Apply Z‑offset changes immediately, with an option to sav…
gmmcosta15 Jan 14, 2026
95d956f
Work network priority (#122)
Robert0Mart Jan 14, 2026
102a746
Bugfix: fixed loadwidget default being placeholder (gif) (#145)
Robert0Mart Jan 14, 2026
a9a486b
Bugfix/after merge fix (#151)
Robert0Mart Jan 14, 2026
646d997
Merge branch 'main' into dev
HugoCLSC Jan 14, 2026
1a3f83e
Fans controlling UI wasnt working (#153)
gmmcosta15 Jan 14, 2026
92e7e54
Bugfix/update page & Popup logic (#154)
Robert0Mart Jan 14, 2026
ca26de5
bugfix: ipv4 ip command error fix (#155)
gmmcosta15 Jan 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
name: Pull Request
about: Propose code changes
title: ''
labels: ''
assignees: ''

---

# PR Checklist (Delete the section after checking everything)

- [ ] Make sure you are requesting to PR **feature/bugfix/refactor branch**.
- [ ] Make sure you are making the pull request against the **dev** branch.
- [ ] Make sure you include labels to the PR
- [ ] Request a reviewer for the current PR
- [ ] After the PR is published, make sure you view the tests conducted by github actions, download artifacts and inspect them. Failure to pass the tests will result in a request for changes.



# Description

Select the type:
- [ ] Feature
- [ ] Bug fix
- [ ] Code refactor
- [ ] Documentation

Include a summary of the changes made in this PR and which issue is fixed.

If the current PR is related to a bug introduced in another PR please insert the reference of the previous PR with **#<pr number\>**.


Add a concise checklist of the implemented changes, as exemplified below.

- Change 1.
- Change 2.
- Change 3.
- ...


**Depending on the type of change the current PR relates to, delete sections that are not applicable.**


# Motivation

Include a detailed explanation for the current PR. Delete section if not applicable.

# Tests
Please describe the conducted tests, and include logs, reports on the tests.

Also include test configuration.


Delete section if not applicable.
# Screenshots

Include screenshots of the changes. Mostly used for UI changes.

Delete section if not applicable.


# Future work

Emphasize future tasks and improvements tied directly to this pull request.
Include only non-breaking changes to this pull request

Delete section if not applicable.
109 changes: 109 additions & 0 deletions .github/workflows/dev-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: CI-dev-pipeline

on:
pull_request:
branches:
- dev
paths-ignore:
- "scripts/**"
- "BlocksScreen/lib/ui/**"
- "extras/**"
jobs:
ci-checks:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11.2"]
test-type: [ruff, pylint, pytest, docstrcov, security]

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: scripts/requirements-dev.txt

- name: Install dependencies
run: |
echo "Installing dependencies"
python -m pip install --upgrade pip
pip install -r scripts/requirements-dev.txt

- name: Run Test ${{ matrix.test-type }}
run: |
echo "Starting test runs"
if [ "${{ matrix.test-type }}" == "ruff" ]; then
echo "Running Formatting Test"
ruff check --output-format=github --target-version=py311 --config=pyproject.toml > ruff-output.txt 2>&1
ruff format --diff --target-version=py311 --config=pyproject.toml >> ruff-output.txt 2>&1
echo "Ruff finished"
fi
if [ "${{ matrix.test-type }}" == "pylint" ]; then
echo "Running Pylint Code Test"
pylint -j$(nproc) --recursive=y BlocksScreen/ > pylint-output.txt 2>&1
echo "Pylint finished"
fi

if [ "${{ matrix.test-type }}" == "pytest" ]; then
if [ -d "tests/" ] && [ "$(ls -A tests/)" ]; then
echo "Running Python unit tests"
pytest tests/ --doctest-modules --junitxml=junit/test-results.xml --cov=BlocksScreen/ --cov-report=xml --cov-report=html > pytest-output.txt 2>&1
else
echo "No tests directory no need to proceed with tests"
fi
fi

if [ "${{ matrix.test-type }}" == "docstrcov" ]; then
echo "Running docstring coverage test"
docstr-coverage BlocksScreen/ --exclude '.*/BlocksScreen/lib/ui/.*?$' --fail-under=80 --skip-magic --skip-init --skip-private --skip-property > docstr-cov-output.txt 2>&1
fi

if [ "${{matrix.test-type }}" == "security" ]; then
echo "Running bandit security test"
bandit -c pyproject.toml -r . -f json -o bandit-output.json 2>&1
fi

- name: Upload ruff artifact
if: always() && matrix.test-type == 'ruff'
uses: actions/upload-artifact@v4
with:
name: ruff-results
path: ruff-output.txt

- name: Upload Pylint Artifacts
if: always() && matrix.test-type == 'pylint'
uses: actions/upload-artifact@v4
with:
name: pylint-results
path: pylint-output.txt

- name: Upload Pytest Artifacts
if: always() && matrix.test-type == 'pytest'
uses: actions/upload-artifact@v4
with:
name: pytest-results
path: |
pytest-output.txt
junit/test-results.xml
coverage.xml
htmlcov/
continue-on-error: true

- name: Upload docstr coverage report
if: always() && matrix.test-type == 'docstrcov'
uses: actions/upload-artifact@v4
with:
name: docstr-coverage
path: docstr-cov-output.txt

- name: Upload bandit security report
if: always() && matrix.test-type == 'security'
uses: actions/upload-artifact@v4
with:
name: bandit-output
path: bandit-output.json
23 changes: 23 additions & 0 deletions .github/workflows/stage-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: stage-ci

on:
branches:
- stage
paths-ignore:
- "scripts/**"
- "BlocksScreen/lib/ui/**"
- "extras/**"
workflow_run:
workflows: ["dev-test-code"]
types:
- completed
jobs:
ci-stage:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Run staging pipeline
run: echo "Running staging integration tests..."
11 changes: 11 additions & 0 deletions .pylintrc.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[MAIN]
fail-under=7
jobs=16
ignore=tests,scripts,ui,extras
ignore-paths=BlocksScreen/lib/ui
py-version=3.11


[FORMAT]
max-line-length=88

7 changes: 3 additions & 4 deletions BlocksScreen/BlocksScreen.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,15 @@
RESET = "\033[0m"


def setup_working_dir(): ...


def setup_app_loggers():
ql = logger.create_logger(name="logs/BlocksScreen.log", level=logging.DEBUG)
"""Setup logger"""
_ = logger.create_logger(name="logs/BlocksScreen.log", level=logging.DEBUG)
_logger = logging.getLogger(name="logs/BlocksScreen.log")
_logger.info("============ BlocksScreen Initializing ============")


def show_splash(window: typing.Optional[QtWidgets.QWidget] = None):
"""Show splash screen on app initialization"""
logo = QtGui.QPixmap("BlocksScreen/BlocksScreen/lib/ui/resources/logoblocks.png")
splash = QtWidgets.QSplashScreen(pixmap=logo)
splash.setGeometry(QtCore.QRect(0, 0, 400, 200))
Expand Down
Loading