Skip to content
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

versioning #113

Merged
merged 11 commits into from
Dec 11, 2023
Merged

versioning #113

merged 11 commits into from
Dec 11, 2023

Conversation

bloodearnest
Copy link
Member

@bloodearnest bloodearnest commented Nov 22, 2023

  • Add a new version of the python image.
  • CI test and publish for versions

Fixes #112

@bloodearnest bloodearnest force-pushed the versioning branch 5 times, most recently from 222127d to f83d71c Compare November 22, 2023 21:13
@bloodearnest bloodearnest marked this pull request as ready for review November 23, 2023 16:01
@bloodearnest bloodearnest force-pushed the versioning branch 3 times, most recently from 86be1a0 to 0d1196f Compare November 27, 2023 14:02
Copy link
Contributor

@evansd evansd left a comment

Choose a reason for hiding this comment

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

This is all very exciting. Sorry for taking so long to review. Beyond removing a couple of stray .swp files I don't have suggestions at this point.

tests/.test_import.py.swp Outdated Show resolved Hide resolved
tests/test_import.py Show resolved Hide resolved
tests/test_import.py Show resolved Hide resolved
scripts/publish.sh Outdated Show resolved Hide resolved
scripts/.render.py.swp Outdated Show resolved Hide resolved
This new version is based on 22.04 and python3.10, and has an up to date
version of all python packages.

The versioning scheme is arbitrary major version, e.g. v1, v2, etc. The
previous image is retained as v1, and the new image is v2.

This move from maintaining 1 to 2 images requires some refactoring. Each
major version has its own directory, and associated configuration files
to track dependencies. They both share the same parameterised
`Dockerfile` and `docker-compose.yaml`.

In the process, I have also improved the local development tooling:
 - move from Makefile to parameterised justfile
 - some small reording of Dockerfile steps for efficiency and reuse
 - a proper solution for user the docker images themselves to add new
   dependencies and/or upgrade existing ones. This means you a) do not
   need all the python versions installed on your machine and b) this
   can be built on macos, in theory.
The github workflows have been updated to publish the v1 image as *both*
`v1` and `latest` tags for now, as well as under the jupyter alias. The
`v2` is published separately as just `v2`.
Used in docker image label and tag

Refactored publishing script too.
This can be enhanced as needed, but the basic versions and tooling is
there.

Jinja2 is installed in the images, so we re-use the images themselves to
render the template.
- Completely new user-facing README.md content
- DEVELOPERS.md with playbook style info
- Issue template for requesting packages
Seems like a useful thing to bundle documentation.
Also, updated missed rendering of v1/packages.md
Also, switch from generic end-user package `jupyter` package to specific
packages we need. This drops the dependency on qtconsole.
@bloodearnest bloodearnest merged commit 7946e88 into main Dec 11, 2023
4 checks passed
@bloodearnest bloodearnest deleted the versioning branch December 11, 2023 12:11
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.

spike a new python 3.11 docker image
2 participants