From fea115a72a036a1a08f547197eda8fa138e72254 Mon Sep 17 00:00:00 2001 From: Jace Browning Date: Sat, 5 Mar 2022 11:53:37 -0500 Subject: [PATCH 01/30] Switch to Codecov --- .github/workflows/execute-tests.yml | 5 +++++ .vscode/settings.json | 1 + README.md | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 793ae5196..a61e7d106 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -64,6 +64,11 @@ jobs: - name: Run tests run: make test + - name: Upload coverage + uses: codecov/codecov-action@v1 + with: + fail_ci_if_error: true + - name: Run checks run: make check diff --git a/.vscode/settings.json b/.vscode/settings.json index c3794bedb..38b54e527 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,6 +18,7 @@ "choco", "clevel", "cname", + "codecov", "codeql", "cors", "curr", diff --git a/README.md b/README.md index 4bc57762e..f9f78a6a4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Mac OS X Test](https://github.com/doorstop-dev/doorstop/actions/workflows/test-osx.yml/badge.svg)](https://github.com/doorstop-dev/doorstop/actions/workflows/test-osx.yml) [![Windows Test](https://github.com/doorstop-dev/doorstop/actions/workflows/test-windows.yml/badge.svg)](https://github.com/doorstop-dev/doorstop/actions/workflows/test-windows.yml)
-[![Coverage Status](http://img.shields.io/coveralls/doorstop-dev/doorstop/develop.svg)](https://coveralls.io/r/doorstop-dev/doorstop) +[![Coverage Status](https://img.shields.io/codecov/c/gh/doorstop-dev/doorstop)](https://codecov.io/gh/doorstop-dev/doorstop) [![Scrutinizer Code Quality](http://img.shields.io/scrutinizer/g/doorstop-dev/doorstop.svg)](https://scrutinizer-ci.com/g/doorstop-dev/doorstop/?branch=develop) [![PyPI Version](http://img.shields.io/pypi/v/Doorstop.svg)](https://pypi.org/project/Doorstop)
From 0c85daa4fea6f39a48612c6eaf6a910aad84c195 Mon Sep 17 00:00:00 2001 From: Jace Browning Date: Sat, 5 Mar 2022 11:58:22 -0500 Subject: [PATCH 02/30] Enable XML coverage reports --- .gitignore | 1 + Makefile | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 6a379fba4..f1492e68f 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ Icon* /pyunit.xml /tmp/ *.tmp +coverage.xml # Build and release directories /build/ diff --git a/Makefile b/Makefile index f02059d94..43f884c5c 100644 --- a/Makefile +++ b/Makefile @@ -82,6 +82,9 @@ PYTEST_OPTIONS := --doctest-modules ifndef DISABLE_COVERAGE PYTEST_OPTIONS += --cov=$(PACKAGE) --cov-report=html --cov-report=term-missing endif +ifdef CI +PYTEST_OPTIONS += --cov-report=xml +endif .PHONY: test test: test-all ## Run unit and integration tests From 7b516f7321f715a2259cba567ca4b1d3760825e1 Mon Sep 17 00:00:00 2001 From: Jace Browning Date: Sat, 5 Mar 2022 12:09:26 -0500 Subject: [PATCH 03/30] Upgrade Markdown --- poetry.lock | 10 +++++----- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/poetry.lock b/poetry.lock index ce8c3ee30..35244babd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -285,14 +285,14 @@ altgraph = ">=0.15" [[package]] name = "markdown" -version = "3.3.3" +version = "3.3.6" description = "Python implementation of Markdown." category = "main" optional = false python-versions = ">=3.6" [package.dependencies] -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} +importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] testing = ["coverage", "pyyaml"] @@ -806,7 +806,7 @@ testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "aa2e865ef9910d636a123e651287443a9a4b664ac7edbe4f02f8434298216cdd" +content-hash = "cb70db8182546d40ee7f560cdd7c034c505eb407a3998bdfd78df161557e6572" [metadata.files] altgraph = [ @@ -997,8 +997,8 @@ macholib = [ {file = "macholib-1.14.tar.gz", hash = "sha256:0c436bc847e7b1d9bda0560351bf76d7caf930fb585a828d13608839ef42c432"}, ] markdown = [ - {file = "Markdown-3.3.3-py3-none-any.whl", hash = "sha256:c109c15b7dc20a9ac454c9e6025927d44460b85bd039da028d85e2b6d0bcc328"}, - {file = "Markdown-3.3.3.tar.gz", hash = "sha256:5d9f2b5ca24bc4c7a390d22323ca4bad200368612b5aaa7796babf971d2b2f18"}, + {file = "Markdown-3.3.6-py3-none-any.whl", hash = "sha256:9923332318f843411e9932237530df53162e29dc7a4e2b91e35764583c46c9a3"}, + {file = "Markdown-3.3.6.tar.gz", hash = "sha256:76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006"}, ] markupsafe = [ {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, diff --git a/pyproject.toml b/pyproject.toml index 01cf28818..c2d4c163f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ classifiers = [ python = "^3.7" PyYAML = "^5.1" -Markdown = "^3.3.3" +Markdown = "^3.3.6" bottle = "~0.12.13" requests = "^2.0" python-markdown-math = "~0.6" From a504163995f670badb65e789176beed0ba6b7091 Mon Sep 17 00:00:00 2001 From: Jace Browning Date: Sat, 5 Mar 2022 12:18:19 -0500 Subject: [PATCH 04/30] Only upload coverage from Linux jobs --- .github/workflows/execute-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index a61e7d106..bd278386a 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -66,6 +66,7 @@ jobs: - name: Upload coverage uses: codecov/codecov-action@v1 + if: ${{ inputs.os == 'ubuntu-latest' }} with: fail_ci_if_error: true From 8a316b9aa15b3879e962fd3a867e8f4b809ced2d Mon Sep 17 00:00:00 2001 From: Jace Browning Date: Sat, 5 Mar 2022 12:27:20 -0500 Subject: [PATCH 05/30] Only run the linter and demo on one OS --- .github/workflows/execute-tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index bd278386a..03b6b0a85 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -72,6 +72,8 @@ jobs: - name: Run checks run: make check + if: ${{ inputs.os == 'ubuntu-latest' }} - name: Run demo run: make demo + if: ${{ inputs.os == 'ubuntu-latest' }} From 79f31ec46bed61a4ca1da4fd24d4fe0b523c8454 Mon Sep 17 00:00:00 2001 From: Jace Browning Date: Sat, 5 Mar 2022 13:29:45 -0500 Subject: [PATCH 06/30] Make the compile script executable --- .gitignore | 1 + Makefile | 6 +++++- doorstop/common.py | 4 +++- doorstop/core/publisher.py | 2 +- pyproject.toml | 2 +- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f1492e68f..2650cc9a7 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ Icon* /site/ /*.html /docs/*.png +texput.log # Google Drive *.gdoc diff --git a/Makefile b/Makefile index 43f884c5c..7899a6173 100644 --- a/Makefile +++ b/Makefile @@ -150,7 +150,7 @@ DOORSTOP := poetry run doorstop YAML := $(wildcard */*.yml */*/*.yml */*/*/*/*.yml) .PHONY: reqs -reqs: doorstop reqs-html reqs-latex reqs-md reqs-txt +reqs: doorstop reqs-html reqs-latex reqs-md reqs-pdf reqs-txt .PHONY: reqs-html reqs-html: install docs/gen/*.html @@ -167,6 +167,10 @@ reqs-md: install docs/gen/*.md docs/gen/*.md: $(YAML) $(DOORSTOP) publish all docs/gen --markdown +.PHONY: reqs-pdf +reqs-pdf: reqs-latex + cd docs/gen && ./compile.sh + .PHONY: reqs-txt reqs-txt: install docs/gen/*.txt docs/gen/*.txt: $(YAML) diff --git a/doorstop/common.py b/doorstop/common.py index c78b81472..aa7909ad7 100644 --- a/doorstop/common.py +++ b/doorstop/common.py @@ -142,7 +142,7 @@ def load_yaml(text, path, loader=yaml.SafeLoader): return data -def write_lines(lines, path, end="\n", encoding="utf-8"): +def write_lines(lines, path, end="\n", encoding="utf-8", *, executable=False): """Write lines of text to a file. :param lines: iterator of strings @@ -158,6 +158,8 @@ def write_lines(lines, path, end="\n", encoding="utf-8"): for line in lines: data = (line + end).encode(encoding) stream.write(data) + if executable and os.path.isfile(path): + os.chmod(path, 0o775) return path diff --git a/doorstop/core/publisher.py b/doorstop/core/publisher.py index 6dc6c4cb8..e87165bd1 100644 --- a/doorstop/core/publisher.py +++ b/doorstop/core/publisher.py @@ -222,7 +222,7 @@ def publish( log.info("Copied assets from %s to %s", obj.assets, assets_dir) if ext == ".tex": - common.write_lines(compile_files, compile_path) + common.write_lines(compile_files, compile_path, executable=True) msg = "You can now execute the file 'compile.sh' twice in the exported folder to produce the PDFs!" utilities.show(msg, flush=True) diff --git a/pyproject.toml b/pyproject.toml index c2d4c163f..f8aaf6519 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] name = "doorstop" -version = "3.0b1" +version = "3.0b2" description = "Requirements management using version control." license = "LGPLv3" From 9962a6b10b5f466a92ec42f5df4f26f339b703af Mon Sep 17 00:00:00 2001 From: Jace Browning Date: Sat, 5 Mar 2022 15:26:27 -0500 Subject: [PATCH 07/30] Add pytest-sugar --- poetry.lock | 29 ++++++++++++++++++++++++++++- pyproject.toml | 1 + 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 35244babd..afe3259fa 100644 --- a/poetry.lock +++ b/poetry.lock @@ -612,6 +612,19 @@ category = "dev" optional = false python-versions = ">=3.6,<4.0" +[[package]] +name = "pytest-sugar" +version = "0.9.4" +description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)." +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +packaging = ">=14.1" +pytest = ">=2.9" +termcolor = ">=1.1.0" + [[package]] name = "python-dateutil" version = "2.8.1" @@ -727,6 +740,14 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "termcolor" +version = "1.1.0" +description = "ANSII Color formatting for output in terminal." +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "toml" version = "0.10.2" @@ -806,7 +827,7 @@ testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "cb70db8182546d40ee7f560cdd7c034c505eb407a3998bdfd78df161557e6572" +content-hash = "d2a94218852cc9d18515e466b071a8c1757b196eaf39baec7309f981ebdddbdd" [metadata.files] altgraph = [ @@ -1165,6 +1186,9 @@ pytest-expecter = [ {file = "pytest-expecter-2.3.tar.gz", hash = "sha256:8e6a3e565fbc524e5a4988b664d1b748e0a810b33233880aa5d3d78970351e06"}, {file = "pytest_expecter-2.3-py3-none-any.whl", hash = "sha256:6336d7f43221500e392014a949fd77ee2c2a84bcae2be7669acdd0d7c89b89e9"}, ] +pytest-sugar = [ + {file = "pytest-sugar-0.9.4.tar.gz", hash = "sha256:b1b2186b0a72aada6859bea2a5764145e3aaa2c1cfbb23c3a19b5f7b697563d3"}, +] python-dateutil = [ {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"}, {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"}, @@ -1229,6 +1253,9 @@ snowballstemmer = [ {file = "snowballstemmer-2.0.0-py2.py3-none-any.whl", hash = "sha256:209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0"}, {file = "snowballstemmer-2.0.0.tar.gz", hash = "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"}, ] +termcolor = [ + {file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"}, +] toml = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, diff --git a/pyproject.toml b/pyproject.toml index f8aaf6519..45b295879 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,6 +66,7 @@ pylint = "~2.12" pytest = "^6.2.5" pytest-cov = "*" pytest-expecter = "*" +pytest-sugar = "*" # Reports coveragespace = "^4.0" From 94da6b8dec21b11b121e9ffcf49be6b3445cb21b Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Mon, 7 Mar 2022 08:21:34 +0100 Subject: [PATCH 08/30] Added patch from urbasus --- doorstop/common.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doorstop/common.py b/doorstop/common.py index aa7909ad7..a7acc3cc3 100644 --- a/doorstop/common.py +++ b/doorstop/common.py @@ -3,6 +3,7 @@ """Common exceptions, classes, and functions for Doorstop.""" import argparse +import codecs import csv import glob import logging @@ -112,7 +113,7 @@ def read_text(path): """ log.trace("reading text from '{}'...".format(path)) # type: ignore try: - with open(path, "r", encoding="utf-8") as f: + with codecs.open(path, "r", encoding="utf-8") as f: return f.read() except Exception as e: msg = "reading '{}' failed: {}".format(path, e) From 5b8ecb3ab0e2d2a5cac93106e0c4d005a6043600 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Mon, 7 Mar 2022 10:08:51 +0100 Subject: [PATCH 09/30] Added test for loading UTF-8 files and writing them back. --- .../002-utf8-characters/REQ-CYRILLIC.yml | 16 +++++++++++ .../002-utf8-characters/REQ-MIT.yml | 19 +++++++++++++ doorstop/core/tests/test_item.py | 28 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-CYRILLIC.yml create mode 100644 doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-MIT.yml diff --git a/doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-CYRILLIC.yml b/doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-CYRILLIC.yml new file mode 100644 index 000000000..6417fce96 --- /dev/null +++ b/doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-CYRILLIC.yml @@ -0,0 +1,16 @@ +active: true +derived: false +header: | + UTF-8 +level: 1.7.0 +links: [] +normative: true +ref: '' +reviewed: null +text: | + UTF-8 is supported. Verified by this file. + + première is first + première is slightly different + Кириллица is Cyrillic + 𐐀 am Deseret diff --git a/doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-MIT.yml b/doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-MIT.yml new file mode 100644 index 000000000..52cdd877e --- /dev/null +++ b/doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-MIT.yml @@ -0,0 +1,19 @@ +active: true +derived: false +header: | + MIT licence +level: 1.7.1 +links: [] +normative: true +ref: '' +reviewed: null +text: | + Just verify that the MIT licence is typeset correctly. + + Copyright © 2022 + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/doorstop/core/tests/test_item.py b/doorstop/core/tests/test_item.py index c50d1b3e7..db1c0dff3 100644 --- a/doorstop/core/tests/test_item.py +++ b/doorstop/core/tests/test_item.py @@ -1050,3 +1050,31 @@ def test_attributes_with_spec(self, mock_warning): def test_stamp(self): """Verify an unknown item has no stamp.""" self.assertEqual(Stamp(None), self.item.stamp()) + + +class TestUTF8(unittest.TestCase): + """Unit tests for reading UTF8 formatted files.""" + + def test_load_cyrillic(self): + """Verify that cyrillic and other UTF-8 characters are correltly loaded and written.""" + ITEM = "doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-CYRILLIC.yml" + backup = common.read_text(ITEM) + item = Item(None, ITEM) + item.load() + item.save() + text = common.read_text(ITEM) + self.maxDiff = None + common.write_text(backup, ITEM) + self.assertEqual(backup, text) + + def test_load_mit(self): + """Verify that an MIT licence is correltly loaded and written.""" + ITEM = "doorstop/core/tests/test_fixtures/002-utf8-characters/REQ-MIT.yml" + backup = common.read_text(ITEM) + item = Item(None, ITEM) + item.load() + item.save() + text = common.read_text(ITEM) + self.maxDiff = None + common.write_text(backup, ITEM) + self.assertEqual(backup, text) From ff54ecbafb10ff0af32e9132d2e95fd7979c363b Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Mon, 7 Mar 2022 10:39:00 +0100 Subject: [PATCH 10/30] Removed architecture since only x64 is used now. --- .github/workflows/execute-tests.yml | 5 +---- .github/workflows/test-linux.yml | 1 - .github/workflows/test-osx.yml | 1 - .github/workflows/test-windows.yml | 3 --- 4 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 03b6b0a85..857ac7735 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -2,9 +2,6 @@ name: Execute tests on: workflow_call: inputs: - architecture: - required: true - type: string basepath: required: true type: string @@ -46,7 +43,7 @@ jobs: - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - architecture: ${{ inputs.architecture }} + architecture: x64 - uses: Gr1N/setup-poetry@v7 diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 5779b8590..e7b9fe7a9 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -6,7 +6,6 @@ jobs: Test: uses: ./.github/workflows/execute-tests.yml with: - architecture: x64 basepath: "/home/runner/work" os: "ubuntu-latest" workpath: "/home/runner/work/doorstop/doorstop" diff --git a/.github/workflows/test-osx.yml b/.github/workflows/test-osx.yml index ba8d96288..7cb5e2306 100644 --- a/.github/workflows/test-osx.yml +++ b/.github/workflows/test-osx.yml @@ -6,7 +6,6 @@ jobs: Test: uses: ./.github/workflows/execute-tests.yml with: - architecture: x64 basepath: "/Users/runner/work" os: "macos-latest" workpath: "/Users/runner/work/doorstop/doorstop" diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 6c0e3acea..a51356630 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -3,12 +3,9 @@ name: Windows on: push jobs: - - Test: uses: ./.github/workflows/execute-tests.yml with: - architecture: x64 basepath: 'D:\' os: "windows-latest" workpath: 'C:\a\doorstop\doorstop' From 14bb6e66c4d12acbe1d0cc3f0839174e67a9f7b3 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Mon, 7 Mar 2022 10:41:14 +0100 Subject: [PATCH 11/30] Only upload coverage for python 3.9 --- .github/workflows/execute-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 857ac7735..e367f1bb2 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -63,7 +63,7 @@ jobs: - name: Upload coverage uses: codecov/codecov-action@v1 - if: ${{ inputs.os == 'ubuntu-latest' }} + if: ${{ inputs.os == 'ubuntu-latest' && matrix.python-version == '3.9' }} with: fail_ci_if_error: true From fe72d407011d3f5d2f0cbcc4f732c163ddf6c0d3 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Mon, 7 Mar 2022 10:43:03 +0100 Subject: [PATCH 12/30] Do not upload coverage for forks. --- .github/workflows/execute-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index e367f1bb2..a974039ed 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -63,7 +63,7 @@ jobs: - name: Upload coverage uses: codecov/codecov-action@v1 - if: ${{ inputs.os == 'ubuntu-latest' && matrix.python-version == '3.9' }} + if: ${{ inputs.os == 'ubuntu-latest' && matrix.python-version == '3.9' && github.repository == 'doorstop-dev/doorstop' }} with: fail_ci_if_error: true From 4682c507ddd8ceb0933860557f8709cceca01f8b Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Mon, 7 Mar 2022 22:03:05 +0100 Subject: [PATCH 13/30] Wait for url response of server. --- doorstop/server/tests/test_all.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/doorstop/server/tests/test_all.py b/doorstop/server/tests/test_all.py index bf70f8109..38ac7bf51 100644 --- a/doorstop/server/tests/test_all.py +++ b/doorstop/server/tests/test_all.py @@ -9,6 +9,8 @@ from multiprocessing import Process from unittest.mock import patch +import requests + from doorstop import server from doorstop.server import main from doorstop.server.tests import ENV, REASON @@ -24,8 +26,16 @@ def setUpClass(cls): if os.getenv(ENV): cls.process = Process(target=main.main, kwargs={"args": []}) cls.process.start() - logging.info("delaying for the server to initialize...") - time.sleep(3) + logging.info("waiting for the server to initialize...") + # Check for response! + url = "http://localhost:7867/documents" + for _ in range(0, 29): + try: + _ = requests.head(url) + break + except requests.exceptions.RequestException: + time.sleep(1) + logging.info("server is answering!") assert cls.process.is_alive() @classmethod From d717791b8684e05594d00d962240e4ad080f7dd9 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Mon, 7 Mar 2022 22:03:23 +0100 Subject: [PATCH 14/30] Retry intermittently failing tests automatically. --- .github/workflows/execute-tests.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index a974039ed..b3e4f69a5 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -58,7 +58,17 @@ jobs: - name: Install project dependencies run: make install - - name: Run tests + # Some tests fails intermittently, likely due to the public runners being + # very slow. Especially any client/server tests seems to be problematic. + # This is a simple attempt to re-run the tests up to three times if they + # fail. Does not add any execution time if successful. + - name: Run tests attempt 1 + run: make test + - name: Run tests attempt 2 + if: ${{ failure() }} + run: make test + - name: Run tests attempt 3 + if: ${{ failure() }} run: make test - name: Upload coverage From a578a985143bcfec69d656e2e71498e64c222f96 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 09:10:55 +0100 Subject: [PATCH 15/30] Re-added run on PR. --- .github/workflows/test-linux.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index e7b9fe7a9..c5d028fe6 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -1,7 +1,9 @@ name: Linux -on: push - +on: + push: + pull_request: + branches: [ develop ] jobs: Test: uses: ./.github/workflows/execute-tests.yml From 5bb9def744fa027078cbc76dbbac9ae2b951a037 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 09:12:03 +0100 Subject: [PATCH 16/30] Re-added for Windows and MacOS too. --- .github/workflows/test-linux.yml | 1 + .github/workflows/test-osx.yml | 5 ++++- .github/workflows/test-windows.yml | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index c5d028fe6..498dd3398 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -4,6 +4,7 @@ on: push: pull_request: branches: [ develop ] + jobs: Test: uses: ./.github/workflows/execute-tests.yml diff --git a/.github/workflows/test-osx.yml b/.github/workflows/test-osx.yml index 7cb5e2306..28fe688ab 100644 --- a/.github/workflows/test-osx.yml +++ b/.github/workflows/test-osx.yml @@ -1,6 +1,9 @@ name: macOS -on: push +on: + push: + pull_request: + branches: [ develop ] jobs: Test: diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index a51356630..fdb26b214 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -1,6 +1,9 @@ name: Windows -on: push +on: + push: + pull_request: + branches: [ develop ] jobs: Test: From 6b7c7e8944229e521a0abc041024b35006cf100e Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 09:32:50 +0100 Subject: [PATCH 17/30] Checkout of PR uses different naming convention. Test using action/checkout and then moving the data instead. --- .github/workflows/execute-tests.yml | 30 +++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index b3e4f69a5..22d3e7fcc 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -26,19 +26,33 @@ jobs: working-directory: ${{ inputs.workpath }} steps: - - name: Checkout Unix - if: ${{ inputs.os != 'windows-latest' }} - run: | - mkdir -p ${{ inputs.workpath }} - git clone https://github.com/${{ github.repository }} ${{ inputs.workpath }} --depth 1 --branch $GITHUB_REF_NAME - - name: Checkout Windows + - name: Checkout + uses: actions/checkout@v2 + + - name: Change path on Windows + if: ${{ input.os == 'windows-latest' }} # Cannot start powershell from a path that does not exist, so change # working directory for this step only. working-directory: ${{ inputs.basepath }} - if: ${{ inputs.os == 'windows-latest' }} run: | mkdir -p ${{ inputs.workpath }} - git clone https://github.com/${{ github.repository }} ${{ inputs.workpath }} --depth 1 --branch $env:GITHUB_REF_NAME + mv $env:GITHUB_WORKSPACE/* ${{ inputs.workpath }} + cd ${{ inputs.workpath }} + ls + pwd + # - name: Checkout Unix + # if: ${{ inputs.os != 'windows-latest' }} + # run: | + # mkdir -p ${{ inputs.workpath }} + # git clone https://github.com/${{ github.repository }} ${{ inputs.workpath }} --depth 1 --branch $GITHUB_REF_NAME + # - name: Checkout Windows + # # Cannot start powershell from a path that does not exist, so change + # # working directory for this step only. + # working-directory: ${{ inputs.basepath }} + # if: ${{ inputs.os == 'windows-latest' }} + # run: | + # mkdir -p ${{ inputs.workpath }} + # git clone https://github.com/${{ github.repository }} ${{ inputs.workpath }} --depth 1 --branch $env:GITHUB_REF_NAME - uses: actions/setup-python@v2 with: From e1c05288b8bd551538e95c638583fd392fc2ff31 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 09:34:44 +0100 Subject: [PATCH 18/30] Fixed typo. --- .github/workflows/execute-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 22d3e7fcc..c8060509d 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -30,13 +30,13 @@ jobs: uses: actions/checkout@v2 - name: Change path on Windows - if: ${{ input.os == 'windows-latest' }} + if: ${{ inputs.os == 'windows-latest' }} # Cannot start powershell from a path that does not exist, so change # working directory for this step only. working-directory: ${{ inputs.basepath }} run: | mkdir -p ${{ inputs.workpath }} - mv $env:GITHUB_WORKSPACE/* ${{ inputs.workpath }} + mv $env:GITHUB_WORKSPACE/* ${{ inputs.workpath }}/ cd ${{ inputs.workpath }} ls pwd From 258c8319fa7030580b8b3b729f1e733005b18db0 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 09:47:06 +0100 Subject: [PATCH 19/30] Files are missing. Change copy command. --- .github/workflows/execute-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index c8060509d..2f3c6ff1e 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -36,7 +36,7 @@ jobs: working-directory: ${{ inputs.basepath }} run: | mkdir -p ${{ inputs.workpath }} - mv $env:GITHUB_WORKSPACE/* ${{ inputs.workpath }}/ + mv $env:GITHUB_WORKSPACE ${{ inputs.workpath }} cd ${{ inputs.workpath }} ls pwd From e32be3681dbe7ddc1ddd4d85c6e796f773b54278 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 09:48:58 +0100 Subject: [PATCH 20/30] Copy instead of move. --- .github/workflows/execute-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 2f3c6ff1e..b8e14240a 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -36,7 +36,7 @@ jobs: working-directory: ${{ inputs.basepath }} run: | mkdir -p ${{ inputs.workpath }} - mv $env:GITHUB_WORKSPACE ${{ inputs.workpath }} + copy $env:GITHUB_WORKSPACE ${{ inputs.workpath }} cd ${{ inputs.workpath }} ls pwd From b82cde2beb85f944a16c370f4a9abaeb4a026be2 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 09:50:48 +0100 Subject: [PATCH 21/30] Show env and changed copy command. --- .github/workflows/execute-tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index b8e14240a..f8db5f2ac 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -36,7 +36,8 @@ jobs: working-directory: ${{ inputs.basepath }} run: | mkdir -p ${{ inputs.workpath }} - copy $env:GITHUB_WORKSPACE ${{ inputs.workpath }} + env + copy $env:GITHUB_WORKSPACE/* ${{ inputs.workpath }}/* cd ${{ inputs.workpath }} ls pwd From 17b60e1a46cf026ac43dd60f29d155b68a2f1fa0 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 09:58:51 +0100 Subject: [PATCH 22/30] Changed to backslash. --- .github/workflows/execute-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index f8db5f2ac..816b65bd5 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -37,7 +37,7 @@ jobs: run: | mkdir -p ${{ inputs.workpath }} env - copy $env:GITHUB_WORKSPACE/* ${{ inputs.workpath }}/* + copy $env:GITHUB_WORKSPACE\* ${{ inputs.workpath }}\ cd ${{ inputs.workpath }} ls pwd From 38cbc5cbb0060912897fb0b8a0ecd6cd3bbc0f0f Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 10:03:48 +0100 Subject: [PATCH 23/30] Show what gets moved. --- .github/workflows/execute-tests.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 816b65bd5..0144f1db7 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -37,10 +37,13 @@ jobs: run: | mkdir -p ${{ inputs.workpath }} env - copy $env:GITHUB_WORKSPACE\* ${{ inputs.workpath }}\ + mv $env:GITHUB_WORKSPACE\* ${{ inputs.workpath }}\ cd ${{ inputs.workpath }} ls pwd + cd $env:GITHUB_WORKSPACE + ls + pwd # - name: Checkout Unix # if: ${{ inputs.os != 'windows-latest' }} # run: | From d0d832e0d05374a2c46a42693c23cdde261e2aec Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 10:04:55 +0100 Subject: [PATCH 24/30] Show make doctor too. --- .github/workflows/execute-tests.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 0144f1db7..57be6b0d3 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7", "3.8", "3.9"] + python-version: ["3.7"] name: Python ${{ matrix.python-version }} defaults: @@ -66,7 +66,10 @@ jobs: - uses: Gr1N/setup-poetry@v7 - name: Check system dependencies - run: make doctor + run: | + ls + pwd + make doctor - uses: actions/cache@v2 with: From fe57614b0cc963c0248c960ef4af2e5d7fcaadb3 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 10:05:54 +0100 Subject: [PATCH 25/30] Only run single windows during debugging. --- .github/workflows/execute-tests.yml | 4 ++-- .github/workflows/test-linux.yml | 28 ++++++++++++++-------------- .github/workflows/test-osx.yml | 28 ++++++++++++++-------------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 57be6b0d3..aa75af353 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -3,13 +3,13 @@ on: workflow_call: inputs: basepath: - required: true + required: false type: string os: required: true type: string workpath: - required: true + required: false type: string jobs: diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 498dd3398..096cc447c 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -1,14 +1,14 @@ -name: Linux - -on: - push: - pull_request: - branches: [ develop ] - -jobs: - Test: - uses: ./.github/workflows/execute-tests.yml - with: - basepath: "/home/runner/work" - os: "ubuntu-latest" - workpath: "/home/runner/work/doorstop/doorstop" +# name: Linux +# +# on: +# push: +# pull_request: +# branches: [ develop ] +# +# jobs: +# Test: +# uses: ./.github/workflows/execute-tests.yml +# with: +# # basepath: "/home/runner/work" +# os: "ubuntu-latest" +# # workpath: "/home/runner/work/doorstop/doorstop" diff --git a/.github/workflows/test-osx.yml b/.github/workflows/test-osx.yml index 28fe688ab..ccea7bb67 100644 --- a/.github/workflows/test-osx.yml +++ b/.github/workflows/test-osx.yml @@ -1,14 +1,14 @@ -name: macOS - -on: - push: - pull_request: - branches: [ develop ] - -jobs: - Test: - uses: ./.github/workflows/execute-tests.yml - with: - basepath: "/Users/runner/work" - os: "macos-latest" - workpath: "/Users/runner/work/doorstop/doorstop" +# name: macOS +# +# on: +# push: +# pull_request: +# branches: [ develop ] +# +# jobs: +# Test: +# uses: ./.github/workflows/execute-tests.yml +# with: +# # basepath: "/Users/runner/work" +# os: "macos-latest" +# # workpath: "/Users/runner/work/doorstop/doorstop" From 3406bd447f8a1aa3d0625802d00a2750876e5c1d Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 10:10:43 +0100 Subject: [PATCH 26/30] Show hidden files. --- .github/workflows/execute-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index aa75af353..831e9fc63 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -39,10 +39,10 @@ jobs: env mv $env:GITHUB_WORKSPACE\* ${{ inputs.workpath }}\ cd ${{ inputs.workpath }} - ls + ls -Force pwd cd $env:GITHUB_WORKSPACE - ls + ls -Force pwd # - name: Checkout Unix # if: ${{ inputs.os != 'windows-latest' }} From 4fe5e922a5a1a041f49025064aef7ceda8fffca8 Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 10:12:27 +0100 Subject: [PATCH 27/30] Try moving .git folder too. --- .github/workflows/execute-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 831e9fc63..cef35a4ad 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -37,7 +37,7 @@ jobs: run: | mkdir -p ${{ inputs.workpath }} env - mv $env:GITHUB_WORKSPACE\* ${{ inputs.workpath }}\ + mv $env:GITHUB_WORKSPACE\* ${{ inputs.workpath }}\ -Force cd ${{ inputs.workpath }} ls -Force pwd From d299ec718cf5c6ca3eb2fef4abaf795a631155de Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 10:19:07 +0100 Subject: [PATCH 28/30] Cleaned up. --- .github/workflows/execute-tests.yml | 24 ++---------------------- .github/workflows/test-linux.yml | 27 +++++++++++++-------------- .github/workflows/test-osx.yml | 27 +++++++++++++-------------- 3 files changed, 28 insertions(+), 50 deletions(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index cef35a4ad..0c3ff8676 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -9,7 +9,7 @@ on: required: true type: string workpath: - required: false + required: true type: string jobs: @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7"] + python-version: ["3.7", "3.8", "3.9"] name: Python ${{ matrix.python-version }} defaults: @@ -36,27 +36,7 @@ jobs: working-directory: ${{ inputs.basepath }} run: | mkdir -p ${{ inputs.workpath }} - env mv $env:GITHUB_WORKSPACE\* ${{ inputs.workpath }}\ -Force - cd ${{ inputs.workpath }} - ls -Force - pwd - cd $env:GITHUB_WORKSPACE - ls -Force - pwd - # - name: Checkout Unix - # if: ${{ inputs.os != 'windows-latest' }} - # run: | - # mkdir -p ${{ inputs.workpath }} - # git clone https://github.com/${{ github.repository }} ${{ inputs.workpath }} --depth 1 --branch $GITHUB_REF_NAME - # - name: Checkout Windows - # # Cannot start powershell from a path that does not exist, so change - # # working directory for this step only. - # working-directory: ${{ inputs.basepath }} - # if: ${{ inputs.os == 'windows-latest' }} - # run: | - # mkdir -p ${{ inputs.workpath }} - # git clone https://github.com/${{ github.repository }} ${{ inputs.workpath }} --depth 1 --branch $env:GITHUB_REF_NAME - uses: actions/setup-python@v2 with: diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 096cc447c..4bcfc716b 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -1,14 +1,13 @@ -# name: Linux -# -# on: -# push: -# pull_request: -# branches: [ develop ] -# -# jobs: -# Test: -# uses: ./.github/workflows/execute-tests.yml -# with: -# # basepath: "/home/runner/work" -# os: "ubuntu-latest" -# # workpath: "/home/runner/work/doorstop/doorstop" +name: Linux + +on: + push: + pull_request: + branches: [ develop ] + +jobs: + Test: + uses: ./.github/workflows/execute-tests.yml + with: + os: "ubuntu-latest" + workpath: "/home/runner/work/doorstop/doorstop" diff --git a/.github/workflows/test-osx.yml b/.github/workflows/test-osx.yml index ccea7bb67..0ef364b5f 100644 --- a/.github/workflows/test-osx.yml +++ b/.github/workflows/test-osx.yml @@ -1,14 +1,13 @@ -# name: macOS -# -# on: -# push: -# pull_request: -# branches: [ develop ] -# -# jobs: -# Test: -# uses: ./.github/workflows/execute-tests.yml -# with: -# # basepath: "/Users/runner/work" -# os: "macos-latest" -# # workpath: "/Users/runner/work/doorstop/doorstop" +name: macOS + +on: + push: + pull_request: + branches: [ develop ] + +jobs: + Test: + uses: ./.github/workflows/execute-tests.yml + with: + os: "macos-latest" + workpath: "/Users/runner/work/doorstop/doorstop" From 6f36d1f3c74a4e3fdf2b8320480ea93d7af6ea9b Mon Sep 17 00:00:00 2001 From: Gustav Johansson Date: Tue, 8 Mar 2022 10:22:04 +0100 Subject: [PATCH 29/30] Cleaned up even more. --- .github/workflows/execute-tests.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/execute-tests.yml b/.github/workflows/execute-tests.yml index 0c3ff8676..df09c291e 100644 --- a/.github/workflows/execute-tests.yml +++ b/.github/workflows/execute-tests.yml @@ -46,10 +46,7 @@ jobs: - uses: Gr1N/setup-poetry@v7 - name: Check system dependencies - run: | - ls - pwd - make doctor + run: make doctor - uses: actions/cache@v2 with: From 613df327271f7c514e8f4d0c0f9f1708d0f78d13 Mon Sep 17 00:00:00 2001 From: Jace Browning Date: Wed, 9 Mar 2022 07:05:44 -0500 Subject: [PATCH 30/30] Bump version to 3.0b3 --- CHANGELOG.md | 1 + pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25ab6639f..3be494e8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ - **BREAKING:** Dropped support for Python 3.6. - **BREAKING:** Removed `--no-body-levels` option to `doorstop publish`. - Fixed overriding default attributes with `doorstop add`. ([@tangoalx](https://github.com/doorstop-dev/doorstop/pull/544)) +- Fixed encoding error with special characters on Windows. ([@urbasus](https://github.com/doorstop-dev/doorstop/pull/526)) - Add support for publishing to the LaTeX format. ([@neerdoc](https://github.com/doorstop-dev/doorstop/pull/545)) # 2.2 (2022-01-22) diff --git a/pyproject.toml b/pyproject.toml index 45b295879..a0713fb25 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] name = "doorstop" -version = "3.0b2" +version = "3.0b3" description = "Requirements management using version control." license = "LGPLv3"