-
-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sphobjinv-textconv #307
base: main
Are you sure you want to change the base?
sphobjinv-textconv #307
Conversation
- feat: add sphobjinv-textconv entrypoint (bskinn#295)
- docs: adjustments to pass linkcheck
- ci(asure-pipelines): reduce coverage fail under percentage
- docs(README.md): doctest ELLIPSIS wildcard avoid hardcode inventory count
- feat: entrypoint sphobjinv-textconv ([bskinn#295]) - test: add sphobjinv-textconv unittests offline and online - test: add integration test. Demonstrate git diff objects.inv - test: add pytest module with class to interact with git - docs: add step by step guide to configure git. Examples for bash and python - docs: added sphobjinv-textconv API docs
- test: print entire os.environ rather than a single key
- test: for Windows, attempt add SCRIPTS folder to sys.path - test: for Windows, walk SCRIPTS folder print files and folders
- test: wrong params for list.append instead use list.insert
- test: for subprocess calls use relative path not absolute path
- test: carefully escape regex metacharacters - test: print source .inv file and diff. On windows, issue with regex - test: remove fixture windows_paths
- test: .git/config textconv executable resolve path - test: shutil.which to resolve path to executable
- test: resolve both soi and soi-textconv executables path
- test: regression when to use resolved or unresolved executable path
- test: read inventory on disk - test: print diagnostic before assertions
- test: consistantly use sphobjinv.cli.load:import_infile so compare apple with apples
- test: add resources objects_attrs_plus_one_entry.{txt|inv} - test: compare existing resources. Rather modify then .txt --> .inv - test: add fixtures res_cmp_plus_one_line is_linux gitconfig gitattributes
- refactor .git/config append algo
- refactor: print git diff err message
- fix: specify encoding and linesep
- test: fix use git config to set textconv executable - test: add to WorkDir git config list/get/set support
- test: fix inventory path must surround by single quotes
- test: attempt to diagnose WindowsPath getting garbled
- test: file not found create a .gitattributes
- ci: azure-pipelines coverage report omit setup.py - ci: azure-pipelines need --testall to get 100% coverage - ci: README.md affected by version. Update version - test: WorkDir - test: conftest fixture ensure_doc_scratch
- test: restore fixture ensure_doc_scratch
- chore: fix format and lint - docs: fix README doctest
During python setup, gh runner failings to download python 3.13 for linux and windows. The runner says could be caused by an authentication issue. ##[error]Failed to download Python from the Github Actions python registry python-versions. Error: Error: Failed to download Python versions manifest from the Github Actions python registry python-versions. Invalid GitHub token could cause this. ##[error]Version spec 3.13 for architecture x64 did not match any version in Agent.ToolsDirectory. This is the relevent entries from the versions manifest. (to save time searching thru it)
|
That same config worked recently for a different pipeline, so I don't think it's a config or token problem. More likely, there was just a transient issue with the GitHub Python repository. I'll trigger a retry; if it still fails, then let's just remove 3.13 from I'm working on an overhaul of the CI (#306) that will migrate everything over to GitHub Actions anyways, which has 3.13 natively available. |
No, still fails with the same errors. Just remove 3.13 from the Azure DevOps matrix. |
Yes please retrigger the pipeline.
If needed and plan to remove of 3.13 from azure-pipelines.yml, please have me make a commit rather than causing more rebases to be necessary.
Rebases are scary.
Know the final code state, but not intern code states; what the code should look between `git rebase --continue` calls
…On Thursday, January 2nd, 2025 at 4:05 PM, Brian Skinn ***@***.***> wrote:
That same config [worked recently](https://dev.azure.com/brianskinn/sphobjinv/_build/results?buildId=573&view=logs&jobId=337cb850-2e3b-5931-1662-6e2a73a4cc60&j=337cb850-2e3b-5931-1662-6e2a73a4cc60&t=cdcb6bd4-70a6-5618-7395-9b57861e9608) for a different pipeline, so I don't think it's a config or token problem. More likely, there was just a transient issue with the GitHub Python repository. I'll trigger a retry; if it still fails, then let's just remove 3.13 from azure-pipelines.yml and not worry about it.
I'm working on an overhaul of the CI ([#306](#306)) that will migrate everything over to GitHub Actions anyways, which has 3.13 natively available.
—
Reply to this email directly, [view it on GitHub](#307 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/AVSZJ2ID6GG2CGARM7PENIL2IVPTRAVCNFSM6AAAAABUNNRT3KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRYGAYDONRTHE).
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
- chore: remove py313 from pipeline
With py313 removed, the pipeline passes
…On Sunday, January 5th, 2025 at 4:33 AM, msftcangoblowme ***@***.***> wrote:
Yes please retrigger the pipeline.
If needed and plan to remove of 3.13 from azure-pipelines.yml, please have me make a commit rather than causing more rebases to be necessary.
Rebases are scary.
Know the final code state, but not intern code states; what the code should look between `git rebase --continue` calls
On Thursday, January 2nd, 2025 at 4:05 PM, Brian Skinn ***@***.***> wrote:
> That same config [worked recently](https://dev.azure.com/brianskinn/sphobjinv/_build/results?buildId=573&view=logs&jobId=337cb850-2e3b-5931-1662-6e2a73a4cc60&j=337cb850-2e3b-5931-1662-6e2a73a4cc60&t=cdcb6bd4-70a6-5618-7395-9b57861e9608) for a different pipeline, so I don't think it's a config or token problem. More likely, there was just a transient issue with the GitHub Python repository. I'll trigger a retry; if it still fails, then let's just remove 3.13 from azure-pipelines.yml and not worry about it.
>
> I'm working on an overhaul of the CI ([#306](#306)) that will migrate everything over to GitHub Actions anyways, which has 3.13 natively available.
>
> —
> Reply to this email directly, [view it on GitHub](#307 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/AVSZJ2ID6GG2CGARM7PENIL2IVPTRAVCNFSM6AAAAABUNNRT3KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRYGAYDONRTHE).
> You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Mm, I didn't think about the rebase being such a problem... merging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicating the review comments from #301
- test: remove inventory objects_attrs_plus_one_entry - test(conftest): remove res_cmp_plus_one_line - test(conftest): consolidate run_cmdline_textconv and run_cmdline_no_checks
After a quick sync, the latest commit addresses the issues you brought up, besides |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Several more comments across the PR. Still haven't had a chance to dig deeply into the new code itself, or the docs. Will get there.
- fix(version): revert do not change semantic version number - ci(azure-pipelines): remove pytest option --testall - test(conftest): remove fixture gitattributes - test(conftest): remove coverage pragma comments - test: revert to original pytest.skip conditional block
Please rerun azure pipelines. Getting remotedisconnect and ssl errors |
- test(conftest.py): remove run_cmdline_textconv by consolidate into run_cmdline_test - test(enum.py): add module for enum.Enum declarations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your patience as I nibble-review on this!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just realized, enum.py
is a bad name, since it shadows stdlib enum
.
Should rename this to enums.py
, I think.
# cd .tox; PYTHONPATH=../ tox --root=.. -c ../tox.ini \ | ||
# -e py39-sphx_latest-attrs_latest-jsch_latest --workdir=.; cd - &>/dev/null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these commented-out lines still needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instantly forget complicated commands.
For collaborators, somewhere these commands should be documented. I prefer in context, so zero time is wasted recreating them.
non-tox commands should be in a Makefile.
pytest commands within the respective test module.
Have always written, just the complicated, tox commands within the tox file.
This particular command is how to invoke for pyenv users. The active .python-version
file differs for: project base (one py version) and the .tox
folder (many py versions)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's revise the current last line to read:
application-import-names = sphobjinv, tests
That way, the linting will group the (to become) tests.enums
imports with the sphobjinv
imports.
@pytest.fixture(scope="session") | ||
def is_linux(): | ||
"""Report boolean of whether the current system is Linux.""" | ||
return platform.system() in ("Linux",) | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see anywhere this fixture is currently used, do we need it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Slated for removal
@@ -5,6 +5,7 @@ source = | |||
omit = | |||
# Don't worry about covering vendored libraries | |||
src/sphobjinv/_vendored/* | |||
setup.py |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noticed this -- I'd be fine with adding conftest.py
in here too, actually. It would both be a direct signal that setup.py
and conftest.py
are meant to not be covered, and I believe would result in them being excluded entirely from any coverage reports.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh nice! That's much better
closes #295
The rebase was challenging. Previous PR was automatically withdrawn