Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • rc-data-science/community-containers/febiostudio
  • firiaye/febio_docker
2 results
Show changes
Commits on Source (11)
default:
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
interruptible: true
stages:
......@@ -28,7 +28,22 @@ get-cookie:
- cookies.txt
expire_in: 5 minutes
docker-build:
build-latest:
stage: build
image: docker:latest
services:
- docker:dind
dependencies:
- get-cookie
script:
- echo "Building and tagging as latest"
- docker pull $CI_REGISTRY_IMAGE:latest || true
- docker build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:latest .
- docker push $CI_REGISTRY_IMAGE:latest
only:
- main
build-version:
stage: build
image: docker:latest
services:
......@@ -36,7 +51,10 @@ docker-build:
dependencies:
- get-cookie
script:
- echo "Building and tagging as $CI_COMMIT_REF_NAME"
- docker pull $CI_REGISTRY_IMAGE:latest || true
- docker build --build-arg BUILDKIT_INLINE_CACHE=1 --build-arg USERNAME=${USERNAME} --build-arg PASSWORD=${PASSWORD} --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- docker push $CI_REGISTRY_IMAGE:latest
- docker build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_NAME#v} .
- docker push $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_NAME#v}
only:
- tags
- /^v\d+\.\d+$/
\ No newline at end of file
......@@ -2,16 +2,18 @@ FROM ubuntu:jammy
ENV DEBIAN_FRONTEND=noninteractive
# install curl and download the febio installer first to prevent any site timeout for the cookies
RUN apt-get update && \
apt-get install -y \
zip \
curl \
jq \
unzip \
apt-get install curl -y
COPY cookies.txt /tmp/cookies.txt
RUN curl --output /tmp/febio.zip -b /tmp/cookies.txt "https://febio.org/download/12171/?tmstv=1729879260" && \
rm /tmp/cookies.txt
RUN apt-get install -y \
binutils \
libgomp1 \
libglu1-mesa \
libqt5widgets5 \
libqt5gui5 \
libqt5core5a \
libx11-6 \
libxtst6 \
libxrender1 \
......@@ -21,28 +23,30 @@ RUN apt-get update && \
libxcb-xinerama0 \
libxkbcommon-x11-0 \
mesa-utils \
openbox \
qt6-base-dev \
x11-apps \
xorg \
openbox \
libgomp1 \
zip \
&& rm -rf /var/lib/apt/lists
COPY cookies.txt /tmp/cookies.txt
RUN curl --output /tmp/febio.zip -b /tmp/cookies.txt "https://febio.org/download/12171/?tmstv=1729879260"
RUN unzip /tmp/febio.zip && \
chmod +x FEBioStudio_linux-x64_2.7_FEBio_4.7.run && \
RUN unzip -p /tmp/febio.zip > /tmp/febio.run && \
chmod +x /tmp/febio.run && \
rm /tmp/febio.zip
RUN ./FEBioStudio_linux-x64_2.7_FEBio_4.7.run \
RUN /tmp/febio.run \
--mode unattended \
--unattendedmodeui minimal \
--enable-components comp_febio_sdk
RUN rm FEBioStudio_linux-x64_2.7_FEBio_4.7.run && \
ln -s /opt/FEBioStudio/bin/FEBioStudio /opt/FEBioStudio && \
ln -s /opt/FEBioStudio/bin/febio4 /opt/febio4
RUN rm /tmp/febio.run && \
ln -s /opt/FEBioStudio/bin/FEBioStudio /usr/bin/FEBioStudio && \
ln -s /opt/FEBioStudio/bin/febio4 /usr/bin/febio4
ENV PATH="/opt:$PATH"
# See https://unix.stackexchange.com/a/700599. libQt6Core.so.6 adds a tag that denotes a minimum kernel version required
# to run it and is set to 3.17.0, above Centos7's 3.10.0. This is why the library was never found even within a
# container despite successfully finding other Qt6 libraries. This command removes that tag so Qt6Core will function on
# Linux kernel 3.10.0
RUN strip --remove-section=.note.ABI-tag /opt/FEBioStudio/lib/libQt6Core.so.6
ENTRYPOINT ["FEBioStudio"]