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 (37)
installer/
default:
before_script:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
interruptible: true
stages:
- pre-build
- build
variables:
SECURE_FILES_DOWNLOAD_PATH: '.secure'
get-cookie:
stage: pre-build
image: ubuntu:jammy
before_script:
- apt-get update && apt-get upgrade -y && apt-get install curl jq -y
script:
- echo "Copying secure file with FeBio login ..."
- curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
- export USERNAME=$(grep 'username:' ${SECURE_FILES_DOWNLOAD_PATH}/febio_login.txt | cut -d ':' -f2 | tr -d ' ')
- export PASSWORD=$(grep 'password:' ${SECURE_FILES_DOWNLOAD_PATH}/febio_login.txt | cut -d ':' -f2 | tr -d ' ')
- export ENCODED_USERNAME=$(printf '%s' "${USERNAME}" | jq -sRr @uri)
- export ENCODED_PASSWORD=$(printf '%s' "${PASSWORD}" | jq -sRr @uri)
- curl -c cookies.txt -X POST -d "log=${ENCODED_USERNAME}&pwd=${ENCODED_PASSWORD}&wp-submit=1" "https://febio.org/wp-login.php" -v
artifacts:
paths:
- cookies.txt
expire_in: 5 minutes
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:
- docker:dind
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 --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
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 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 \
libx11-6 \
libxtst6 \
libxrender1 \
libxrandr2 \
libxcursor1 \
libglib2.0-0 \
libxcb-xinerama0 \
libxkbcommon-x11-0 \
mesa-utils \
openbox \
qt6-base-dev \
x11-apps \
xorg \
zip \
&& rm -rf /var/lib/apt/lists
RUN unzip -p /tmp/febio.zip > /tmp/febio.run && \
chmod +x /tmp/febio.run && \
rm /tmp/febio.zip
RUN /tmp/febio.run \
--mode unattended \
--unattendedmodeui minimal \
--enable-components comp_febio_sdk
RUN rm /tmp/febio.run && \
ln -s /opt/FEBioStudio/bin/FEBioStudio /usr/bin/FEBioStudio && \
ln -s /opt/FEBioStudio/bin/febio4 /usr/bin/febio4
# 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"]