Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
797ff87
sperate apt packages installed globally (= in all containers) and per…
mbruns91 Nov 29, 2024
c857c82
go back to only a local apt.txt; concatenate the depentencies form ba…
mbruns91 Nov 29, 2024
590af16
modify mpie_cmti/Dockerfile to be standalone
mbruns91 Nov 29, 2024
0a94743
add a build stage 'root_image'; minor edits
mbruns91 Nov 29, 2024
6530f1b
fix linebreaks in ENV section
mbruns91 Nov 29, 2024
ad09b80
minor fix
mbruns91 Nov 29, 2024
f7abb92
fix Dockerfile
mbruns91 Nov 29, 2024
640c708
Merge branch 'main' into mpie_cmti_standalone
mbruns91 Nov 29, 2024
46a675b
update environment.yml
mbruns91 Nov 29, 2024
08d1f03
Update mpie_cmti/environment.yml
mbruns91 Dec 4, 2024
dffefc1
Update mpie_cmti/environment.yml
mbruns91 Dec 4, 2024
b4329b2
Update mpie_cmti/environment.yml
mbruns91 Dec 4, 2024
17cde4f
Update mpie_cmti/environment.yml
mbruns91 Dec 4, 2024
9967b33
Update mpie_cmti/environment.yml
mbruns91 Dec 4, 2024
103c62b
Update mpie_cmti/environment.yml
mbruns91 Dec 4, 2024
ea62e3d
fix environment.yml
mbruns91 Dec 4, 2024
b08c6da
Merge branch 'main' into mpie_cmti_standalone
mbruns91 Dec 4, 2024
abc35c6
Separate cmti test to other VM
niklassiemer Dec 4, 2024
1adcc46
Update testing.yml
niklassiemer Dec 5, 2024
c002a03
Merge branch 'main' into mpie_cmti_standalone
niklassiemer Feb 21, 2025
d2d1c54
Use caches to separate build and release
niklassiemer Feb 21, 2025
d9b1115
Merge branch 'main' into mpie_cmti_standalone
niklassiemer Feb 21, 2025
4691d24
update dependencies
niklassiemer Feb 21, 2025
fc565a1
fix cache key and pip check dependency
niklassiemer Feb 21, 2025
e411a2d
fix wrong step name in key
niklassiemer Feb 21, 2025
0ecf5ca
Merge branch 'main' into mpie_cmti_standalone
niklassiemer Feb 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 48 additions & 8 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,6 @@ jobs:
tail --lines=+5 base/environment.yml >> experimental/environment.yml
docker build -t pyiron/experimental:latest experimental/
docker tag pyiron/experimental:latest pyiron/experimental:"$(date +%F)"
- name: Build pyiron/mpie_cmti
timeout-minutes: 5
run: |
tail --lines=+5 pyiron/environment.yml >> mpie_cmti/environment.yml
docker build -t pyiron/mpie_cmti:latest mpie_cmti/
docker tag pyiron/mpie_cmti:latest pyiron/mpie_cmti:"$(date +%F)"
# Publish
- run: docker images
- run: docker push pyiron/base:latest
Expand All @@ -76,8 +70,6 @@ jobs:
- run: docker push pyiron/experimental:"$(date +%F)"
- run: docker push pyiron/continuum:latest
- run: docker push pyiron/continuum:"$(date +%F)"
- run: docker push pyiron/mpie_cmti:latest
- run: docker push pyiron/mpie_cmti:"$(date +%F)"
# Export Environments
- run: mkdir -p environment; chmod 777 environment
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/base /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/pyiron_base_$(date +%F).yml;'
Expand All @@ -86,8 +78,56 @@ jobs:
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/pyiron /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/pyiron_pyiron_$(date +%F).yml;'
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/potentialworkshop /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/pyiron_potentialworkshop_$(date +%F).yml;'
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/experimental /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/pyiron_experimental_$(date +%F).yml;'
- run: ls -al environment
- name: cache
uses: actions/cache/save@v4
with:
path: environment/*.yml
key: all_env_${{ steps.date.outputs.date }}$
build_cmti:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get current date
id: date
run: echo "date=$(date +%F)" >> $GITHUB_OUTPUT
- name: Build pyiron/mpie_cmti
timeout-minutes: 5
run: |
tail --lines=+5 pyiron/environment.yml >> mpie_cmti/environment.yml
docker build -t pyiron/mpie_cmti:latest mpie_cmti/
docker tag pyiron/mpie_cmti:latest pyiron/mpie_cmti:"$(date +%F)"
# Publish
- run: docker images
- run: docker push pyiron/mpie_cmti:latest
- run: docker push pyiron/mpie_cmti:"$(date +%F)"
# Export Environments
- run: mkdir -p environment; chmod 777 environment
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/mpie_cmti /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/pyiron_mpie_cmti_$(date +%F).yml;'
- run: ls -al environment
- name: cache
uses: actions/cache/save@v4
with:
path: environment/*.yml
key: cmti_env_${{ steps.date.outputs.date }}$
release:
needs: [build, build_cmti]
runs-on: ubuntu-latest
steps:
- run: ls -al environment
- name: Get current date
id: date
run: echo "date=$(date +%F)" >> $GITHUB_OUTPUT
- name: cache_cmti
uses: actions/cache/restore@v4
with:
path: environment/*.yml
key: cmti_env_${{ steps.date.outputs.date }}$
- name: cache
uses: actions/cache/restore@v4
with:
path: environment/*.yml
key: all_env_${{ steps.date.outputs.date }}$
- name: Release
uses: softprops/action-gh-release@v1
with:
Expand Down
53 changes: 46 additions & 7 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ jobs:
needs: [pip_check]
runs-on: ubuntu-latest
steps:
- name: Get current date
id: date
run: echo "date=$(date +%F)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v4
- name: Build pyiron/base
timeout-minutes: 5
Expand Down Expand Up @@ -70,12 +73,6 @@ jobs:
tail --lines=+5 base/environment.yml >> experimental/environment.yml
docker build -t pyiron/experimental:latest experimental/
docker tag pyiron/experimental:latest pyiron/experimental:"$(date +%F)"
- name: Build pyiron/mpie_cmti
timeout-minutes: 5
run: |
tail --lines=+5 pyiron/environment.yml >> mpie_cmti/environment.yml
docker build -t pyiron/mpie_cmti:latest mpie_cmti/
docker tag pyiron/mpie_cmti:latest pyiron/mpie_cmti:"$(date +%F)"
# Testing
- run: docker images
#- name: Test pyiron/continuum
Expand All @@ -98,11 +95,53 @@ jobs:
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/pyiron /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/pyiron_pyiron_$(date +%F).yml;'
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/potentialworkshop /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/pyiron_potentialworkshop_$(date +%F).yml;'
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/experimental /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/pyiron_experimental_$(date +%F).yml;'
- name: cache
uses: actions/cache/save@v4
with:
path: environment/*.yml
key: all_env_-${{ steps.date.outputs.date }}
build_cmti:
needs: [pip_check]
runs-on: ubuntu-latest
steps:
- name: Get current date
id: date
run: echo "date=$(date +%F)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v4
- name: Build pyiron/mpie_cmti
timeout-minutes: 15
run: |
docker build -t pyiron/mpie_cmti:latest mpie_cmti/
docker tag pyiron/mpie_cmti:latest pyiron/mpie_cmti:"$(date +%F)"
- run: docker images
- run: mkdir -p environment; chmod 777 environment
- run: docker run -v $(pwd)/environment:/home/jovyan/ --rm pyiron/mpie_cmti /bin/bash -c 'source /opt/conda/bin/activate; conda env export > /home/jovyan/mpie_cmti_$(date +%F).yml;'
- name: cache
uses: actions/cache/save@v4
with:
path: environment/*.yml
key: cmti_env_-${{ steps.date.outputs.date }}
check:
needs: [build, build_cmti]
runs-on: ubuntu-latest
steps:
- name: Get current date
id: date
run: echo "date=$(date +%F)" >> $GITHUB_OUTPUT
- name: cache_cmti
uses: actions/cache/restore@v4
with:
path: environment/*.yml
key: cmti_env_-${{ steps.date.outputs.date }}
- name: cache
uses: actions/cache/restore@v4
with:
path: environment/*.yml
key: all_env_-${{ steps.date.outputs.date }}
- run: ls -al environment

autobot:
needs: [build]
needs: [build, build_cmti]
permissions:
contents: write
pull-requests: write
Expand Down
48 changes: 42 additions & 6 deletions mpie_cmti/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,52 @@
ARG ROOT_CONTAINER=pyiron/pyiron:latest
ARG BASE_CONTAINER=$ROOT_CONTAINER
FROM $BASE_CONTAINER
ARG ROOT_IMAGE=jupyter/base-notebook:ubuntu-22.04@sha256:0ec801994602a53d3917d0f07ccf4474a1ddf5ae419483b24681a3c42abc4ce5 AS root_image
FROM $ROOT_IMAGE

MAINTAINER Jan Janssen <janssen@mpie.de>
MAINTAINER Jan Janssen <janssen@mpie.de>, Marian Bruns <m.bruns@mpie.de>

USER $DOCKER_UID
WORKDIR $HOME
ARG DOCKER_UID="1000"
ARG DOCKER_GID="100"

# Configure environment
ENV CONDA_DIR=/opt/conda \
SHELL=/bin/bash \
LC_ALL=en_US.UTF-8 \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
DOCKER_UID=$DOCKER_UID \
DOCKER_GID=$DOCKER_GID \
HOME=/home/$NB_USER \
OMPI_MCA_plm=isolated \
OMPI_MCA_rmaps_base_oversubscribe=yes \
OMPI_MCA_btl_vader_single_copy_mechanism=none

# apt installation as root
USER root

# copy list of apt packages to be installed
COPY apt.txt /tmp/

# install the packages and clean up
RUN apt-get update -y &&\
xargs -a /tmp/apt.txt apt-get install -y &&\
apt-get clean &&\
rm /tmp/apt.txt

# install conda packages as $DOCKER_USER
USER ${DOCKER_UID}
WORKDIR ${HOME}
ARG PYTHON_VERSION=default

COPY . ${HOME}/
RUN mamba env update -n base -f ${HOME}/environment.yml && \
mamba clean --all -f -y && \
mamba list

# Fix permissions on /etc/jupyter as root
USER root
RUN fix-permissions /etc/jupyter/ &&\
fix-permissions ${HOME} && \
fix-permissions ${CONDA_DIR}

# switch back to DOCKER_USER
USER $DOCKER_UID
WORKDIR $HOME
2 changes: 2 additions & 0 deletions mpie_cmti/apt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
libgl1-mesa-glx
patch
38 changes: 25 additions & 13 deletions mpie_cmti/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,42 @@ dependencies:
- aimsgb =1.1.1
- atomicrex =1.0.4
- bader =1.0.5
- bokeh =3.6.3
- calphy =1.3.13
- fitsnap3 =3.1.0.4
- flux-core =0.64.0
- git =2.46.0
- gpaw =24.6.0=*openmpi*
- jupyter-server-proxy =4.4.0
- jupyterhub =5.2.1
- lammps =2023.08.02=*openmpi*
- llama-index =0.12.19
- matgl =1.1.2
- maxvolpy =0.3.8
- nbgitpuller =1.2.2
- netcdf4 =1.7.1
- nglview =3.1.4
- mkl =2023.2.0
- mlip =2.0
- numba =0.60.0
- openkim-models =2021.01.28
- psycopg2 =2.9.9
- pyiron =0.5.2
- pyiron-data =0.0.30
- pyiron_atomistics =0.6.23
- pyiron_base =0.11.1
- pyiron_contrib =0.1.18
- pyiron_potentialfit =0.3.8
- pyiron_workflow =0.12.0
- pyiron_gui =0.0.12
- pyironflow =0.0.9
- matgl =1.1.2
- mlip =2.0
- sqsgenerator =0.3
- pyiron_gpl =0.0.5
- pyironflow =0.0.9
- python-ace =0.3.0
- pytorch =2.1.2
- pyxtal =1.0.6
- runner =1.3
- sphinxdft =3.1
- sqsgenerator =0.3
- structdbrest =0.0.1
- tensorflow =2.17.0
- psycopg2 =2.9.9
- numba =0.60.0
- llama-index =0.12.19
- jupyter-server-proxy =4.4.0
- jupyterhub =5.2.1
- flux-core =0.64.0
- netcdf4 =1.7.1
- maxvolpy =0.3.8
- bokeh =3.6.3

Loading