From 19c663043be112fb8338f3fdc57d92dd45ec46e9 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Tue, 21 Apr 2026 17:05:57 -0700 Subject: [PATCH 1/4] clarify action dependencies Versioning was working by coincidence because we installed the required setuptools in [test]. Changed it to an explicit package and re-ordered the install/run steps in all actions so we should be getting explicit behavior. --- .github/workflows/check-coverage.yml | 5 +++-- .github/workflows/generate-metadata.yml | 4 ++-- .github/workflows/package.yml | 4 ++-- .github/workflows/publish-pypi.yml | 5 +++-- .github/workflows/run-e2-tests.yml | 5 +++-- .github/workflows/run-tests.yml | 5 +++-- pyproject.toml | 9 +++++---- 7 files changed, 21 insertions(+), 16 deletions(-) diff --git a/.github/workflows/check-coverage.yml b/.github/workflows/check-coverage.yml index f02be570..e55838ed 100644 --- a/.github/workflows/check-coverage.yml +++ b/.github/workflows/check-coverage.yml @@ -30,10 +30,11 @@ jobs: python --version python -m pip install --upgrade pip python -m pip install --upgrade build - pip install . - pip install .[test] + pip install .[versioning] doit version + pip install . python -m build + pip install .[test] # https://github.com/marketplace/actions/pytest-coverage-comment - name: Generate coverage report diff --git a/.github/workflows/generate-metadata.yml b/.github/workflows/generate-metadata.yml index 85a9a698..9aca8878 100644 --- a/.github/workflows/generate-metadata.yml +++ b/.github/workflows/generate-metadata.yml @@ -23,9 +23,9 @@ jobs: python --version python -m pip install --upgrade pip python -m pip install --upgrade build - pip install . - pip install .[test] + pip install .[versioning] doit version + pip install . python -m build - name: Run license check diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 7c00bee5..aadf2b73 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -71,9 +71,9 @@ jobs: python --version python -m pip install --upgrade pip python -m pip install --upgrade build - pip install . - pip install .[package] + pip install .[versioning] doit version + pip install . python -m build - name: Package with pyinstaller for ${{matrix.TARGET}} diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index bf912399..5f5d84bd 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -26,10 +26,11 @@ jobs: python --version python -m pip install --upgrade pip python -m pip install --upgrade build - pip install . - pip install .[package] + pip install .[versioning] doit version + pip install . python -m build + - name: Publish distribution 📦 to Test PyPI if: ${{ inputs.is_draft }} uses: pypa/gh-action-pypi-publish@release/v1 # license BSD-2 diff --git a/.github/workflows/run-e2-tests.yml b/.github/workflows/run-e2-tests.yml index 1d7c3e17..c620e9bc 100644 --- a/.github/workflows/run-e2-tests.yml +++ b/.github/workflows/run-e2-tests.yml @@ -35,10 +35,11 @@ jobs: python --version python -m pip install --upgrade pip python -m pip install --upgrade build - pip install . - pip install .[test] + pip install .[versioning] doit version + pip install . python -m build + pip install .[test] - name: Run e2e tests run: | diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index b21f2da4..dd9278a0 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -32,10 +32,11 @@ jobs: python --version python -m pip install --upgrade pip python -m pip install --upgrade build - pip install . - pip install .[test] + pip install .[versioning] doit version + pip install . python -m build + pip install .[test] - name: Test with pytest run: pytest diff --git a/pyproject.toml b/pyproject.toml index fcab3277..9bd0295b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -62,14 +62,15 @@ test = [ "types-appdirs", "types-mock", "types-requests", - "types-setuptools", - # these last three are required for the versioning step + "types-setuptools" +] +localize = ["doit", "ftfy"] +package = ["doit", "pyinstaller==5.13"] +versioning = [ "doit", "pyinstaller_versionfile", "setuptools_scm" ] -localize = ["doit", "ftfy"] -package = ["doit", "pyinstaller==5.13"] [project.urls] repository = "https://github.com/tableau/tabcmd" [project.scripts] From 5de33e6c23025349e36990de653e23b36a53a352 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Tue, 21 Apr 2026 17:31:01 -0700 Subject: [PATCH 2/4] still need packaging dependencies for packaging steps --- .github/workflows/package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index aadf2b73..1473b7c9 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -75,6 +75,7 @@ jobs: doit version pip install . python -m build + pip install .[package] - name: Package with pyinstaller for ${{matrix.TARGET}} run: ${{matrix.CMD_BUILD}} From f699fed875311b6845ed775656cba2fc499c0ca8 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Wed, 22 Apr 2026 21:49:04 -0700 Subject: [PATCH 3/4] add back test deps to run mypy, etc --- .github/workflows/generate-metadata.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-metadata.yml b/.github/workflows/generate-metadata.yml index 9aca8878..8b47b312 100644 --- a/.github/workflows/generate-metadata.yml +++ b/.github/workflows/generate-metadata.yml @@ -27,6 +27,7 @@ jobs: doit version pip install . python -m build + pip install .[test] - name: Run license check run: python bin/license-checker.py From a6d338f33ab1b566b76539f8dd6c3e8f6f820da3 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Wed, 22 Apr 2026 21:51:09 -0700 Subject: [PATCH 4/4] remove 3.9 so we don't cause test failures --- .github/workflows/run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index dd9278a0..c849592d 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -15,7 +15,7 @@ jobs: fail-fast: true matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.10', '3.11', '3.12', '3.13'] runs-on: ${{ matrix.os }}