-
Notifications
You must be signed in to change notification settings - Fork 11
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
Use Docker to build the deb packages #24
Conversation
This replaces the old Ansible / Vagrant setup with Docker. All the building steps are run in the relevant `ubuntu:X.Y` image, and the resulting deb package is copied to the client host. As with the old scripts, you can pass build args to control the process. The full command is: ``` docker buildx build \ --output type=local,dest=. \ --build-arg CKAN_VERSION=2.11 \ --build-arg CKAN_BRANCH=dev-v2.11 \ --build-arg DATAPUSHER_VERSION=0.0.21 \ --build-arg DISTRIBUTION=noble \ --build-arg UBUNTU_VERSION=24.04 \ . ``` For now we are sticking with a single Dockerfile for all Ubuntu versions as there is only one minor difference in focal, but if there are more differences added in the future we will switch to different Dockerfiles.
Wonderful wonderful work here @amercader! I have quickly built 4 debian packages on my Mac OS machine: Here are the branches I have built (just to test)
I can further test and merge after you finish the TODO above or when give me the word |
@kowh-ai great! Testing the deb packages would be great, this is what's important for the release. The versions you tested are correct, but use the dev-v2.10 branch otherwise we won't get the latest changes included in 2.10.5. Let's do at least the first two items before merging, actions can be a separate PR |
Testing of deb packages
|
@amercader - had an issue installing dev-v2.11 on jammy. Seems the file: I tried a brand new VM and re-built this debian package but I got the same result. To fix I just removed the corrupted lines in the I'll continued with the others now |
That's really weird. This looks like a merge error but the HEAD at the dev-v2.11 branch doesn't have these lines: https://github.com/ckan/ckan/blob/dev-v2.11/ckanext/activity/subscriptions.py#L167 These lines were removed 3 weeks ago: Try using --no-cache when building to see if that helps |
Yes the |
@amercader - Looks to be a problem with running the deb package for noble includes Python 3.12 which has a problem with This is the error: I'll see if I can work out how to include (build) Python 3.11 in the package rather than 3.12 |
This again looks like a caching issue. The py 3.12 compatibility issue with Docker with cache the |
@amercader - OK, I thought I had used the |
There are two separate workflows: * `build.yml` builds the deb packages (based on the versions i supplied in `VERSIONS.json`) and stores them as artifacfts in the workflow run page. This is triggered on every push. * Additionally, when a tag is pushed, `publish.yml` also builds the packages and: 1. Uploads them to the S3 bucket powering https://packaging.ckan.org 2. Creates a new GitHub release with the packages attached as asset
This is now complete. There are two new GitHub workflows:
|
This replaces the old Ansible / Vagrant setup with Docker. All the building steps are run in the relevant
ubuntu:X.Y
image, and the resulting deb package is copied to the client host. As with the old scripts, you can pass build args to control the process. The full command is:For now we are sticking with a single Dockerfile for all Ubuntu versions as there is only one minor difference in focal, but if there are more differences added in the future we will switch to different Dockerfiles.
All the target combinations for the next release build fine, full script below for reference:
TODO:
ckan-package
helper script