Skip to content

Conversation

@o-love
Copy link
Contributor

@o-love o-love commented Dec 18, 2025

Regression was introduced into main due to a dependency missing, causing ty to not be able to validate types.

Add a lint check to validate uv.lock and fix main issues.

@o-love o-love requested a review from a team December 18, 2025 18:01
Copy link
Contributor

@sscargal sscargal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The remaining changes look good to me.

with:
python-version: ${{ matrix.python-version }}

- name: Ensure uv.lock is correct
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good idea.

FYI, we have .github/workflows/check-uvlockfile.yml that runs uv lock --check. It is/was designed to highlight out-of-sync uv.lock files at PR time and have the developer update their file.

This change would ensure it's always synchronized, making the check-uvfile redundant, which is a good thing. However, it must be the first workflow to run to avoid issues with other workflows that require the uvlock to be in sync. Alternatively, we create a dedicated uv workflow to sync the file and ensure it's the first to run.

I'm open to suggestions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove check-uvlockfile or maybe have it run always. I'll check if it would have caught this.

With the way are workflows are currently set up (all independent) there isn't a easy way to create that type of dag flow.

I think in general it is ok to have a single lint check validate the uv, assuming people only merge when all tests are successful.

python-version: ${{ matrix.python-version }}

- name: Ensure uv.lock is correct
run: uv lock --refresh && git diff --exit-code
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is this supposed to work?
Why is it the --refresh option?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--refresh refreshes the cache before running uv lock.
With the git diff returning an error code if there are any changes.

@jealous jealous merged commit d64c12c into main Dec 18, 2025
45 checks passed
@jealous jealous deleted the fix-main-ty branch December 18, 2025 19:29
SarahScargall pushed a commit to SarahScargall/MemMachine that referenced this pull request Dec 19, 2025
* Fix Type issues in main branch

* Rename to generic lint workflow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants