Skip to content

Commit 91836f7

Browse files
HelioGuilherme66welli7ngtonbestlong
authored
Add Hatch configuration. (#2884)
* Development version * Fix bad selection of items in Project Explorer with Right Click. * Simplify execution with .exe. Removed main panel scrollbars at Grid Editor * update package w/ to solve upgrade rom dev * update docs * Improve restoring of preferences/configobj when upgrade from development * Add syntax colorization for GROUP marker. Improve Gherking recognition for multiple words. * Improve localized Gherkin in Grid Editor * Improve Gherkin recognition for localized docs in autocomplete * Create directory in New Project dialog, if needed. * Update README.adoc * Add tab marker lines to Text Editor. Ongoing collapse/expand blocks. * Add folding markers in Text Editor * Fix colors of line numbers in Text Editor, add folding and tab markers * Fix broken Code Editor launch * Fix text color in row labels in Grid Editor * First increment in autocomplete Text Editor, breaks Editor. * Improve autocomplete in Editor * Remove details fo str in Editor, improve autocomplete list TextEditor * Better but slower autocomplete list TextEditor * DEBUG get_suggestions, returning many non matching words * More debuggings on TextEditor * Fixed matchin list on TextEditor * Increase unit tests * Improve autocomplete lists * DOCS: - fix an incorrect link redirect to the slack robotframework community - add the 'commit' command on the instruction 7 on how to contribute. * Fix missing double-quote * Downgrade setuptools on Debian * Downgrade setuptools on Debian * Set SonarQube project version to 2.1.3 * fix: AttributeError: 'NoneType' object has no attribute 'name' #2928 * Set version.py to development * Update README.adoc * Update releasenotes.py * New status bar and PoC in Text Editor * Debug eventwatcher * Improve filesystem changes when opening project on Windows * Update docs. * Fix texteditor unit test * Add protection for language selection * Add Control Panel to Plugins. First example on Text Editor * Set config_panel to be bitmap button in Text Editor * Add settings button to Plugins Manager (not OK) * Fix language detection error * Add Config Panel button to Plugins Manager on supported plugins * Add unit tests for mainframe * Improve status_bar clear. Try to force status_ba color * Experimental code for Python 3.8 no RF installed * Make RIDE working without Robot Framework or version older than 6.0 * Added current executing keyword and other statuses to TestRunner status bar * Added Settings button to Test Runner * Change proportion in StatusBar 40/60 * Change Message box to RIDEDialog (#2936) * Styled message box * More dialogs with style. Broken validation on New Projects * Fix dialogs colour in main and filedialog * Fix dialogs colour in ProgressDialogs * Change dialogs to use customized colors * Change dialogs to use customized colors in Treenodehandlers * Change dialogs to use customized colors in Tagdialogs * Change dialogs to use customized colors in Logger * Change dialogs to use customized colors in Run/ui * Change dialogs to use customized colors in specimporter * Change dialogs to use customized colors in testrunner * Final change dialogs to use customized colors * Initial settings edit button on Preferences. Make backup of settings.cfg * Settings editor button at Preferences and backup of settings.cfg * Add unit tests for Preferences panel. WIP * Edit proper settings file. Add protection on create settings backup (#2938) * Increases Python supported version (#2939) * Increases maximum supported Python version, for Python 3.14 future versions. * Corrects title in Code Editor when opening file. * Add Fedora 41 with wxPython 4.2.3 on Python 3.14 and save coverage-report (#2940) * Add configuration for Fedora-41 with Python 3.14 in venv and wxPython 4.2.3 * Separate configuration for Fedora 41 with Python 3.14 in venv with wxPython 4.2.3 * Modify order of commands in Fedora Py314 * Activate venv in Fedora Py314 * Install psmisc in Fedora Py314 to provide killall * Install robotframework. Save coverage-report * Save coverage-report, also on Debian * Save coverage-report, removed name * Save coverage-report, removed slash * Save coverage-report in a zip archive * Save coverage-report FIX identation * Save coverage-report removed name * Save coverage-report install zip * Not using zip to get coverage-reports (#2941) * Improve tests on Windows (#2942) * Improve utests (#2943) * Improve utests * Update utests. Keep coverage.xml * Update fedora_41.yml * Update linux.yml * Improve utests (#2944) * Improve application utest * Collect coverage-reports * Improve coverage-reports (#2945) * Save coverage-report xml * Add contexts to coverage report * Update AppVeyor config for coverage-reports * Save SQL-Lite from coverage-repoorts * Save SQL-Lite from coverage-repoorts, another try * Save SQL-Lite from coverage-reports, add option to include hidden files * Fix blank squares in Tree and avoid crashing when execution is too rapid (#2947) * Fixes missing context menu in Grid Editor (#2948) * Minor code improvements (#2949) * Unit test for widgets.HtmlWindow * Improve unit tests on MacOS * Unit test for widgets.HtmlWindow * Improve unit tests on MacOS * Attempt to cover branch in test_htmlwindow. WIP * Improve two 100% tests * Debug test_htmlwnd * Increase low coverage * Add fs_watcher test * Omit non tested files from coverage * Add DEBUG to Grid. Improve kwedito tests * Minor fixes in utests * Improve Grid tests WIP debug failed tests * Improve RF version detection * Exclude files from coverage. Grid tests fail in shell not IDE * Fixes missing context menu in Grid Editor (#2948) * Minor code improvements --------- * Add Hatch configuration. Command line arguments are not working, i.e. ride --version * Update versions in pyproject.toml --------- Co-authored-by: Wellington <[email protected]> Co-authored-by: Shao Yu-Lung (Allen) <[email protected]>
1 parent 83a5b60 commit 91836f7

File tree

98 files changed

+2650
-615
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+2650
-615
lines changed

.appveyor.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
#---------------------------------#
44

55
# version format
6-
version: 2.0.{build}
6+
version: 2.1.{build}
77

88
# branches to build
99
branches:
1010
# whitelist
1111
only:
1212
- master
13-
- devops
13+
- develop
1414

1515
# blacklist
1616
except:
@@ -44,7 +44,7 @@ init:
4444
shallow_clone: false # default is "false"
4545

4646
# set clone depth
47-
clone_depth: 5 # clone entire repository history if not defined
47+
clone_depth: 1 # clone entire repository history if not defined
4848

4949
# this is how to allow failing jobs in the matrix
5050
# matrix:
@@ -70,6 +70,7 @@ build: off
7070
install:
7171
- C:\Python311-x64\python -m pip install -r requirements-dev.txt
7272
- C:\Python311-x64\python -m pip install -r requirements.txt
73+
- C:\Python311-x64\python -m pip install robotframework
7374
- C:\Python311-x64\python -m pip install .
7475

7576
#---------------------------------#
@@ -80,3 +81,9 @@ install:
8081
test_script:
8182
- set PATH=C:\Python311-x64;C:\Python311-x64\Scripts;%PATH%
8283
- C:\Python311-x64\python -m invoke test-ci
84+
- 7z -r a coverage_report.7z %APPVEYOR_BUILD_FOLDER%\.coverage.* %APPVEYOR_BUILD_FOLDER%\.coverage-reports
85+
86+
artifacts:
87+
- path: coverage_report.7z
88+
name: coverage_report
89+

.coveragerc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
source = src/
44
branch = True
55
relative_files = True
6+
dynamic_context = test_function
67
omit =
78
# omit anything in a .local directory anywhere
89
*/.local/*
@@ -12,13 +13,18 @@ omit =
1213
./utest/*
1314
# robot library
1415
./src/robotide/lib/robot/*
16+
# ./src/robotide/preferences/configobj/*
1517
*/.venv/*
18+
./src/robotide/__main__.py
19+
./src/robotide/postinstall/__main__.py
20+
./src/robotide/ui/preview.py
1621

1722
[report]
1823
skip_empty = True
1924
exclude_lines =
2025
if __name__ == '__main__':
21-
26+
if __name__ == '__main__' and 'robotide' not in sys.modules:
27+
2228
[xml]
2329
output = .coverage-reports/coverage.xml
2430

.github/workflows/fedora_41.yml

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
name: Linux
2+
on:
3+
push:
4+
branches-ignore:
5+
- '**/sources/**'
6+
- '**/windows/**'
7+
- '**/macos/**'
8+
paths-ignore:
9+
- '.github/workflows/sources.yml'
10+
- '.github/workflows/sonar.yml'
11+
- '.github/workflows/macos.yml'
12+
- '.github/workflows/windows.yml'
13+
- 'tools/**'
14+
- 'rtest/**'
15+
- 'doc/**'
16+
- '.appveyor.yml'
17+
- '.coveragerc'
18+
- '.gitattributes'
19+
- '.pylintrc'
20+
- '.travis.yml'
21+
- '.whitesource'
22+
- 'AUTHORS.txt'
23+
- 'BUILD.rest'
24+
- 'CHANGELOG.adoc'
25+
- 'CONTRIBUTING.adoc'
26+
- 'COPYRIGHT.txt'
27+
- 'LICENSE.txt'
28+
- 'MANIFEST.in'
29+
- 'README.adoc'
30+
- 'README.rest'
31+
- 'rfgen.py'
32+
- 'tox.ini'
33+
pull_request:
34+
paths-ignore:
35+
- '.github/workflows/sources.yml'
36+
- '.github/workflows/sonar.yml'
37+
- '.github/workflows/macos.yml'
38+
- '.github/workflows/windows.yml'
39+
- 'tools/**'
40+
- 'rtest/**'
41+
- 'doc/**'
42+
- '.appveyor.yml'
43+
- '.coveragerc'
44+
- '.gitattributes'
45+
- '.pylintrc'
46+
- '.travis.yml'
47+
- '.whitesource'
48+
- 'AUTHORS.txt'
49+
- 'BUILD.rest'
50+
- 'CHANGELOG.adoc'
51+
- 'CONTRIBUTING.adoc'
52+
- 'COPYRIGHT.txt'
53+
- 'LICENSE.txt'
54+
- 'MANIFEST.in'
55+
- 'README.adoc'
56+
- 'README.rest'
57+
- 'rfgen.py'
58+
- 'tox.ini'
59+
60+
jobs:
61+
fedora_py314:
62+
name: Fedora py314
63+
runs-on: ubuntu-22.04
64+
if: ${{ !contains(github.ref, '/debian/') }}
65+
container:
66+
image: helioguilherme/fedora:fedora-41
67+
options: --privileged -u root
68+
steps:
69+
- name: Configure container environment
70+
run: |
71+
sudo dnf update -y
72+
sudo dnf install -y git
73+
git config --global --add safe.directory ${GITHUB_WORKSPACE}
74+
- uses: actions/[email protected]
75+
with:
76+
submodules: false
77+
- name: Setup environment
78+
run: |
79+
git submodule update --init --recursive
80+
source /home/wxpy/venvs/Py314/bin/activate
81+
pip install https://robotframework.transformidea.com/RIDE/packages/Linux/Fedora_41/wxpython-4.2.4a15946+920a2bde-cp314-cp314-linux_x86_64.whl
82+
pip install -r requirements-dev.txt
83+
pip install robotframework
84+
sudo dnf install -y xorg-x11-server-Xvfb psmisc
85+
- name: Run tests
86+
run: |
87+
Xvfb &
88+
export DISPLAY=:0
89+
export GITHUB_ACTIONS=True
90+
git submodule update --init --recursive
91+
source /home/wxpy/venvs/Py314/bin/activate
92+
invoke test-ci
93+
- uses: actions/upload-artifact@v4
94+
with:
95+
name: coverage-report
96+
include-hidden-files: true
97+
path: |
98+
.coverage.1
99+
.coverage.2
100+
.coverage-reports/coverage.xml
101+
.coverage-reports/htmlcov
102+
- name: Install and run
103+
run: |
104+
git submodule update --init --recursive
105+
source /home/wxpy/venvs/Py314/bin/activate
106+
pip install .
107+
xvfb-run --server-args="-screen 0, 1280x720x24" -a ride.py &
108+
sleep 10
109+
killall xvfb-run
110+

.github/workflows/linux.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ on:
5959

6060
jobs:
6161
fedora:
62-
name: Fedora
62+
name: Fedora py313
6363
runs-on: ubuntu-22.04
6464
if: ${{ !contains(github.ref, '/debian/') }}
6565
container:
@@ -80,6 +80,7 @@ jobs:
8080
# sudo dnf downgrade -y mesa* --refresh
8181
git submodule update --init --recursive
8282
pip install -r requirements-dev.txt
83+
pip install robotframework
8384
- name: Run tests
8485
run: |
8586
Xvfb &
@@ -94,6 +95,7 @@ jobs:
9495
xvfb-run --server-args="-screen 0, 1280x720x24" -a ride.py &
9596
sleep 10
9697
killall xvfb-run
98+
9799
debian:
98100
name: Debian
99101
runs-on: ubuntu-22.04
@@ -115,13 +117,23 @@ jobs:
115117
git submodule update --init --recursive
116118
pip install https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04/wxPython-4.2.1-cp310-cp310-linux_x86_64.whl
117119
pip install -r requirements-dev.txt
120+
pip install robotframework
118121
pip install --force -U setuptools==69.5.1
119122
- name: Run tests
120123
run: |
121124
Xvfb &
122125
export DISPLAY=:0
123126
git submodule update --init --recursive
124127
invoke test-ci
128+
- uses: actions/upload-artifact@v4
129+
with:
130+
name: coverage-report
131+
include-hidden-files: true
132+
path: |
133+
.coverage.1
134+
.coverage.2
135+
.coverage-reports/coverage.xml
136+
.coverage-reports/htmlcov
125137
- name: Install and run
126138
run: |
127139
git submodule update --init --recursive

CHANGELOG.adoc

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,21 @@ All notable changes to this project will be documented in this file.
66
The format is based on http://keepachangelog.com/en/1.0.0/[Keep a Changelog]
77
and this project adheres to http://semver.org/spec/v2.0.0.html[Semantic Versioning].
88

9-
// == https://github.com/robotframework/RIDE[Unreleased]
9+
== https://github.com/robotframework/RIDE[Unreleased]
10+
11+
=== Added
12+
- Added Settings Editor button to Preferences dialog, to edit settings.cfg.
13+
- Created backup of settings.cfg to allow recovering some settings when broken upgrades.
14+
- Added current executing keyword and other statuses to TestRunner status bar.
15+
- Added Config Panel button to supported installed Plugins next to their name in Plugin Manager dialog.
16+
- Added Config Panel button to Plugins, working examples in Text Editor and Test Runner.
17+
- Added divided Status Bar. Left side for main window, right side for Plugins. Working example in Text Editor,
18+
when selecting in Tree shows the filename in StatusBar.
19+
20+
=== Changed
21+
- Changed some informative dialogs and JSON Editor to use the customized colors.
22+
- Modified import statements to allow running RIDE without Robot Framework installed or versions older than 6.0.
23+
- On Windows ignore false modification on files when opening Test Suites, causing confirmation dialog.
1024

1125
== https://github.com/robotframework/RIDE/blob/master/doc/releasenotes/ride-2.1.3.rst[2.1.3] - 2025-03-24
1226

@@ -24,6 +38,7 @@ and this project adheres to http://semver.org/spec/v2.0.0.html[Semantic Versioni
2438
- Improved colorization for multiple Gherkin words, for example in the French language.
2539

2640
=== Fixed
41+
- Fixed white blocks on Tree due to failed animation when test execution is too rapid, causing crash on Windows.
2742
- Fixed not set text color on row labels in Grid Editor. Now the General ``secondary foreground`` is applied.
2843
- Fixed multiple scroll bars in Grid Editor when editing Test Cases or Keywords. This caused bad navigation on cells.
2944
- Regression fix from v2.1b1 - Fix wrong item selection, like Test Suite, when doing right-click actions in Project Explorer.

README.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,14 @@ See the https://github.com/robotframework/RIDE/blob/master/doc/releasenotes/ride
3434
**The current development version is based on 2.1.3, supports Python from 3.8 up to 3.13 (24th March 2025).**
3535

3636
Currently, the unit tests are tested on Python 3.10, 3.11 and 3.13 (3.13 is the recommended version).
37-
Likewise, the current version of wxPython, is 4.2.2, but RIDE is known to work with 4.0.7 and 4.1.1 versions.
37+
We now have an experimental workflow on Fedora Linux 41, with wxPython 4.2.3 and Python 3.14.a7.
38+
Likewise, the current version of wxPython, is 4.2.3, but RIDE is known to work with 4.0.7, 4.1.1 and 4.2.2 versions.
3839

3940
(3.8 &lt;= python &lt;= 3.13) Install current released version (*2.1.3*) with:
4041

4142
`pip install -U robotframework-ride`
4243

43-
(3.8 &lt;= python &lt;= 3.13) Install current development version (**2.1.3**) with:
44+
(3.8 &lt;= python &lt;= 3.13) Install current development version (**2.2dev25**) with:
4445

4546
`pip install -U https://github.com/robotframework/RIDE/archive/develop.zip`
4647

pyproject.toml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
[build-system]
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "robotframework-ride"
7+
dynamic = ["version"]
8+
description = "RIDE :: Robot Framework Test Data Editor"
9+
license = "Apache-2.0"
10+
license-files = { paths = ["LICENSE.txt"] }
11+
requires-python = ">=3.8, <3.15"
12+
authors = [
13+
{ name = "Robot Framework Developers", email = "[email protected]" },
14+
]
15+
maintainers = [
16+
{ name = "Hélio Guilherme", email = "[email protected]" },
17+
]
18+
keywords = [
19+
"robotframework",
20+
"testautomation",
21+
"testing",
22+
"test editor",
23+
"IDE",
24+
]
25+
classifiers = [
26+
"Development Status :: 5 - Production/Stable",
27+
"License :: OSI Approved :: Apache Software License",
28+
"Operating System :: OS Independent",
29+
"Programming Language :: Python :: 3.8",
30+
"Programming Language :: Python :: 3.9",
31+
"Programming Language :: Python :: 3.10",
32+
"Programming Language :: Python :: 3.11",
33+
"Programming Language :: Python :: 3.12",
34+
"Programming Language :: Python :: 3.13",
35+
"Programming Language :: Python :: 3.14",
36+
"Topic :: Software Development :: Testing",
37+
]
38+
dependencies = [
39+
"psutil",
40+
"Pygments",
41+
"PyPubSub",
42+
"Pywin32; platform_system == 'Windows'",
43+
"wxPython",
44+
]
45+
46+
[project.urls]
47+
Download = "https://pypi.python.org/pypi/robotframework-ride"
48+
Homepage = "https://github.com/robotframework/RIDE/"
49+
50+
[tool.uv]
51+
# python-preference = "only-system"
52+
53+
[tool.hatch.version]
54+
path = "src/robotide/version.py"
55+
56+
[tool.hatch.build.targets.sdist]
57+
include = [
58+
"/src",
59+
]
60+
[tool.hatch.build.targets.wheel]
61+
packages = ["src/robotide"]
62+
63+
[project.scripts]
64+
ride_postinstall = "robotide.postinstall:main"
65+
66+
[project.gui-scripts]
67+
ride = "robotide:main"
68+
69+
[tool.hatch.envs.test]
70+
dependencies = [
71+
"pytest",
72+
"coverage",
73+
]
74+
75+
[[tool.hatch.envs.test.matrix]]
76+
python = ["3.13"]
77+
version = ["2.1.4"]
78+
79+
[tool.poetry]
80+
name = "robotframework-ride"
81+
version = "2.1.4"
82+
description = "RIDE :: Robot Framework Test Data Editor"
83+
authors = ["Robot Framework Developers <[email protected]>"]
84+
license = "Apache-2.0 license"
85+
readme = "README.adoc"
86+
packages = [{include = "robotide"}]
87+
88+
[tool.poetry.dependencies]
89+
python = "^3.8"
90+
wxPython = "^4.1.1"
91+
pywin32 = { version = "*", markers = "sys_platform == 'win32'" }
92+
pygments = "*"
93+
robotframework = "*"
94+
pypubsub = "*"
95+
psutil = "*"
96+
97+
[tool.poetry.group.test.dependencies]
98+
pytest = "*"
99+
pytest-mock = "*"
100+
coverage = "*"

pytest.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
[pytest]
22
addopts = -p no:warnings --order-group-scope=module
33
pythonpath = src src/robotide/preferences/configobj/src
4+

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def run(self):
115115
package_dir={'': SOURCE_DIR},
116116
packages=find_packages(SOURCE_DIR),
117117
package_data=PACKAGE_DATA,
118-
python_requires='>=3.8, <3.14',
118+
python_requires='>=3.8, <3.15',
119119
# Robot Framework package data is not included, but RIDE does not need it.
120120
# Always install everything, since we may be switching between versions
121121
options={'install': {'force': True}},

0 commit comments

Comments
 (0)