pyrdp
pyrdp copied to clipboard
CI improvements
Here are some ideas to test some parts that are not tested yet in the current CI or generally improve the CI/CD pipeline:
- [x] Test the launch of pyrdp-mitm.py (no errors). This can allow slight testing of the configuration file in #191 (for example to make sure that config.default.ini is a valid config file). It can also test execution of most of the content in pyrdp-mitm.py SEE #202
- [x] Ubuntu
- [x] Windows
- [x] Test replaying a session with the headless pyrdp player. This would allow to detect errors in most of the player's business logic, but wouldnt test Qt. SEE #202
- [x] Ubuntu
- [x] Windows
- [ ] Test the pyrdp-extractor in #188. Similar to the previous two points.
- [ ] Ubuntu
- [ ] Windows
- [x] Test with a pcap that is using GDI in #187 . That would be very similar to the current integration test but for a session using GDI
- [x] Ubuntu
- [x] Windows
- [ ] Find a way to address the synchronization problem in the current integration test to allow to test the device redirection channel.
- [ ] Test with many python versions (can be done using the matrix settings of github workflows)
~Add a different github workflow to push a docker image on the PyRDP Docker Registry to have PyRDP-latest, synced with Master~ (see comments)
Add a different github workflow to push a docker image on the PyRDP Docker Registry to have PyRDP-latest, synced with Master
This is already done from DockerHub. latest
and integration
image tags are automatically updated from GitHub branches master and integration. Notifications for success/failure integrated into our work slack. Tagged releases are automatically converted into a tag image too. Ie: gosecure/pyrdp:0.4.1
.
Although we could build via GitHub Actions, the complicated setup required (OAuth tokens, machine accounts, configuration, etc.) has already been done so it would need to offer a substantial benefit to switching over to it.
Makes sense I thought it was a manual process!
Added
- [x] Test with many python versions (can be done using the matrix settings of github workflows)
Lately I added a test with a replay (not a pcap) with GDI content in it. I ticked the appropriate boxes from this issue's task list.