From 83043169bdb602595dbd56118ce68a25821cb766 Mon Sep 17 00:00:00 2001 From: Julian Pollmann Date: Mon, 10 Nov 2025 16:10:37 +0100 Subject: [PATCH 1/7] Fix version inconsistency in __version__.py and conda environments < pyproject.toml --- conda/meta.yaml | 4 +++- spec2vec/__version__.py | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index b60c770..80268b4 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -1,5 +1,7 @@ {% set name = "spec2vec" %} -{% set version = "0.9.1" %} + +{% set pyproject = load_file_data('../pyproject.toml', from_recipe_dir=True) %} +{% set version = pyproject.get('tool', {}).get('poetry', {}).get('version1', '0+unknown') %} package: name: {{ name|lower }} diff --git a/spec2vec/__version__.py b/spec2vec/__version__.py index 8969d49..0a7d02d 100644 --- a/spec2vec/__version__.py +++ b/spec2vec/__version__.py @@ -1 +1,6 @@ -__version__ = '0.9.1' +from importlib.metadata import version, PackageNotFoundError + +try: + __version__ = version("spec2vec") +except PackageNotFoundError: + __version__ = "0+unknown" From 8a9280a8e0d27c625fb5bc94e5fa18d14346ab99 Mon Sep 17 00:00:00 2001 From: Julian Pollmann Date: Mon, 10 Nov 2025 16:15:52 +0100 Subject: [PATCH 2/7] Fix version test --- conda/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index 80268b4..5ab9072 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -1,7 +1,7 @@ {% set name = "spec2vec" %} {% set pyproject = load_file_data('../pyproject.toml', from_recipe_dir=True) %} -{% set version = pyproject.get('tool', {}).get('poetry', {}).get('version1', '0+unknown') %} +{% set version = pyproject.get('tool', {}).get('poetry', {}).get('version', '0+unknown') %} package: name: {{ name|lower }} From 51a87f6541bd958ecb81e1b723f7ed506c163659 Mon Sep 17 00:00:00 2001 From: Julian Pollmann Date: Mon, 10 Nov 2025 17:46:39 +0100 Subject: [PATCH 3/7] FIx test for version --- tests/test_version_string_consistency.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tests/test_version_string_consistency.py b/tests/test_version_string_consistency.py index f7cb8ce..c880f26 100644 --- a/tests/test_version_string_consistency.py +++ b/tests/test_version_string_consistency.py @@ -1,19 +1,23 @@ +import importlib import os +import pytest import re -from spec2vec import __version__ as expected_version +import tomli +@pytest.mark.skipif(not os.getenv("CI"),reason="Skipping version consistency test outside CI environment") def test_version_string_consistency(): """Check whether version in conda/meta.yaml is consistent with that in spec2vec.__version__""" repository_root = os.path.join(os.path.dirname(__file__), "..") - fixture = os.path.join(repository_root, "conda", "meta.yaml") + pyproject_file = os.path.join(repository_root, "pyproject.toml") - with open(fixture, "r", encoding="utf-8") as f: - metayaml_contents = f.read() + with open(pyproject_file, "rb") as f: + pyproject = tomli.load(f) + expected_version = pyproject["tool"]["poetry"]["version"] - match = re.search(r"^{% set version = \"(?P.*)\" %}$", metayaml_contents, re.MULTILINE) - actual_version = match["semver"] + spec2vec = importlib.import_module("spec2vec") + actual_version = spec2vec.__version__ - assert expected_version == actual_version, "Expected version string used in conda/meta.yaml to be consistent with" \ - " that in spec2vec.__version__" + assert expected_version == actual_version, f"Expected version {expected_version!r} in pyproject.toml to match" \ + f" spec2vec.__version__ ({actual_version!r})" From 05e4ab9044bd8439a6ec68483e314d71e59eda8a Mon Sep 17 00:00:00 2001 From: Julian Pollmann Date: Mon, 10 Nov 2025 17:48:05 +0100 Subject: [PATCH 4/7] Update workflow for manual trigger --- .github/workflows/CI_build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/CI_build.yml b/.github/workflows/CI_build.yml index 697cbb5..5235a2b 100644 --- a/.github/workflows/CI_build.yml +++ b/.github/workflows/CI_build.yml @@ -4,6 +4,12 @@ on: push: pull_request: types: [opened, reopened] + workflow_dispatch: + inputs: + tag: + description: Tag for manually running CI Build workflow + required: False + default: '' jobs: From 3fa80558449178a6b977c0eb6e59a73c864281e8 Mon Sep 17 00:00:00 2001 From: Julian Pollmann Date: Mon, 10 Nov 2025 17:50:11 +0100 Subject: [PATCH 5/7] Fix import error --- tests/test_version_string_consistency.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_version_string_consistency.py b/tests/test_version_string_consistency.py index c880f26..b2c4fb4 100644 --- a/tests/test_version_string_consistency.py +++ b/tests/test_version_string_consistency.py @@ -1,7 +1,6 @@ import importlib import os import pytest -import re import tomli From 6de5611daabf54e1472e9d6b45527fddb05a4e1f Mon Sep 17 00:00:00 2001 From: Julian Pollmann Date: Mon, 10 Nov 2025 17:52:48 +0100 Subject: [PATCH 6/7] isort --- spec2vec/__version__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec2vec/__version__.py b/spec2vec/__version__.py index 0a7d02d..90ddbdd 100644 --- a/spec2vec/__version__.py +++ b/spec2vec/__version__.py @@ -1,4 +1,5 @@ -from importlib.metadata import version, PackageNotFoundError +from importlib.metadata import PackageNotFoundError, version + try: __version__ = version("spec2vec") From 8c8c4e8734a1362315163c1e7baf529f2eead875 Mon Sep 17 00:00:00 2001 From: Julian Pollmann Date: Mon, 10 Nov 2025 18:04:47 +0100 Subject: [PATCH 7/7] Remove SonarQube for now --- .github/workflows/CI_build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/CI_build.yml b/.github/workflows/CI_build.yml index 5235a2b..fbddd5f 100644 --- a/.github/workflows/CI_build.yml +++ b/.github/workflows/CI_build.yml @@ -44,12 +44,12 @@ jobs: - name: Check whether import statements are used consistently shell: bash -l {0} run: poetry run isort --check-only --diff --conda-env spec2vec-dev . - - name: SonarQube Scan - if: github.repository == 'iomega/spec2vec' - uses: SonarSource/sonarqube-scan-action@v6 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} +# - name: SonarQube Scan +# if: github.repository == 'iomega/spec2vec' +# uses: SonarSource/sonarqube-scan-action@v6 +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} build_pypi: name: Pypi and documentation build / python-${{ matrix.python-version }} / ${{ matrix.os }}