Upgrade to Ubuntu 24.04 for our application (#12002)
- Use Ubuntu 24.04 for our Docker images
- The application runs with Python 3.12 now
- Run tests with Python 3.12
- Update APT package names
- Install `uv` in the default directory `~/.local/bin`
- Add `uv` to the PATH
- Create a virtualenv inside the Docker image for our application.
`--system` option does not work anymore with the newer `pip` versions.
It fails saying that we should install Python dependencies using system
package.
- Upgrade Celery dependency to be compatible with Python 3.12
- The `pickle` error we used to see with Celery does not happen anymore
with the newer version + py3.12
- Remove `tzdata` because it's installed automatically now
## ToDo
- [x] tests pass locally
- [x] build a failed build that raises `ConfigError` without breaking
- [x] build a success build
- [x] tests pass in CircleCI
- [x] update -ops to use Ubuntu 24.04
- [x] build an AMI
- [x] deploy _one_ instance and run a build there
- [ ] do the same upgrade on .com
## Notes
- All the Python commands inside the Docker container needs to be
prefixed with `uv run` now. Example: `uv run tox -e 312` or `uv run
django-admin` and similars.
Related https://github.com/readthedocs/readthedocs-ops/issues/1496
Closes #12000