From 4ee87618a2b8c7a57124a8b49eaffc86eb76ab52 Mon Sep 17 00:00:00 2001 From: Andrew Pontzen Date: Thu, 13 Jun 2024 16:40:41 +0100 Subject: [PATCH 1/8] Fix missing HighFive git submodule in docker build --- .github/workflows/docker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 960cfa67..119c96bb 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -13,6 +13,8 @@ jobs: environment: Docker steps: - uses: actions/checkout@v2 + with: + submodules: recursive - name: Determine version tag run: echo "VERSION_TAG=`git describe --tags | cut -c 2-`" >> $GITHUB_ENV From 1bac21d44e460f0bd02766d7c55bc90e62019048 Mon Sep 17 00:00:00 2001 From: Andrew Pontzen Date: Thu, 13 Jun 2024 16:44:07 +0100 Subject: [PATCH 2/8] Temporary force version number --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 119c96bb..69aea043 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -17,7 +17,7 @@ jobs: submodules: recursive - name: Determine version tag - run: echo "VERSION_TAG=`git describe --tags | cut -c 2-`" >> $GITHUB_ENV + run: echo "VERSION_TAG=1.5.0" >> $GITHUB_ENV - name: Display version tag run: echo Version is ${{ env.VERSION_TAG }} From 9db6a7c4db2bbb42cd4e678d2365239a4f521043 Mon Sep 17 00:00:00 2001 From: Andrew Pontzen Date: Mon, 30 Sep 2024 15:48:33 +0100 Subject: [PATCH 3/8] See if error can be fixed by using pynbody 2 beta --- genetIC/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genetIC/Dockerfile b/genetIC/Dockerfile index 96fc9cf3..9f3b92c8 100644 --- a/genetIC/Dockerfile +++ b/genetIC/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:24.04 COPY ./ /genetIC RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y g++-12 libgsl-dev libfftw3-dev python3-pip pkg-config libhdf5-serial-dev -RUN pip3 install pynbody --break-system-packages # should use a venv but this is simpler for now +RUN pip3 install --pre pynbody --break-system-packages # should use a venv but this is simpler for now RUN cd /genetIC && make clean && make ENTRYPOINT ["/genetIC/genetIC"] From 2828e0b98ddb15d53d96d4fc2f90785a658250a7 Mon Sep 17 00:00:00 2001 From: Andrew Pontzen Date: Mon, 30 Sep 2024 16:50:01 +0100 Subject: [PATCH 4/8] Temporary fix for broken pynbody installation Trying to use pynbody v2 but no binary is available for arm64 And, to make matters impossible, the source distribution on pip is broken! (See https://github.com/pynbody/pynbody/issues/850) --- genetIC/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genetIC/Dockerfile b/genetIC/Dockerfile index 9f3b92c8..fb31e26f 100644 --- a/genetIC/Dockerfile +++ b/genetIC/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:24.04 COPY ./ /genetIC RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y g++-12 libgsl-dev libfftw3-dev python3-pip pkg-config libhdf5-serial-dev -RUN pip3 install --pre pynbody --break-system-packages # should use a venv but this is simpler for now +RUN pip3 install git+https://github.com/pynbody/pynbody.git --break-system-packages # should use a venv but this is simpler for now RUN cd /genetIC && make clean && make ENTRYPOINT ["/genetIC/genetIC"] From 5f94e9e5e1979bc3e7c7896971d89b9ed9c13f8e Mon Sep 17 00:00:00 2001 From: Andrew Pontzen Date: Mon, 30 Sep 2024 22:29:52 +0100 Subject: [PATCH 5/8] Another attempt to fix docker installation of pynbody --- genetIC/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/genetIC/Dockerfile b/genetIC/Dockerfile index fb31e26f..9a43455f 100644 --- a/genetIC/Dockerfile +++ b/genetIC/Dockerfile @@ -2,6 +2,7 @@ FROM ubuntu:24.04 COPY ./ /genetIC RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y g++-12 libgsl-dev libfftw3-dev python3-pip pkg-config libhdf5-serial-dev +RUN apt-get install -y git # temporary for installing pynbody from git, see line below RUN pip3 install git+https://github.com/pynbody/pynbody.git --break-system-packages # should use a venv but this is simpler for now RUN cd /genetIC && make clean && make From 962cd2e551dbe2ad4be47bdaf0eef99f6bc2b7ba Mon Sep 17 00:00:00 2001 From: Andrew Pontzen Date: Sun, 6 Oct 2024 10:51:28 +0100 Subject: [PATCH 6/8] Move back to using pypi pynbody Now that linux aarch64 wheels are available, this should work --- genetIC/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/genetIC/Dockerfile b/genetIC/Dockerfile index 9a43455f..9f3b92c8 100644 --- a/genetIC/Dockerfile +++ b/genetIC/Dockerfile @@ -2,8 +2,7 @@ FROM ubuntu:24.04 COPY ./ /genetIC RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y g++-12 libgsl-dev libfftw3-dev python3-pip pkg-config libhdf5-serial-dev -RUN apt-get install -y git # temporary for installing pynbody from git, see line below -RUN pip3 install git+https://github.com/pynbody/pynbody.git --break-system-packages # should use a venv but this is simpler for now +RUN pip3 install --pre pynbody --break-system-packages # should use a venv but this is simpler for now RUN cd /genetIC && make clean && make ENTRYPOINT ["/genetIC/genetIC"] From 1eacd98476754f239b9d64d3ecbd47eb132371a4 Mon Sep 17 00:00:00 2001 From: Andrew Pontzen Date: Sun, 6 Oct 2024 11:05:17 +0100 Subject: [PATCH 7/8] Update github action versions --- .github/workflows/docker.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 69aea043..fe6ac3f7 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -23,22 +23,22 @@ jobs: run: echo Version is ${{ env.VERSION_TAG }} - name: Login to Dockerhub - uses: docker/login-action@v1 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v3 with: platforms: all - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Build and push id: docker_build - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v6 with: builder: ${{ steps.buildx.outputs.name }} context: ./genetIC From 98ff32751ab9582e2e9318f5802aa426a131bc3c Mon Sep 17 00:00:00 2001 From: Andrew Pontzen Date: Sun, 6 Oct 2024 12:06:56 +0100 Subject: [PATCH 8/8] Revert to getting tag name from git --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index fe6ac3f7..6f48a3a0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -17,7 +17,7 @@ jobs: submodules: recursive - name: Determine version tag - run: echo "VERSION_TAG=1.5.0" >> $GITHUB_ENV + run: echo "VERSION_TAG=`git describe --tags | cut -c 2-`" >> $GITHUB_ENV - name: Display version tag run: echo Version is ${{ env.VERSION_TAG }}