From 2af5307cb9309dc5669414c798a090edfa3167d4 Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Tue, 31 Dec 2024 11:23:02 -0500 Subject: [PATCH 01/10] add manual cmake installation --- Dockerfile | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b67ac56ab..729417100 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,12 +7,23 @@ WORKDIR /usr/local/specfempp COPY . . -# Install CMake +# Build and Install CMake RUN echo "Installing CMake..." && \ echo "====================" && \ echo "" && \ apt-get update && \ - apt-get install -y cmake && \ + apt purge cmake && \ + version=3.26 && \ + build=5 && \ + ## don't modify from here + mkdir ~/temp && \ + cd ~/temp && \ + wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz && \ + tar -xzvf cmake-$version.$build.tar.gz && \ + cd cmake-$version.$build/ && \ + ./bootstrap --parallel=$(nproc) && \ + make -j$(nproc) && \ + make install && \ echo "Done." RUN echo "cmake version:" && \ From f90abb23e24ff598ef690a1e3a9206cabf6611bb Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Thu, 2 Jan 2025 03:26:41 -0500 Subject: [PATCH 02/10] Added docker publish for PR to test will remove after possible run --- .github/workflows/docker.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ce3d90e4c..c7b447379 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -6,6 +6,9 @@ on: - main tags: - v* + pull_request: + branches: + - devel permissions: packages: write jobs: From 359974a7533813282a1b9217f856d35ace18eff1 Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Mon, 6 Jan 2025 09:32:11 +0100 Subject: [PATCH 03/10] Updated dockerfile --- Dockerfile | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 729417100..f069d5dff 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,26 +30,17 @@ RUN echo "cmake version:" && \ cmake --version && \ echo "Done." -# Install Boost -RUN echo "Installing Boost..." && \ - echo "====================" && \ - echo "" && \ - wget https://archives.boost.io/release/1.73.0/source/boost_1_73_0.tar.bz2 && \ - tar --bzip2 -xf boost_1_73_0.tar.bz2 && \ - cd boost_1_73_0 && \ - ./bootstrap.sh --prefix=/usr/local/boost_1_73_0 && \ - ./b2 install - # Install SPECFEM++ RUN echo "Installing SPECFEM++..." && \ echo "========================" && \ echo "" && \ git submodule init && git submodule update && \ + rm -rf build && \ cmake -S . -B build -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTS=ON -D BUILD_EXAMPLES=ON && \ cmake --build build && \ echo "Done." # Set environment variables -ENV PATH="/usr/local/specfempp/build:${PATH}" +ENV PATH="/usr/local/specfempp/build/bin:${PATH}" CMD ["/bin/bash"] From cd79a47f8e8f9a9840e68ce3e9f3f98fa467c3b5 Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Mon, 6 Jan 2025 11:56:02 +0100 Subject: [PATCH 04/10] Ficed docker build by building cmake manually. It is time-consuming though. --- Dockerfile | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index f069d5dff..c22cdb4ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,10 @@ FROM gcc:9.5.0 # Set up WORKDIR WORKDIR /usr/local/specfempp -COPY . . +ENV SOURCE=/usr/local/specfempp/source +ENV BUILD=/usr/local/specfempp/build + +COPY . ${SOURCE} # Build and Install CMake RUN echo "Installing CMake..." && \ @@ -23,7 +26,8 @@ RUN echo "Installing CMake..." && \ cd cmake-$version.$build/ && \ ./bootstrap --parallel=$(nproc) && \ make -j$(nproc) && \ - make install && \ + make -j$(nproc) install && \ + rm -rf ~/temp && \ echo "Done." RUN echo "cmake version:" && \ @@ -34,13 +38,15 @@ RUN echo "cmake version:" && \ RUN echo "Installing SPECFEM++..." && \ echo "========================" && \ echo "" && \ + cd ${SOURCE} && \ git submodule init && git submodule update && \ - rm -rf build && \ - cmake -S . -B build -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTS=ON -D BUILD_EXAMPLES=ON && \ - cmake --build build && \ + rm -rf ${BUILD} && \ + cmake -S ${SOURCE} -B ${BUILD} -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTS=ON -D BUILD_EXAMPLES=ON && \ + cmake --build ${BUILD} && \ + rm -rf ${SOURCE} && \ echo "Done." # Set environment variables -ENV PATH="/usr/local/specfempp/build/bin:${PATH}" +ENV PATH="${BUILD}/bin:${PATH}" CMD ["/bin/bash"] From 1ee108fc8739bfd167b5d68e53d60073b35d595d Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Mon, 6 Jan 2025 11:58:55 +0100 Subject: [PATCH 05/10] Added the whatever tag flag to the docker thing --- .github/workflows/docker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c7b447379..a519293c1 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -9,6 +9,8 @@ on: pull_request: branches: - devel + tags: + - v* permissions: packages: write jobs: From c970c539da31d97f494588072d1457e0ed479a59 Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Mon, 6 Jan 2025 12:01:15 +0100 Subject: [PATCH 06/10] Added the whatever tag flag to the docker thing add tag --- .github/workflows/docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a519293c1..79b109235 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -11,6 +11,7 @@ on: - devel tags: - v* + permissions: packages: write jobs: From e68a0734915a0ac2c57c3f15a427ecbf56274d94 Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Mon, 6 Jan 2025 12:06:26 +0100 Subject: [PATCH 07/10] checking the tag --- .github/workflows/docker.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 79b109235..ea945884e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -36,6 +36,10 @@ jobs: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + + - name: Check tag + run: echo Tag for push is ${{ steps.meta.outputs.tags }} + - name: Build container uses: docker/build-push-action@v5 with: From 203a84e3086c540c4cf2e05907f1b094e5990108 Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Mon, 6 Jan 2025 12:09:48 +0100 Subject: [PATCH 08/10] checking the tag --- .github/workflows/docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ea945884e..1ca1e5ba0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -27,6 +27,7 @@ jobs: with: images: ghcr.io/PrincetonUniversity/SPECFEMPP tags: | + type=ref,event=branch,enable=${{ github.ref == format('refs/heads/{0}', 'issue-355') }} type=ref,event=branch,enable=${{ github.ref == format('refs/heads/{0}', 'devel') }} type=ref,event=tag type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }} From 3faba044d8dce1c178f04064cc3060f801d07460 Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Mon, 6 Jan 2025 12:11:21 +0100 Subject: [PATCH 09/10] checking the tag --- .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 1ca1e5ba0..d2f5b777f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -27,7 +27,7 @@ jobs: with: images: ghcr.io/PrincetonUniversity/SPECFEMPP tags: | - type=ref,event=branch,enable=${{ github.ref == format('refs/heads/{0}', 'issue-355') }} + type=raw,event=branch,enable=${{ github.ref == format('refs/heads/{0}', 'issue-355') }} type=ref,event=branch,enable=${{ github.ref == format('refs/heads/{0}', 'devel') }} type=ref,event=tag type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }} From 312572e5e2f55cdb13d3e1e27ab36bf6ee8b7ab5 Mon Sep 17 00:00:00 2001 From: Lucas Sawade Date: Mon, 6 Jan 2025 12:15:01 +0100 Subject: [PATCH 10/10] Reverted the workflow so that it can be run on the devel branch --- .github/workflows/docker.yml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index d2f5b777f..ce3d90e4c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -6,12 +6,6 @@ on: - main tags: - v* - pull_request: - branches: - - devel - tags: - - v* - permissions: packages: write jobs: @@ -27,7 +21,6 @@ jobs: with: images: ghcr.io/PrincetonUniversity/SPECFEMPP tags: | - type=raw,event=branch,enable=${{ github.ref == format('refs/heads/{0}', 'issue-355') }} type=ref,event=branch,enable=${{ github.ref == format('refs/heads/{0}', 'devel') }} type=ref,event=tag type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }} @@ -37,10 +30,6 @@ jobs: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - - - name: Check tag - run: echo Tag for push is ${{ steps.meta.outputs.tags }} - - name: Build container uses: docker/build-push-action@v5 with: