Skip to content

Lightweight run image #580

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

Merged
merged 6 commits into from
Nov 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
14 changes: 10 additions & 4 deletions .github/workflows/ci_cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ name: CI
on:
pull_request:
workflow_dispatch:
inputs:
PyDynaRunContainer:
description: 'Run container name'
required: false
default: ghcr.io/ansys/pydyna-run:latest
push:
tags:
- "*"
Expand All @@ -13,6 +18,7 @@ env:
PACKAGE_NAME: 'ansys-dyna-core'
PACKAGE_NAMESPACE: 'ansys.dyna.core'
DOCUMENTATION_CNAME: "dyna.docs.pyansys.com"
PYDYNA_RUN_CONTAINER: ${{ github.event.inputs.PyDynaRunContainer || 'ghcr.io/ansys/pydyna-run:latest'}}

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down Expand Up @@ -116,13 +122,13 @@ jobs:

- name: "Build the html documentation"
env:
PYDYNA_RUN_CONTAINER: ghcr.io/ansys/pydyna-run:latest
PYDYNA_RUN_CONTAINER: ${{ env.PYDYNA_RUN_CONTAINER }}
run: |
xvfb-run make -C doc html

- name: "Build the pdf documentation"
env:
PYDYNA_RUN_CONTAINER: ghcr.io/ansys/pydyna-run:latest
PYDYNA_RUN_CONTAINER: ${{ env.PYDYNA_RUN_CONTAINER }}
run: |
make -C doc pdf

Expand Down Expand Up @@ -250,11 +256,11 @@ jobs:

- name: Pull PyDyna-run image
run: |
docker pull ghcr.io/ansys/pydyna-run:latest
docker pull ${{ env.PYDYNA_RUN_CONTAINER }}

- name: Unit testing
env:
PYDYNA_RUN_CONTAINER: ghcr.io/ansys/pydyna-run:latest
PYDYNA_RUN_CONTAINER: ${{ env.PYDYNA_RUN_CONTAINER }}
ANSYSLI_SERVERS: 2325@${{secrets.LICENSE_SERVER}}
ANSYSLMD_LICENSE_FILE: 1055@${{secrets.LICENSE_SERVER}}
LSTC_LICENSE: ansys
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/publish-run-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ name: Docker images publishing

on:
workflow_dispatch:
inputs:
tagVersion:
description: 'Tag'
required: false
default: latest
push:
tags:
- "*"
Expand Down Expand Up @@ -40,5 +45,5 @@ jobs:
context: docker/run
file: docker/run/Dockerfile
push: true
tags: ${{ env.REGISTRY }}/ansys/pydyna-run:latest
tags: ${{ env.REGISTRY }}/ansys/pydyna-run:${{ github.event.inputs.tagVersion }}
cache-from: type=registry,ref=${{ env.REGISTRY }}/ansys/pydyna-run:latest
35 changes: 27 additions & 8 deletions docker/run/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
FROM ghcr.io/ansys/mechanical:24.1.0
FROM ghcr.io/ansys/mechanical:24.1.0 AS pymechanical

#TODO - update to a more recent mechanical imaged
#TODO - reduce the size of this image by pruning unnecessary files from the Mechanical image
FROM ubuntu:20.04

LABEL description="lsdyna solver"

# install Intel-MPI

ENV TZ=America/New_York
ENV DEBIAN_FRONTEND=noninteractive

RUN apt update -y
RUN apt install -y wget

Expand All @@ -19,14 +21,31 @@ RUN echo "deb [signed-by=/usr/share/keyrings/intel-mpi-archive-keyring.gpg] http
RUN apt update -y
RUN apt install -y intel-mpi-rt-2019.9-304

ARG MAJORVER=24
ARG MINORVER=1
ARG VER=$MAJORVER$MINORVER

RUN mkdir -p /install/ansys_inc/shared_files
RUN mkdir -p /install/ansys_inc/v$VER/ansys/bin/linx64
RUN mkdir -p /install/ansys_inc/v$VER/mpi

COPY --from=pymechanical /install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_dp.e /install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_dp.e
COPY --from=pymechanical /install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_dp_mpp.e /install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_dp_mpp.e
COPY --from=pymechanical /install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_sp.e /install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_sp.e
COPY --from=pymechanical /install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_sp_mpp.e /install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_sp_mpp.e
COPY --from=pymechanical /install/ansys_inc/v$VER/licensingclient /install/ansys_inc/v$VER/licensingclient
COPY --from=pymechanical /install/ansys_inc/shared_files /install/ansys_inc/shared_files
COPY --from=pymechanical /install/ansys_inc/v$VER/builddate.txt /install/ansys_inc/v$VER/builddate.txt
COPY --from=pymechanical /install/ansys_inc/v$VER/commonfiles/MPI/Intel/2021.10.0/linx64/bin /install/ansys_inc/v$VER/mpi

# Set environment variables pointing to Intel-MPI and LS-DYNA

ENV MPIVARS=/opt/intel/impi/2019.9.304/intel64/bin/mpivars.sh
ENV MPIRUN=/install/ansys_inc/v241/commonfiles/MPI/Intel/2021.10.0/linx64/bin/mpirun
ENV LSDYNA_DP=/install/ansys_inc/v241/ansys/bin/linx64/lsdyna_dp.e
ENV LSDYNA_DP_MPP=/install/ansys_inc/v241/ansys/bin/linx64/lsdyna_dp_mpp.e
ENV LSDYNA_SP=/install/ansys_inc/v241/ansys/bin/linx64/lsdyna_sp.e
ENV LSDYNA_SP_MPP=/install/ansys_inc/v241/ansys/bin/linx64/lsdyna_sp_mpp.e
ENV MPIRUN=/install/ansys_inc/v$VER/mpi/mpirun
ENV LSDYNA_DP=/install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_dp.e
ENV LSDYNA_DP_MPP=/install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_dp_mpp.e
ENV LSDYNA_SP=/install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_sp.e
ENV LSDYNA_SP_MPP=/install/ansys_inc/v$VER/ansys/bin/linx64/lsdyna_sp_mpp.e

# OPTIONAL
# pass licensing environment variables into the build
Expand Down
Loading