diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9a196725b..cad67c575 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ on: branches: [main] jobs: lint: - runs-on: 'ubuntu-latest' + runs-on: ubuntu-latest steps: - name: Check out code. uses: actions/checkout@v4 @@ -42,26 +42,46 @@ jobs: steps: - name: Check out code. uses: actions/checkout@v4 + - name: Install poetry + run: pip install poetry + - name: Set up Python + uses: actions/setup-python@v5 + with: + cache: 'poetry' + cache-dependency-path: "tests/pyproject.toml" + python-version-file: "tests/pyproject.toml" + - name: Install dependencies + run: | + cd tests || exit + poetry install --only dev - name: spell check run: | - pip install codespell==2.2 - git grep --cached -l '' | grep -v -e 'History\.md' -e 'AUTHORS' -e 'man/.*\.1' -e 'man/.*\.html' | xargs codespell --ignore-words=.github/.ignore_words + cd tests + git grep --cached -l '' .. | \ + grep -v -e 'History\.md' -e 'AUTHORS' -e 'man/.*\.1' -e 'man/.*\.html' | \ + xargs poetry run codespell --ignore-words=../.github/.ignore_words test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python 3.12 + - name: Install poetry + run: pip install poetry + - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.12' + cache: 'poetry' + cache-dependency-path: "tests/pyproject.toml" + python-version-file: "tests/pyproject.toml" - name: Install dependencies run: | - python -m pip install --upgrade pip - pip install pytest==8.1.2 GitPython==3.1.43 testpath==0.6.0 + cd tests || exit + poetry install --only test - name: Unit test - run: make test + run: | + cd tests + poetry run pytest build: strategy: @@ -76,11 +96,9 @@ jobs: uses: actions/checkout@v4 - name: Linux Install if: matrix.platform == 'ubuntu-latest' - run: | - sudo apt-get install -y bsdmainutils + run: sudo apt-get install -y bsdmainutils - name: Script - run: | - ./check_integrity.sh + run: ./check_integrity.sh - name: Brew release if: matrix.platform == 'macos-latest' run: | diff --git a/tests/poetry.lock b/tests/poetry.lock index 5fa5e29de..bb52a52d1 100644 --- a/tests/poetry.lock +++ b/tests/poetry.lock @@ -1,4 +1,19 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. + +[[package]] +name = "codespell" +version = "2.2.0" +description = "Codespell" +optional = false +python-versions = ">=3.6" +files = [ + {file = "codespell-2.2.0-py3-none-any.whl", hash = "sha256:3cc3fcb484a8302683add19e7d11504c79c79b10d4ea0675409417a044b27374"}, + {file = "codespell-2.2.0.tar.gz", hash = "sha256:3dce0cd1348d277f8d934d1d4dcbbf510f9ddfd1b9005e9b25fb983189962561"}, +] + +[package.extras] +dev = ["check-manifest", "flake8", "pytest", "pytest-cov", "pytest-dependency"] +hard-encoding-detection = ["chardet"] [[package]] name = "colorama" @@ -56,13 +71,13 @@ files = [ [[package]] name = "packaging" -version = "24.0" +version = "24.2" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, + {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, + {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] [[package]] @@ -127,5 +142,5 @@ test = ["pytest"] [metadata] lock-version = "2.0" -python-versions = "^3.11" -content-hash = "e73f9840c5f034acbd9b1ebc082e7ce4600ac3235991e57cd825c261a5f2e14e" +python-versions = "^3.12" +content-hash = "e730a1e6e7fd2f51858e8c8cfa8b56d606eadd7a0a629ca8af078904721a5159" diff --git a/tests/pyproject.toml b/tests/pyproject.toml index 43266570e..f9d8792ed 100644 --- a/tests/pyproject.toml +++ b/tests/pyproject.toml @@ -8,11 +8,16 @@ license = "MIT" readme = "README.md" [tool.poetry.dependencies] -python = "^3.11" +python = "^3.12" + +[tool.poetry.group.test.dependencies] pytest = "8.1.2" gitpython = "3.1.43" testpath = "0.6.0" +[tool.poetry.group.dev.dependencies] +codespell = "2.2" + [tool.pytest.ini_options] minversion = "7.4" addopts = "-ra -q"