Skip to content

Conversation

ddabble
Copy link
Member

@ddabble ddabble commented Oct 4, 2025

Proposed changes

45b47b0 introduces the following practical changes, among other things:

  • All the requirements have been moved from the requirements[...].txt files into pyproject.toml, which is the more modern way of configuring a project's dependencies
  • Wheels for our dependencies can be linked under [tool.uv.sources] in pyproject.toml, removing the need to provide instructions for installing python-ldap on Windows in the README
  • uv will automatically download the project's Python version (if not already installed on the system)
  • The virtual environment doesn't have to be activated anymore, you can just run e.g. uv run manage.py ... (instead of python manage.py ...)

Also:

  • Renamed build workflow to CI (50d56a1)
  • Prevented compilemessages from processing files outside the src folder (08c8aeb)

Areas to review closely

Try installing the requirements using uv locally, and comment any feedback you have on the process 🙂

Deployment notes

Must update the deployment scripts on the prod server to use uv.

Checklist

(If any of the points are not relevant, mark them as checked, so that it's easy to see which points you've handled or not)

  • I've run makemigrations, makemessages and compilemessages
  • I've written tests that fail without these changes (if relevant/possible)
  • I've manually tested the website UI with different device layouts
    • Most common is to test with typical screen sizes for mobile (320-425 px), tablet (768 px) and desktop (1024+ px), which can easily be done with your browser's dev tools
  • I've manually tested with different users locally
    • This can be e.g. anonymous users (i.e. not being logged in), "normal" non-member users, members of different committees, and superusers
  • I've made sure that my code conforms to the code style guides
    • It's not intended that you read through this whole document, but that you get yourself an overview over its contents, and that you use it as a reference guide / checklist while taking a second look at your code before opening a pull request
  • I've attempted to minimize the number of common code smells
    • See the comment for the previous checkbox
  • I've added documentation
    • E.g. comments, docstrings, or in the README
  • I've added my changes to the "Unreleased" section of the changelog, together with a link to this PR
    • Mainly the changes that are of particular interest to users and/or developers, if any
  • I've added a "Deployment notes" section above and labelled the PR with has-deployment-notes
    • ...if anything out of the ordinary should be done when deploying these changes to the server (e.g. adding/removing an environment variable, manually creating/changing some objects, running a management command, etc.)
  • I've structured my commits reasonably

A more accurate name.
The next commit will migrate the project to use uv, which creates
a `.venv` folder *inside* the repo folder by default.
This commit mainly prevents `compilemessages` from processing every
single `.po` file inside that `.venv` folder.
Also removed the `test-results` job (added in b833efd)
as it's not needed now that we don't use `strategy.matrix` anymore to
run the tests.

Also changed Dependabot's update schedule for our Python dependencies
from daily to weekly, which is probably more manageable for us.

Also upgraded `actions/checkout` and `actions/setup-python`, which
didn't have any breaking changes for us.
@make-bot make-bot bot added this to web Oct 4, 2025
@make-bot make-bot bot moved this to Ready for Review in web Oct 4, 2025
Copy link

codecov bot commented Oct 4, 2025

Codecov Report

❌ Patch coverage is 0% with 25 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.04%. Comparing base (2f2af32) to head (45b47b0).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/web/management/commands/makemessages.py 0.00% 16 Missing ⚠️
src/web/management/commands/compilemessages.py 0.00% 9 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #766      +/-   ##
==========================================
- Coverage   88.28%   88.04%   -0.25%     
==========================================
  Files         152      153       +1     
  Lines        6207     6224      +17     
==========================================
  Hits         5480     5480              
- Misses        727      744      +17     
Files with missing lines Coverage Δ
src/mail/email.py 43.90% <ø> (ø)
src/web/management/commands/compilemessages.py 0.00% <0.00%> (ø)
src/web/management/commands/makemessages.py 0.00% <0.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ddabble ddabble mentioned this pull request Oct 5, 2025
10 tasks
Copy link
Contributor

@TheStrgamer TheStrgamer left a comment

Choose a reason for hiding this comment

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

Looks good to me, tried it out locally and it was very easy to set up.
Maybe look into why codecov fails, but otherwise it's good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Ready for Review

Development

Successfully merging this pull request may close these issues.

2 participants