From 5a109a3886410cea01878d6a8351a111a2510f86 Mon Sep 17 00:00:00 2001 From: real-yfprojects Date: Mon, 6 Feb 2023 12:55:39 +0100 Subject: [PATCH] Unify `task outline` section to use the imperative (vorta). --- Google-Summer-of-Code-2023-Ideas.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/Google-Summer-of-Code-2023-Ideas.md b/Google-Summer-of-Code-2023-Ideas.md index d4f5733..75647a5 100644 --- a/Google-Summer-of-Code-2023-Ideas.md +++ b/Google-Summer-of-Code-2023-Ideas.md @@ -51,7 +51,12 @@ These are tasks you can work on. You can combine any number of tasks, so they ad **Length**: 175 hours
**Skills required**: Python, Qt, Unix desktop
**Description**: Currently users exclude files by adding text rules, like `/tmp/cache/*.tmp`. It is often confusing and we'd like to add a GUI, as well as pre-defined rules for it. E.g. one could choose to exclude common macOS cache files.
-**Task outline**: Create a list of sensible default files to exclude. Possibly grouped, so users can choose to enable parts of them. Decide on way to store exclusions, do mockup of GUI (partly done), implement as Qt UI file, implement parsing exclusion rules to Borg input.
+**Task outline**: +Create a list of sensible default files to exclude. +Possibly grouped, so users can choose to enable parts of them. +Decide on way to store exclusions. +Do mockup of GUI (partly done). +Implement as Qt UI file. Implement parsing exclusion rules to Borg input.
**Additional details**: See [this issue](https://github.com/borgbase/vorta/issues/907) for discussions about the GUI part and [here](https://github.com/borgbase/vorta/issues/907#issuecomment-1282309557) for suggested exclusion rules.
**Possible mentors**: [@real-yfprojects][real-yfprojects], [@m3nu][m3nu], [@Hofer-Julian][Hofer-Julian] @@ -77,7 +82,11 @@ Adjust the existing vorta code to use/work with the new dialog.
**Length**: 25 hours
**Skills required**: Python, Unix, OpenSSH
**Description**: It's easy to add a dependency but hard to remove it. We found that it's not really essential for our application to parse each SSH key a user has. So this task would remove Paramiko and just do a rudimentary check to see if a file is a private SSH key.
-**Task outline**: You will first research and confirm the format of OpenSSH keys. Then build a function to identify one, given a file path. Then use this function in place of Paramiko. Also includes test cases for all steps.
+**Task outline**: +Research and confirm the format of OpenSSH keys. +Build a function to identify one, given a file path. +Replace usage of Paramiko with this function. +Also includes test cases for all steps.
**Additional details**: See [this issue](https://github.com/borgbase/vorta/issues/1559)
**Possible mentors**: [@real-yfprojects][real-yfprojects], [@m3nu][m3nu], [@Hofer-Julian][Hofer-Julian] @@ -86,7 +95,10 @@ Adjust the existing vorta code to use/work with the new dialog.
**Length**: 90 hours
**Skills required**: Python, Pytest
**Description**: It's fun to add new features, but the actual work is maintaining them over time, as the code around it changes. This task would aim to increase the coverage output by the `coverage` tool from ~65% to ~80% by cleaning up existing tests, using parameterization and adding more unit tests (as opposed to higher-level integration tests we use now).
-**Task outline**: You will look at each Vorta package and module to find corresponding existing tests. Then use consistent file naming for existing tests and add missing tests (especially unit tests).
+**Task outline**: +Look at each Vorta package and module to find corresponding existing tests. +Analyse the test coverage and determine which additional tests are needed. +Then use consistent file naming for existing tests and add missing tests (especially unit tests).
**Additional details**: TODO
**Possible mentors**: [@real-yfprojects][real-yfprojects], [@m3nu][m3nu], [@Hofer-Julian][Hofer-Julian] @@ -95,7 +107,9 @@ Adjust the existing vorta code to use/work with the new dialog.
**Length**: 175 hours
**Skills required**: Python, Unix, Shell
**Description**: Currently we test on static mock files of Borg JSON output. That means our tests don't actually run Borg, but take some existing output. This is not optimal because we already support 3 major Borg versions and can only add mock files for one. This task would improve testing to run on multiple actual Borg versions/binaries.
-**Task outline**: You will build a testing utility that can run a Vorta tests on multiple versions of Borg. Maybe using Tox or some kind of script. (TODO: Expand)
+**Task outline**: +Research how to create multiple environments with different borg versions to run tests in. This might work differently in the CI (on the server) and local developer machines. +Build a testing utility that can run the existing Vorta tests on multiple versions of Borg. (You can use a tool like Tox or write your own script.)
**Additional details**: TODO
**Possible mentors**: [@real-yfprojects][real-yfprojects], [@m3nu][m3nu], [@Hofer-Julian][Hofer-Julian]