From fd661819887211ca57b4f8d4d3697ad1332bf956 Mon Sep 17 00:00:00 2001 From: Danie1 Date: Fri, 3 Jun 2022 08:57:02 +0300 Subject: [PATCH 01/47] python-tests.yml Run pytest for nurse --- .github/workflows/python-app.yml | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/python-app.yml diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml new file mode 100644 index 0000000..888709d --- /dev/null +++ b/.github/workflows/python-app.yml @@ -0,0 +1,53 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Python application + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Pipenv Install Dependencies + # You may pin to the exact commit or the version. + # uses: VaultVulp/action-pipenv@0e0abc7839b234802947bb8aa1a7c7b8b00a2ff4 + uses: VaultVulp/action-pipenv@v2.0.1 + with: + # pipenv command and its argument to be executed + command: pipenv install --dev + - name: Pipenv Shell + # You may pin to the exact commit or the version. + # uses: VaultVulp/action-pipenv@0e0abc7839b234802947bb8aa1a7c7b8b00a2ff4 + uses: VaultVulp/action-pipenv@v2.0.1 + with: + # pipenv command and its argument to be executed + command: pipenv shell + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + cd nurse + pytest --html=report.html From 07f1c6ad2f97ebea75c4deecf5780a9c85c0ad42 Mon Sep 17 00:00:00 2001 From: Danie1 Date: Fri, 3 Jun 2022 09:26:57 +0300 Subject: [PATCH 02/47] Update python-app.yml --- .github/workflows/python-app.yml | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 888709d..afa40af 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -23,23 +23,10 @@ jobs: uses: actions/setup-python@v3 with: python-version: "3.10" - - name: Pipenv Install Dependencies - # You may pin to the exact commit or the version. - # uses: VaultVulp/action-pipenv@0e0abc7839b234802947bb8aa1a7c7b8b00a2ff4 - uses: VaultVulp/action-pipenv@v2.0.1 - with: - # pipenv command and its argument to be executed - command: pipenv install --dev - - name: Pipenv Shell - # You may pin to the exact commit or the version. - # uses: VaultVulp/action-pipenv@0e0abc7839b234802947bb8aa1a7c7b8b00a2ff4 - uses: VaultVulp/action-pipenv@v2.0.1 - with: - # pipenv command and its argument to be executed - command: pipenv shell - name: Install dependencies run: | python -m pip install --upgrade pip + pip install pipenv pip install flake8 - name: Lint with flake8 run: | @@ -49,5 +36,5 @@ jobs: flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | - cd nurse - pytest --html=report.html + pipenv install --dev + pipenv run pytest --html=report.html From 6e5f58b2fb2fc184b79d05dbea53e7b30ef9c546 Mon Sep 17 00:00:00 2001 From: Danie1 Date: Fri, 3 Jun 2022 09:34:22 +0300 Subject: [PATCH 03/47] Update python-app.xml --- .github/workflows/python-app.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index afa40af..8e9de87 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -27,13 +27,6 @@ jobs: run: | python -m pip install --upgrade pip pip install pipenv - pip install flake8 - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | pipenv install --dev From bc36bf65763e3486c871e6717b9900407ab89324 Mon Sep 17 00:00:00 2001 From: Danie1 Date: Fri, 3 Jun 2022 09:38:01 +0300 Subject: [PATCH 04/47] Update python-app.yml --- .github/workflows/python-app.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 8e9de87..fbfbd2a 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -29,5 +29,6 @@ jobs: pip install pipenv - name: Test with pytest run: | + cd nurse pipenv install --dev pipenv run pytest --html=report.html From 49e8da37e2e603151a73720a7b0806ef40724186 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 22:03:15 +0300 Subject: [PATCH 05/47] Support nurse pytest on Python2 --- .gitignore | 3 +- nurse/tests/common.py | 6 +- .../test_all_questions_asked_in_priority.py | 151 +++++++++--------- nurse/tests/test_commands_output.py | 4 +- .../test_different_checklist_structures.py | 18 +-- nurse/tests/test_extra_info_appears.py | 33 ++-- .../test_files_and_directories_retrieval.py | 23 ++- 7 files changed, 125 insertions(+), 113 deletions(-) diff --git a/.gitignore b/.gitignore index 5262bd2..0ce60ae 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ Pipfile.lock **/__pycache__ **/assets *.html -**/.unotes \ No newline at end of file +**/.unotes +*.pyc \ No newline at end of file diff --git a/nurse/tests/common.py b/nurse/tests/common.py index b8c15cf..083d3fb 100644 --- a/nurse/tests/common.py +++ b/nurse/tests/common.py @@ -30,13 +30,13 @@ def _get_user_input_mock(self, prompt, prefill): prompt = prompt.replace("-> ", "") # assert priority - expected_question = list(self.value.keys())[0] + expected_question = self.value[0][0] assert expected_question == prompt - user_answer = self.value[prompt] + user_answer = self.value[0][1] # it will not be called again - del self.value[prompt] + del self.value[0] return user_answer diff --git a/nurse/tests/test_all_questions_asked_in_priority.py b/nurse/tests/test_all_questions_asked_in_priority.py index e296892..2092850 100644 --- a/nurse/tests/test_all_questions_asked_in_priority.py +++ b/nurse/tests/test_all_questions_asked_in_priority.py @@ -1,21 +1,20 @@ -import pytest from .checklists import checklist_1 from .common import UserInputMocker, TestApp def test_all_questions_asked_in_order_priority_100(mocker): - user_input_dict = {"Question 7" : "Y", - "Question 1" : "Y", - "Followup to Question 1" : "Y", - "Followup to Followup Question 1": "Y", - "Question 8" : "Y", - "Followup to Question 8" : "Y", - "Question 9" : "Y", - "Question 10" : "Y", - "Question 4" : "Y", - "Question 5" : "Y", - "Question 2" : "Y", - "Question 3" : "Y", - "Question 6" : "Y",} + user_input_dict = [("Question 7" , "Y"), + ("Question 1" , "Y"), + ("Followup to Question 1" , "Y"), + ("Followup to Followup Question 1", "Y"), + ("Question 8" , "Y"), + ("Followup to Question 8" , "Y"), + ("Question 9" , "Y"), + ("Question 10" , "Y"), + ("Question 4" , "Y"), + ("Question 5" , "Y"), + ("Question 2" , "Y"), + ("Question 3" , "Y"), + ("Question 6" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) @@ -26,19 +25,19 @@ def test_all_questions_asked_in_order_priority_100(mocker): assert mock.isSuccess() def test_all_questions_asked_in_order_priority_200(mocker): - user_input_dict = {"Question 7" : "Y", - "Question 1" : "Y", - "Followup to Question 1" : "Y", - "Followup to Followup Question 1": "Y", - "Question 2" : "Y", - "Question 8" : "Y", - "Followup to Question 8" : "Y", - "Question 9" : "Y", - "Question 10" : "Y", - "Question 4" : "Y", - "Question 5" : "Y", - "Question 3" : "Y", - "Question 6" : "Y",} + user_input_dict = [("Question 7" , "Y"), + ("Question 1" , "Y"), + ("Followup to Question 1" , "Y"), + ("Followup to Followup Question 1", "Y"), + ("Question 2" , "Y"), + ("Question 8" , "Y"), + ("Followup to Question 8" , "Y"), + ("Question 9" , "Y"), + ("Question 10" , "Y"), + ("Question 4" , "Y"), + ("Question 5" , "Y"), + ("Question 3" , "Y"), + ("Question 6" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) @@ -49,19 +48,19 @@ def test_all_questions_asked_in_order_priority_200(mocker): assert mock.isSuccess() def test_all_questions_asked_in_order_priority_50(mocker): - user_input_dict = {"Question 7" : "Y", - "Question 8" : "Y", - "Followup to Question 8" : "Y", - "Question 9" : "Y", - "Question 10" : "Y", - "Question 4" : "Y", - "Question 5" : "Y", - "Question 1" : "Y", - "Followup to Question 1" : "Y", - "Followup to Followup Question 1": "Y", - "Question 2" : "Y", - "Question 3" : "Y", - "Question 6" : "Y",} + user_input_dict = [("Question 7" , "Y"), + ("Question 8" , "Y"), + ("Followup to Question 8" , "Y"), + ("Question 9" , "Y"), + ("Question 10" , "Y"), + ("Question 4" , "Y"), + ("Question 5" , "Y"), + ("Question 1" , "Y"), + ("Followup to Question 1" , "Y"), + ("Followup to Followup Question 1", "Y"), + ("Question 2" , "Y"), + ("Question 3" , "Y"), + ("Question 6" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) @@ -72,19 +71,19 @@ def test_all_questions_asked_in_order_priority_50(mocker): assert mock.isSuccess() def test_all_questions_asked_in_order_priority_10(mocker): - user_input_dict = {"Question 8" : "Y", - "Followup to Question 8" : "Y", - "Question 9" : "Y", - "Question 10" : "Y", - "Question 4" : "Y", - "Question 5" : "Y", - "Question 7" : "Y", - "Question 1" : "Y", - "Followup to Question 1" : "Y", - "Followup to Followup Question 1": "Y", - "Question 2" : "Y", - "Question 3" : "Y", - "Question 6" : "Y",} + user_input_dict = [("Question 8" , "Y"), + ("Followup to Question 8" , "Y"), + ("Question 9" , "Y"), + ("Question 10" , "Y"), + ("Question 4" , "Y"), + ("Question 5" , "Y"), + ("Question 7" , "Y"), + ("Question 1" , "Y"), + ("Followup to Question 1" , "Y"), + ("Followup to Followup Question 1", "Y"), + ("Question 2" , "Y"), + ("Question 3" , "Y"), + ("Question 6" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) @@ -95,19 +94,19 @@ def test_all_questions_asked_in_order_priority_10(mocker): assert mock.isSuccess() def test_all_questions_asked_in_order_priority_300(mocker): - user_input_dict = {"Question 7" : "Y", - "Question 1" : "Y", - "Followup to Question 1" : "Y", - "Followup to Followup Question 1": "Y", - "Question 2" : "Y", - "Question 8" : "Y", - "Followup to Question 8" : "Y", - "Question 3" : "Y", - "Question 9" : "Y", - "Question 10" : "Y", - "Question 4" : "Y", - "Question 5" : "Y", - "Question 6" : "Y",} + user_input_dict = [("Question 7" , "Y"), + ("Question 1" , "Y"), + ("Followup to Question 1" , "Y"), + ("Followup to Followup Question 1", "Y"), + ("Question 2" , "Y"), + ("Question 8" , "Y"), + ("Followup to Question 8" , "Y"), + ("Question 3", "Y"), + ("Question 9" , "Y"), + ("Question 10" , "Y"), + ("Question 4" , "Y"), + ("Question 5" , "Y"), + ("Question 6" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) @@ -118,16 +117,16 @@ def test_all_questions_asked_in_order_priority_300(mocker): assert mock.isSuccess() def test_all_questions_asked_in_order_priority_300_no_followup(mocker): - user_input_dict = {"Question 7" : "Y", - "Question 1" : "N", - "Question 2" : "Y", - "Question 8" : "N", - "Question 3" : "Y", - "Question 9" : "Y", - "Question 10" : "Y", - "Question 4" : "Y", - "Question 5" : "Y", - "Question 6" : "Y",} + user_input_dict = [("Question 7" , "Y"), + ("Question 1" , "N"), + ("Question 2" , "Y"), + ("Question 8" , "N"), + ("Question 3" , "Y"), + ("Question 9" , "Y"), + ("Question 10" , "Y"), + ("Question 4" , "Y"), + ("Question 5" , "Y"), + ("Question 6" , "Y"),] mock = UserInputMocker(user_input_dict).patch(mocker) diff --git a/nurse/tests/test_commands_output.py b/nurse/tests/test_commands_output.py index 7dbd5c5..3eb1d58 100644 --- a/nurse/tests/test_commands_output.py +++ b/nurse/tests/test_commands_output.py @@ -7,7 +7,7 @@ def test_output_into_file(mocker): expected_archived_paths = ["a/b/c/echo_command.txt", "b/c/d/python_command.txt"] - user_input_dict = {"Question 1" : "Y"} + user_input_dict = [("Question 1" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) @@ -44,7 +44,7 @@ def test_output_into_file(mocker): def test_output_into_file_and_inline(mocker): expected_archived_paths = ["b/c/d/python_command.txt"] - user_input_dict = {"Question 1" : "Y"} + user_input_dict = [("Question 1" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) diff --git a/nurse/tests/test_different_checklist_structures.py b/nurse/tests/test_different_checklist_structures.py index a64440b..7e6e3a6 100644 --- a/nurse/tests/test_different_checklist_structures.py +++ b/nurse/tests/test_different_checklist_structures.py @@ -13,11 +13,11 @@ def test_checklist_no_questions(mocker): assert mock.isSuccess() def test_checklist_numerous_followups(mocker): - user_input_dict = {"Question 1" : "Y", - "Followup 1" : "Y", - "Followup 2" : "Y", - "Followup 3" : "Y", - "Followup of Followup 3" : "Y"} + user_input_dict = [("Question 1" , "Y"), + ("Followup 1" , "Y"), + ("Followup 2" , "Y"), + ("Followup 3" , "Y"), + ("Followup of Followup 3" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) @@ -27,10 +27,10 @@ def test_checklist_numerous_followups(mocker): assert mock.isSuccess() def test_checklist_nested_followups(mocker): - user_input_dict = {"Question 1" : "Y", - "Followup 1" : "Y", - "Followup 2" : "Y", - "Followup 3" : "Y"} + user_input_dict = [("Question 1" , "Y"), + ("Followup 1" , "Y"), + ("Followup 2" , "Y"), + ("Followup 3" , "Y")] mock = UserInputMocker(user_input_dict).patch(mocker) diff --git a/nurse/tests/test_extra_info_appears.py b/nurse/tests/test_extra_info_appears.py index ca97b71..782254f 100644 --- a/nurse/tests/test_extra_info_appears.py +++ b/nurse/tests/test_extra_info_appears.py @@ -1,4 +1,3 @@ -import pytest from nurse import nurse, blank_archiver, checklistjson, asciicolors, NO_DESCRIPTION_MESSAGE from .checklists import checklist_1 from .common import UserInputMocker @@ -8,10 +7,10 @@ def _get_user_input_mock(self, prompt, prefill): prompt = prompt.replace("-> ", "") # assert priority - expected_question = list(self.value.keys())[0] + expected_question = self.value[0][0] assert expected_question in prompt - info = self.value[expected_question] + info = self.value[0][1] for text in info["expected_text"]: assert text in prompt @@ -19,7 +18,7 @@ def _get_user_input_mock(self, prompt, prefill): user_answer = info["user_input"] # it will not be called again - del self.value[expected_question] + del self.value[0] return user_answer @@ -40,19 +39,19 @@ def run(self): ExtraInfoTestApp.__test__ = False def test_all_questions_asked_with_extra_info(mocker): - user_input_dict = {"Question 7" : {"expected_text": ["Description 7"], "user_input": "Y"}, - "Question 1" : {"expected_text": ["Description 1"], "user_input": "Y"}, - "Followup to Question 1" : {"expected_text": [NO_DESCRIPTION_MESSAGE], "user_input": "Y"}, - "Followup to Followup Question 1": {"expected_text": ["Description 20"], "user_input": "Y"}, - "Question 8" : {"expected_text": ["Description 8"], "user_input": "Y"}, - "Followup to Question 8" : {"expected_text": ["Followup Description 8"], "user_input": "Y"}, - "Question 9" : {"expected_text": ["Description 9"], "user_input": "Y"}, - "Question 10" : {"expected_text": [NO_DESCRIPTION_MESSAGE], "user_input":"Y"}, - "Question 4" : {"expected_text": ["Command 1 Description"], "user_input": "Y"}, - "Question 5" : {"expected_text": ["Command 2 Description", "Command 3 Description"], "user_input": "Y"}, - "Question 2" : {"expected_text": ["Description 2"], "user_input": "Y"}, - "Question 3" : {"expected_text": ["Description 3"], "user_input": "Y"}, - "Question 6" : {"expected_text": ["Description 6"], "user_input": "Y"}} + user_input_dict = [("Question 7", {"expected_text": ["Description 7"], "user_input": "Y"}), + ("Question 1", {"expected_text": ["Description 1"], "user_input": "Y"}), + ("Followup to Question 1", {"expected_text": [NO_DESCRIPTION_MESSAGE], "user_input": "Y"}), + ("Followup to Followup Question 1", {"expected_text": ["Description 20"], "user_input": "Y"}), + ("Question 8", {"expected_text": ["Description 8"], "user_input": "Y"}), + ("Followup to Question 8", {"expected_text": ["Followup Description 8"], "user_input": "Y"}), + ("Question 9", {"expected_text": ["Description 9"], "user_input": "Y"}), + ("Question 10", {"expected_text": [NO_DESCRIPTION_MESSAGE], "user_input":"Y"}), + ("Question 4", {"expected_text": ["Command 1 Description"], "user_input": "Y"}), + ("Question 5", {"expected_text": ["Command 2 Description", "Command 3 Description"], "user_input": "Y"}), + ("Question 2", {"expected_text": ["Description 2"], "user_input": "Y"}), + ("Question 3", {"expected_text": ["Description 3"], "user_input": "Y"}), + ("Question 6", {"expected_text": ["Description 6"], "user_input": "Y"})] mock = UserInputExtraInfoMocker(user_input_dict).patch(mocker) diff --git a/nurse/tests/test_files_and_directories_retrieval.py b/nurse/tests/test_files_and_directories_retrieval.py index 365cd63..44cc401 100644 --- a/nurse/tests/test_files_and_directories_retrieval.py +++ b/nurse/tests/test_files_and_directories_retrieval.py @@ -6,6 +6,15 @@ import copy from nurse import nurse, string_to_delta from datetime import datetime, timedelta +import sys +import time + +if sys.version_info[0] == 2: + import errno + + class FileExistsError(OSError): + def __init__(self, msg): + super(FileExistsError, self).__init__(errno.EEXIST, msg) class FilesystemObject(object): def create(self, in_path="."): @@ -21,7 +30,7 @@ def create(self, in_path="."): try: os.mkdir(self.my_path) - except FileExistsError as fe: + except (FileExistsError, OSError) as fe: pass for obj in self.contains: @@ -36,13 +45,17 @@ def __init__(self, name=None, modified_time=None): self.modified_time = modified_time def create(self, in_path="."): + # use this instead of datetime.timestamp to support Python 2.7 + def to_seconds(date): + return time.mktime(date.timetuple()) + self.my_path = os.path.join(in_path, self.name) with open(self.my_path, "w") as fd: fd.write("This is a mock file used for testing purposes.") - new_access_time = datetime.timestamp(datetime.now()) - new_modified_time = datetime.timestamp(self.modified_time) + new_access_time = to_seconds(datetime.now()) + new_modified_time = to_seconds(self.modified_time) os.utime(self.my_path, (new_access_time, new_modified_time)) @@ -53,7 +66,7 @@ def str_to_datetime(string): return datetime.today() + string_to_delta(string) def test_checklist_nested_files(mocker): - user_input_dict = {"Question 1" : "Y"} + user_input_dict = [("Question 1" , "Y")] expected_archived_paths = ["./mock_files/New1.txt", "./mock_files/test_1/New2.txt", @@ -101,7 +114,7 @@ def test_checklist_nested_files(mocker): Tree.delete() def test_checklist_hours_filter(mocker): - user_input_dict = {"Question 1" : "Y"} + user_input_dict = [("Question 1" , "Y")] expected_archived_paths = ["./mock_files/New1.txt"] From 3a094e76aef5809ec869175e0aefcc14eed35931 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 22:26:45 +0300 Subject: [PATCH 06/47] Added matrix support to action --- .../workflows/{python-app.yml => python-tests.yml} | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) rename .github/workflows/{python-app.yml => python-tests.yml} (74%) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-tests.yml similarity index 74% rename from .github/workflows/python-app.yml rename to .github/workflows/python-tests.yml index fbfbd2a..a24d542 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-tests.yml @@ -14,15 +14,18 @@ permissions: jobs: build: - - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + python-version: ['2.7', '3.7', '3.8', '3.9', '3.10', 'pypy2.7', 'pypy3.8'] steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 + - name: Set up Python uses: actions/setup-python@v3 with: - python-version: "3.10" + python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip From a69f43e77755b9288736d8581c994f07427151d1 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 22:27:59 +0300 Subject: [PATCH 07/47] Updated action --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index a24d542..e9cf43f 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['2.7', '3.7', '3.8', '3.9', '3.10', 'pypy2.7', 'pypy3.8'] + python-version: ['2.7', '3.7', '3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v3 From 820715c87eed7f4ca7423db9d76509c3f69afe17 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 22:57:21 +0300 Subject: [PATCH 08/47] Updated action --- .github/workflows/python-tests.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index e9cf43f..d7206e5 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -19,19 +19,29 @@ jobs: matrix: os: [ubuntu-latest] python-version: ['2.7', '3.7', '3.8', '3.9', '3.10'] - + env: + PIPENV_VENV_IN_PROJECT: "enabled" steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} + - name: Cache Dependencies + uses: actions/cache@v2 + id: cache-dependencies + with: + path: ./.venv # since we know that .venv is gonna be created in the current working directory + key: ${{ runner.os }}-pip-${{ hashFiles('**/Pipfile.lock') }} + restore-keys: | + ${{ runner.os }}-pipenv - name: Install dependencies run: | python -m pip install --upgrade pip pip install pipenv - - name: Test with pytest - run: | cd nurse pipenv install --dev + - name: Test with pytest + if: steps.cache-dependencies.outputs.cache-hit != 'true' + run: | pipenv run pytest --html=report.html From 951188104f78b76b0d70a6a13fc76750fabddeb2 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:04:41 +0300 Subject: [PATCH 09/47] Updated action --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index d7206e5..cae6075 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -40,7 +40,7 @@ jobs: python -m pip install --upgrade pip pip install pipenv cd nurse - pipenv install --dev + pipenv install --python=${{ matrix.python-version }} --dev - name: Test with pytest if: steps.cache-dependencies.outputs.cache-hit != 'true' run: | From 42e87a7154d36027807c7996c2d3e70daa6d499d Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:12:43 +0300 Subject: [PATCH 10/47] Updated action --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index cae6075..a1d4658 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -44,4 +44,4 @@ jobs: - name: Test with pytest if: steps.cache-dependencies.outputs.cache-hit != 'true' run: | - pipenv run pytest --html=report.html + pipenv --python=${{ matrix.python-version }} run pytest --html=report.html From 230304ad6265cb2b3bd2f35cf4f3ffb69af6f85c Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:16:51 +0300 Subject: [PATCH 11/47] Updated action --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index a1d4658..ec04b2d 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -40,7 +40,7 @@ jobs: python -m pip install --upgrade pip pip install pipenv cd nurse - pipenv install --python=${{ matrix.python-version }} --dev + pipenv --python=${{ matrix.python-version }} install --dev - name: Test with pytest if: steps.cache-dependencies.outputs.cache-hit != 'true' run: | From 3634c6621cfab04fd82188dca3ac6717366d63d2 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:20:41 +0300 Subject: [PATCH 12/47] Updated action --- .github/workflows/python-tests.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index ec04b2d..78694a3 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -27,14 +27,6 @@ jobs: uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - - name: Cache Dependencies - uses: actions/cache@v2 - id: cache-dependencies - with: - path: ./.venv # since we know that .venv is gonna be created in the current working directory - key: ${{ runner.os }}-pip-${{ hashFiles('**/Pipfile.lock') }} - restore-keys: | - ${{ runner.os }}-pipenv - name: Install dependencies run: | python -m pip install --upgrade pip @@ -42,6 +34,5 @@ jobs: cd nurse pipenv --python=${{ matrix.python-version }} install --dev - name: Test with pytest - if: steps.cache-dependencies.outputs.cache-hit != 'true' run: | pipenv --python=${{ matrix.python-version }} run pytest --html=report.html From 2d4f34ca84be4b28604a939ec88eb466b094422c Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:43:27 +0300 Subject: [PATCH 13/47] Updated action --- .github/workflows/python-tests.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 78694a3..aea9da7 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -27,12 +27,22 @@ jobs: uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} + - name: Cache Dependencies + uses: actions/cache@v2 + id: cache-dependencies + with: + path: ./.venv # since we know that .venv is gonna be created in the current working directory + key: ${{ runner.os }}-${{ matrix.python-version }}-pip-${{ hashFiles('**/Pipfile.lock') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.python-version }}-pipenv - name: Install dependencies + if: steps.cache-pipenv.outputs.cache-hit != 'true' run: | python -m pip install --upgrade pip - pip install pipenv + pip install 'pipenv==2018.11.26' cd nurse pipenv --python=${{ matrix.python-version }} install --dev - name: Test with pytest run: | + cd nurse pipenv --python=${{ matrix.python-version }} run pytest --html=report.html From 973265241d85a42c104e577140e3919be2ec91ac Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:44:56 +0300 Subject: [PATCH 14/47] Updated action --- .github/workflows/python-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index aea9da7..498bf37 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['2.7', '3.7', '3.8', '3.9', '3.10'] + python-version: ['2.7'] #, '3.7', '3.8', '3.9', '3.10'] env: PIPENV_VENV_IN_PROJECT: "enabled" steps: @@ -39,7 +39,7 @@ jobs: if: steps.cache-pipenv.outputs.cache-hit != 'true' run: | python -m pip install --upgrade pip - pip install 'pipenv==2018.11.26' + pip install pipenv cd nurse pipenv --python=${{ matrix.python-version }} install --dev - name: Test with pytest From a2c8fb799a567fee321a50f5bd778e508743ec14 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:47:11 +0300 Subject: [PATCH 15/47] Updated action --- .github/workflows/python-tests.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 498bf37..7759a09 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -35,14 +35,10 @@ jobs: key: ${{ runner.os }}-${{ matrix.python-version }}-pip-${{ hashFiles('**/Pipfile.lock') }} restore-keys: | ${{ runner.os }}-${{ matrix.python-version }}-pipenv - - name: Install dependencies - if: steps.cache-pipenv.outputs.cache-hit != 'true' + - name: Install dependencies and run pytest run: | python -m pip install --upgrade pip pip install pipenv cd nurse pipenv --python=${{ matrix.python-version }} install --dev - - name: Test with pytest - run: | - cd nurse pipenv --python=${{ matrix.python-version }} run pytest --html=report.html From 85309d08d3ccb37316ff932502d17cee12433c06 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:51:22 +0300 Subject: [PATCH 16/47] Updated action --- .github/workflows/python-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 7759a09..81d56f2 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -40,5 +40,5 @@ jobs: python -m pip install --upgrade pip pip install pipenv cd nurse - pipenv --python=${{ matrix.python-version }} install --dev - pipenv --python=${{ matrix.python-version }} run pytest --html=report.html + pipenv install --dev + pipenv run pytest --html=report.html From 9a4afc7adfa6f61ba0b23330333b50a52208a15c Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Sun, 5 Jun 2022 23:57:04 +0300 Subject: [PATCH 17/47] Updated action --- .github/workflows/python-tests.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 81d56f2..e24c87f 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -23,22 +23,15 @@ jobs: PIPENV_VENV_IN_PROJECT: "enabled" steps: - uses: actions/checkout@v3 + - name: Install pipenv + run: pipx install pipenv - name: Set up Python uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - - name: Cache Dependencies - uses: actions/cache@v2 - id: cache-dependencies - with: - path: ./.venv # since we know that .venv is gonna be created in the current working directory - key: ${{ runner.os }}-${{ matrix.python-version }}-pip-${{ hashFiles('**/Pipfile.lock') }} - restore-keys: | - ${{ runner.os }}-${{ matrix.python-version }}-pipenv + cache: 'pipenv' - name: Install dependencies and run pytest run: | - python -m pip install --upgrade pip - pip install pipenv cd nurse pipenv install --dev pipenv run pytest --html=report.html From 2c9c4b508380dc1b2e54dd1212189031c30779b2 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 00:01:06 +0300 Subject: [PATCH 18/47] Updated action --- .github/workflows/python-tests.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index e24c87f..6b280b0 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -23,15 +23,22 @@ jobs: PIPENV_VENV_IN_PROJECT: "enabled" steps: - uses: actions/checkout@v3 - - name: Install pipenv - run: pipx install pipenv - name: Set up Python uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - cache: 'pipenv' + - name: Cache Dependencies + uses: actions/cache@v2 + id: cache-dependencies + with: + path: ./.venv # since we know that .venv is gonna be created in the current working directory + key: ${{ runner.os }}-${{ matrix.python-version }}-pip-${{ hashFiles('**/Pipfile.lock') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.python-version }}-pipenv - name: Install dependencies and run pytest run: | + python -m pip install --upgrade pip + pip install pipenv cd nurse - pipenv install --dev - pipenv run pytest --html=report.html + pipenv --python ${{ matrix.python-version }} install --dev + pipenv --python ${{ matrix.python-version }} run pytest --html=report.html From 8756b0f10b4172a1b1efb5477f1dfee2f1da5c88 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 00:02:23 +0300 Subject: [PATCH 19/47] Updated action --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 6b280b0..565fec8 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -31,7 +31,7 @@ jobs: uses: actions/cache@v2 id: cache-dependencies with: - path: ./.venv # since we know that .venv is gonna be created in the current working directory + path: ./nurse/.venv # since we know that .venv is gonna be created in the current working directory key: ${{ runner.os }}-${{ matrix.python-version }}-pip-${{ hashFiles('**/Pipfile.lock') }} restore-keys: | ${{ runner.os }}-${{ matrix.python-version }}-pipenv From 8dce3df5bba8d44e1238e162901d1ebead062f8c Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 00:10:12 +0300 Subject: [PATCH 20/47] Updated action --- .github/workflows/python-tests.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 565fec8..16ec3cd 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -18,26 +18,16 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['2.7'] #, '3.7', '3.8', '3.9', '3.10'] - env: - PIPENV_VENV_IN_PROJECT: "enabled" + python-version: ['3.10'] #, '3.7', '3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - - name: Cache Dependencies - uses: actions/cache@v2 - id: cache-dependencies - with: - path: ./nurse/.venv # since we know that .venv is gonna be created in the current working directory - key: ${{ runner.os }}-${{ matrix.python-version }}-pip-${{ hashFiles('**/Pipfile.lock') }} - restore-keys: | - ${{ runner.os }}-${{ matrix.python-version }}-pipenv + cache: 'pipenv' - name: Install dependencies and run pytest run: | - python -m pip install --upgrade pip pip install pipenv cd nurse pipenv --python ${{ matrix.python-version }} install --dev From 51d344266b1882495d7a99ecbe56d8c720478034 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 00:10:56 +0300 Subject: [PATCH 21/47] Updated action --- .github/workflows/python-tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 16ec3cd..ce7e855 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -25,7 +25,6 @@ jobs: uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - cache: 'pipenv' - name: Install dependencies and run pytest run: | pip install pipenv From 52760206c34fa083b75b4ca2f28a45d262108072 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 00:12:38 +0300 Subject: [PATCH 22/47] Updated action --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index ce7e855..495a5e0 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.10'] #, '3.7', '3.8', '3.9', '3.10'] + python-version: ['3.7', '3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v3 - name: Set up Python From 8d7ba668df68e177fe3e32c9d67d44fb4fd38359 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 00:16:19 +0300 Subject: [PATCH 23/47] Updated action --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 495a5e0..9e0debc 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.7', '3.8', '3.9', '3.10'] + python-version: ['2.7', '3.7', '3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v3 - name: Set up Python From 909c349d16b9feedf3b1ded1bb9d0a00b64247eb Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 00:20:27 +0300 Subject: [PATCH 24/47] Updated action --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 9e0debc..a69137b 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -30,4 +30,4 @@ jobs: pip install pipenv cd nurse pipenv --python ${{ matrix.python-version }} install --dev - pipenv --python ${{ matrix.python-version }} run pytest --html=report.html + pipenv run pytest --html=report.html From ebae2050e5ab5fd6c03a168c4b5e178fef9ec467 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 00:26:09 +0300 Subject: [PATCH 25/47] Updated action --- .github/workflows/python-tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index a69137b..15a40e3 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -17,8 +17,9 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, macos-latest, windows-latest] python-version: ['2.7', '3.7', '3.8', '3.9', '3.10'] + fail-fast: false steps: - uses: actions/checkout@v3 - name: Set up Python From 231191004104fff63a238b75b4928f3e6c27a241 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 10:57:52 +0300 Subject: [PATCH 26/47] Fix issue --- nurse/nurse.py | 1 - 1 file changed, 1 deletion(-) diff --git a/nurse/nurse.py b/nurse/nurse.py index a8b5b2c..472efeb 100755 --- a/nurse/nurse.py +++ b/nurse/nurse.py @@ -3,7 +3,6 @@ import datetime import os import sys, traceback -import pwd from zipfile import ZipFile import json import copy From 39dea7d535a409d7e4ca8b811ccf899300d5da37 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 12:29:19 +0300 Subject: [PATCH 27/47] Fix issue --- .github/workflows/python-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 15a40e3..aa78b6d 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -17,8 +17,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['2.7', '3.7', '3.8', '3.9', '3.10'] + os: [ubuntu-latest, macos-latest] + python-version: ['2.7', ,'3.1', '3.2', '3.3', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] fail-fast: false steps: - uses: actions/checkout@v3 From cfd9c84a28524d36476bfe2e237f50de7949c1c8 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 12:29:50 +0300 Subject: [PATCH 28/47] Fix issue --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index aa78b6d..cac8c0d 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - python-version: ['2.7', ,'3.1', '3.2', '3.3', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] + python-version: ['2.7','3.1', '3.2', '3.3', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] fail-fast: false steps: - uses: actions/checkout@v3 From 149613444fe67ec6cadfd9bea1caba5bea3f8905 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 13:36:40 +0300 Subject: [PATCH 29/47] Fix issue --- .github/workflows/python-tests.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index cac8c0d..390029c 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -18,7 +18,10 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - python-version: ['2.7','3.1', '3.2', '3.3', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] + python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] + include: + - os: ubuntu-18.04 + python-version: ['3.1', '3.2', '3.3', '3.4'] fail-fast: false steps: - uses: actions/checkout@v3 From 957de639e958600d5a3e516c24cf41bb9ad63355 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 13:37:32 +0300 Subject: [PATCH 30/47] Fix issue --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 390029c..85d95d7 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -21,7 +21,7 @@ jobs: python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] include: - os: ubuntu-18.04 - python-version: ['3.1', '3.2', '3.3', '3.4'] + python-version: '3.3' fail-fast: false steps: - uses: actions/checkout@v3 From 795faa4315c74a7b9f84f67ae7008cfd9e6c0fcc Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Mon, 6 Jun 2022 13:46:27 +0300 Subject: [PATCH 31/47] Fix issue --- .github/workflows/python-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 85d95d7..77d6272 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -21,7 +21,7 @@ jobs: python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] include: - os: ubuntu-18.04 - python-version: '3.3' + python-version: '3.4' fail-fast: false steps: - uses: actions/checkout@v3 From fb29cdcfff2cc5076f588bfca1d682a3942035f7 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Tue, 7 Jun 2022 10:00:37 +0300 Subject: [PATCH 32/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 52 +++++++++++++++++++++ .github/workflows/python-tests.yml | 3 -- .gitignore | 5 +- nurse/README.md | 1 + 4 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/python-tests-coverage.yml diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml new file mode 100644 index 0000000..67eb192 --- /dev/null +++ b/.github/workflows/python-tests-coverage.yml @@ -0,0 +1,52 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Python application + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + python-version: ['3.10'] + fail-fast: false + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies and run pytest + run: | + pip install pipenv + cd nurse + pipenv --python ${{ matrix.python-version }} install --dev + pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=app tests/ | tee pytest-coverage.txt + - name: Pytest coverage comment + uses: MishaKav/pytest-coverage-comment@main + with: + pytest-coverage-path: ./pytest-coverage.txt + junitxml-path: ./pytest.xml + - name: Pytest coverage comment + uses: MishaKav/pytest-coverage-comment@main + with: + pytest-coverage-path: ./pytest-coverage.txt + title: Coverage Report + badge-title: Coverage Badge + hide-badge: false + hide-report: false + create-new-comment: false + hide-comment: false + report-only-changed-files: false + junitxml-path: ./pytest.xml + junitxml-title: JUnit Xml Summary \ No newline at end of file diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 77d6272..0dcf22f 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -19,9 +19,6 @@ jobs: matrix: os: [ubuntu-latest, macos-latest] python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] - include: - - os: ubuntu-18.04 - python-version: '3.4' fail-fast: false steps: - uses: actions/checkout@v3 diff --git a/.gitignore b/.gitignore index 0ce60ae..a637a50 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,7 @@ Pipfile.lock **/assets *.html **/.unotes -*.pyc \ No newline at end of file +*.pyc +.coverage +pytest.xml +pytest-coverage.txt \ No newline at end of file diff --git a/nurse/README.md b/nurse/README.md index 535998c..6c4331e 100644 --- a/nurse/README.md +++ b/nurse/README.md @@ -7,6 +7,7 @@ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═══╝ ╚═╝ ``` +[![Pytest](https://github.com/Danie1/atyourservice/actions/workflows/python-tests.yml/badge.svg)](https://github.com/Danie1/atyourservice/actions/workflows/python-tests.yml) - - - `nurse.py` is a command-line tool to retrieve diagnostic information from user's environments with their consent. From 083353a51a78547d11747a74502204780e3a2c1c Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Tue, 7 Jun 2022 10:03:41 +0300 Subject: [PATCH 33/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index 67eb192..0457349 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -35,12 +35,12 @@ jobs: - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: - pytest-coverage-path: ./pytest-coverage.txt - junitxml-path: ./pytest.xml + pytest-coverage-path: nurse/pytest-coverage.txt + junitxml-path: nurse/pytest.xml - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: - pytest-coverage-path: ./pytest-coverage.txt + pytest-coverage-path: nurse/pytest-coverage.txt title: Coverage Report badge-title: Coverage Badge hide-badge: false @@ -48,5 +48,5 @@ jobs: create-new-comment: false hide-comment: false report-only-changed-files: false - junitxml-path: ./pytest.xml + junitxml-path: nurse/pytest.xml junitxml-title: JUnit Xml Summary \ No newline at end of file From 237a48024949e901f618b4149261bfe8f7026ee9 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Tue, 7 Jun 2022 10:05:38 +0300 Subject: [PATCH 34/47] Fix issue --- nurse/Pipfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nurse/Pipfile b/nurse/Pipfile index c581d27..2fb475d 100644 --- a/nurse/Pipfile +++ b/nurse/Pipfile @@ -8,4 +8,5 @@ name = "pypi" [dev-packages] pytest = "*" pytest-html = "*" -pytest-mock = "*" \ No newline at end of file +pytest-mock = "*" +pytest-cov = "*" \ No newline at end of file From e0c96699e089581db07b6c93a461344235154284 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Tue, 7 Jun 2022 10:32:42 +0300 Subject: [PATCH 35/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index 0457349..7f244a8 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -31,7 +31,7 @@ jobs: pip install pipenv cd nurse pipenv --python ${{ matrix.python-version }} install --dev - pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=app tests/ | tee pytest-coverage.txt + pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=. tests/ | tee pytest-coverage.txt - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: From 8df6c56f3d0adebad6bda8e5ee56c7b7b67c5d89 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Tue, 7 Jun 2022 10:56:17 +0300 Subject: [PATCH 36/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index 7f244a8..b3ecf75 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -11,6 +11,8 @@ on: permissions: contents: read + issues: write + pull-requests: write jobs: build: From 9f52de972c89c0484c259e7cc44905c0bbbe2962 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Tue, 7 Jun 2022 11:00:31 +0300 Subject: [PATCH 37/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index b3ecf75..40636ce 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -31,18 +31,17 @@ jobs: - name: Install dependencies and run pytest run: | pip install pipenv - cd nurse pipenv --python ${{ matrix.python-version }} install --dev - pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=. tests/ | tee pytest-coverage.txt + pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=. nurse/tests/ | tee pytest-coverage.txt - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: - pytest-coverage-path: nurse/pytest-coverage.txt - junitxml-path: nurse/pytest.xml + pytest-coverage-path: pytest-coverage.txt + junitxml-path: pytest.xml - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: - pytest-coverage-path: nurse/pytest-coverage.txt + pytest-coverage-path: pytest-coverage.txt title: Coverage Report badge-title: Coverage Badge hide-badge: false @@ -50,5 +49,5 @@ jobs: create-new-comment: false hide-comment: false report-only-changed-files: false - junitxml-path: nurse/pytest.xml + junitxml-path: pytest.xml junitxml-title: JUnit Xml Summary \ No newline at end of file From 30039bed5e584046f26ebc92998aae15eef52474 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Wed, 8 Jun 2022 13:51:05 +0300 Subject: [PATCH 38/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index 40636ce..3ec4647 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -32,16 +32,17 @@ jobs: run: | pip install pipenv pipenv --python ${{ matrix.python-version }} install --dev - pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=. nurse/tests/ | tee pytest-coverage.txt + cd nurse + pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=. tests/ | tee pytest-coverage.txt - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: - pytest-coverage-path: pytest-coverage.txt - junitxml-path: pytest.xml + pytest-coverage-path: nurse/pytest-coverage.txt + junitxml-path: nurse/pytest.xml - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: - pytest-coverage-path: pytest-coverage.txt + pytest-coverage-path: nurse/pytest-coverage.txt title: Coverage Report badge-title: Coverage Badge hide-badge: false @@ -49,5 +50,5 @@ jobs: create-new-comment: false hide-comment: false report-only-changed-files: false - junitxml-path: pytest.xml + junitxml-path: nurse/pytest.xml junitxml-title: JUnit Xml Summary \ No newline at end of file From 8058876d972e168f53e9173cdb56e4996bd44c7b Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Wed, 8 Jun 2022 13:54:51 +0300 Subject: [PATCH 39/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index 3ec4647..b3ecf75 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -31,8 +31,8 @@ jobs: - name: Install dependencies and run pytest run: | pip install pipenv - pipenv --python ${{ matrix.python-version }} install --dev cd nurse + pipenv --python ${{ matrix.python-version }} install --dev pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=. tests/ | tee pytest-coverage.txt - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main From 4bbdc189aa7dd9b5aff39f94aaf2878b4c9943e4 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Wed, 8 Jun 2022 15:59:42 +0300 Subject: [PATCH 40/47] Fix issue --- nurse/.coveragerc | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 nurse/.coveragerc diff --git a/nurse/.coveragerc b/nurse/.coveragerc new file mode 100644 index 0000000..3dbfbb4 --- /dev/null +++ b/nurse/.coveragerc @@ -0,0 +1,2 @@ +[run] +omit = tests/* \ No newline at end of file From dea288180f9aff6050049ff286e998fe38e33f00 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Thu, 9 Jun 2022 18:22:44 +0300 Subject: [PATCH 41/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 12 +++++++++++- nurse/README.md | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index b3ecf75..fc479ff 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -51,4 +51,14 @@ jobs: hide-comment: false report-only-changed-files: false junitxml-path: nurse/pytest.xml - junitxml-title: JUnit Xml Summary \ No newline at end of file + junitxml-title: JUnit Xml Summary + - name: Create the Badge + uses: schneegans/dynamic-badges-action@v1.0.0 + with: + auth: ${{ secrets.PYTEST_COVERAGE_COMMENT }} + gistID: 5e90d640f8c212ab7bbac38f72323f80 + filename: pytest-coverage-comment__main.json + label: Pytest Coverage + message: ${{ steps.coverageComment.outputs.coverage }} + color: ${{ steps.coverageComment.outputs.color }} + namedLogo: python \ No newline at end of file diff --git a/nurse/README.md b/nurse/README.md index 6c4331e..b3e29a2 100644 --- a/nurse/README.md +++ b/nurse/README.md @@ -8,6 +8,7 @@ ``` [![Pytest](https://github.com/Danie1/atyourservice/actions/workflows/python-tests.yml/badge.svg)](https://github.com/Danie1/atyourservice/actions/workflows/python-tests.yml) +![Auto Updating Coverage Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/atyourservice/5e90d640f8c212ab7bbac38f72323f80/raw/pytest-coverage-comment__main.json) - - - `nurse.py` is a command-line tool to retrieve diagnostic information from user's environments with their consent. From 42bc10a9047e376b88bd13ee6ca333d293bb2b68 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Thu, 9 Jun 2022 18:23:44 +0300 Subject: [PATCH 42/47] Fix issue --- .github/workflows/python-tests-coverage.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index fc479ff..decaf71 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -53,12 +53,12 @@ jobs: junitxml-path: nurse/pytest.xml junitxml-title: JUnit Xml Summary - name: Create the Badge - uses: schneegans/dynamic-badges-action@v1.0.0 - with: - auth: ${{ secrets.PYTEST_COVERAGE_COMMENT }} - gistID: 5e90d640f8c212ab7bbac38f72323f80 - filename: pytest-coverage-comment__main.json - label: Pytest Coverage - message: ${{ steps.coverageComment.outputs.coverage }} - color: ${{ steps.coverageComment.outputs.color }} - namedLogo: python \ No newline at end of file + uses: schneegans/dynamic-badges-action@v1.0.0 + with: + auth: ${{ secrets.PYTEST_COVERAGE_COMMENT }} + gistID: 5e90d640f8c212ab7bbac38f72323f80 + filename: pytest-coverage-comment__main.json + label: Pytest Coverage + message: ${{ steps.coverageComment.outputs.coverage }} + color: ${{ steps.coverageComment.outputs.color }} + namedLogo: python \ No newline at end of file From 6d44794f9d5e7e152c8dba289d501e2e4aedf554 Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Wed, 29 Jun 2022 14:06:10 +0300 Subject: [PATCH 43/47] Fix --- .github/workflows/python-tests-coverage.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index decaf71..b3ecf75 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -51,14 +51,4 @@ jobs: hide-comment: false report-only-changed-files: false junitxml-path: nurse/pytest.xml - junitxml-title: JUnit Xml Summary - - name: Create the Badge - uses: schneegans/dynamic-badges-action@v1.0.0 - with: - auth: ${{ secrets.PYTEST_COVERAGE_COMMENT }} - gistID: 5e90d640f8c212ab7bbac38f72323f80 - filename: pytest-coverage-comment__main.json - label: Pytest Coverage - message: ${{ steps.coverageComment.outputs.coverage }} - color: ${{ steps.coverageComment.outputs.color }} - namedLogo: python \ No newline at end of file + junitxml-title: JUnit Xml Summary \ No newline at end of file From 36f698e2a41707ef5cb680c57953a43123f2d45d Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Wed, 29 Jun 2022 14:06:53 +0300 Subject: [PATCH 44/47] Fix --- .github/workflows/python-tests-coverage.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/python-tests-coverage.yml b/.github/workflows/python-tests-coverage.yml index b3ecf75..9a4679b 100644 --- a/.github/workflows/python-tests-coverage.yml +++ b/.github/workflows/python-tests-coverage.yml @@ -34,11 +34,6 @@ jobs: cd nurse pipenv --python ${{ matrix.python-version }} install --dev pipenv run pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=. tests/ | tee pytest-coverage.txt - - name: Pytest coverage comment - uses: MishaKav/pytest-coverage-comment@main - with: - pytest-coverage-path: nurse/pytest-coverage.txt - junitxml-path: nurse/pytest.xml - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: From 1c4d358512c5c860fb0a5ae8a691fead2f6ad90e Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Wed, 29 Jun 2022 14:14:21 +0300 Subject: [PATCH 45/47] Fix --- nurse/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nurse/README.md b/nurse/README.md index b3e29a2..95ebf8d 100644 --- a/nurse/README.md +++ b/nurse/README.md @@ -7,8 +7,7 @@ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═══╝ ╚═╝ ``` -[![Pytest](https://github.com/Danie1/atyourservice/actions/workflows/python-tests.yml/badge.svg)](https://github.com/Danie1/atyourservice/actions/workflows/python-tests.yml) -![Auto Updating Coverage Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/atyourservice/5e90d640f8c212ab7bbac38f72323f80/raw/pytest-coverage-comment__main.json) +[![Pytest](https://github.com/cyberark/atyourservice/actions/workflows/python-tests.yml/badge.svg)](https://github.com/cyberark/atyourservice/actions/workflows/python-tests.yml) - - - `nurse.py` is a command-line tool to retrieve diagnostic information from user's environments with their consent. From fc0dfba98869df9d78ee2514df375e8e949f353a Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Wed, 29 Jun 2022 14:19:02 +0300 Subject: [PATCH 46/47] Fix --- .github/workflows/python-tests.yml | 34 ------------------------------ 1 file changed, 34 deletions(-) delete mode 100644 .github/workflows/python-tests.yml diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml deleted file mode 100644 index 0dcf22f..0000000 --- a/.github/workflows/python-tests.yml +++ /dev/null @@ -1,34 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - -name: Python application - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -permissions: - contents: read - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, macos-latest] - python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies and run pytest - run: | - pip install pipenv - cd nurse - pipenv --python ${{ matrix.python-version }} install --dev - pipenv run pytest --html=report.html From ac50f6ffac20caecf4653d3e582ad5e1a247c6ef Mon Sep 17 00:00:00 2001 From: Daniel Saad Date: Wed, 29 Jun 2022 14:19:22 +0300 Subject: [PATCH 47/47] Fix --- .github/workflows/python-tests-platforms.yml | 34 ++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/python-tests-platforms.yml diff --git a/.github/workflows/python-tests-platforms.yml b/.github/workflows/python-tests-platforms.yml new file mode 100644 index 0000000..0dcf22f --- /dev/null +++ b/.github/workflows/python-tests-platforms.yml @@ -0,0 +1,34 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Python application + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10'] + fail-fast: false + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies and run pytest + run: | + pip install pipenv + cd nurse + pipenv --python ${{ matrix.python-version }} install --dev + pipenv run pytest --html=report.html