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
  • ogs/container-maker
  • kristofkessler/container-maker
2 results
Show changes
Commits on Source (2)
......@@ -6,8 +6,9 @@ stages:
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
BUILDKIT_PROGRESS: "plain"
CPU_TARGET: ivybridge
OGSCM_ARGUMENTS:
value: "compiler.py ogs.py --ogs ogs/ogs@master --cmake_args ' -DOGS_CPU_ARCHITECTURE=sandybridge -DBUILD_TESTING=OFF'"
value: "compiler.py ogs.py --ogs ogs/ogs@master --cmake_args ' -DOGS_CPU_ARCHITECTURE=OFF -DBUILD_TESTING=OFF'"
description: "Arguments to ogscm. -B -C -R --ccache are always passed automatically. For more args see README.md!"
dev images:
......@@ -22,8 +23,8 @@ dev images:
script:
- black --check ogscm
- poetry install
- poetry run ogscm compiler.py ogs.py -B -C --sif_file ubuntu-dev.sif -E --enroot_file ubuntu-dev.sqsh --ogs off
- poetry run ogscm compiler.py ogs.py -B -C --sif_file centos-dev.sif -E --enroot_file centos-dev.sqsh --base_image centos:8 --ogs off
- poetry run ogscm compiler.py ogs.py -B -C --sif_file ubuntu-dev.sif -E --enroot_file ubuntu-dev.sqsh --ogs off --cpu-target $CPU_TARGET
- poetry run ogscm compiler.py ogs.py -B -C --sif_file centos-dev.sif -E --enroot_file centos-dev.sqsh --base_image centos:8 --ogs off --cpu-target $CPU_TARGET
artifacts:
# example URL:
# https://gitlab.opengeosys.org/ogs/container-maker/-/jobs/artifacts/master/raw/_out/images/ubuntu-dev.sif?job=dev+images
......@@ -61,7 +62,7 @@ manual build:
- if: $CI_COMMIT_BRANCH
script:
- poetry install
- eval poetry run ogscm -B -C -R --ccache $OGSCM_ARGUMENTS
- eval poetry run ogscm -B -C -R --ccache --cpu-target $CPU_TARGET $OGSCM_ARGUMENTS
artifacts:
paths:
- _out/images/*.sif
......
#!/usr/bin/env python3
import archspec.cpu
import argparse
import os
import traceback
......@@ -57,6 +58,13 @@ def main(): # pragma: no cover
default="",
help="The runtime base image.",
)
general_g.add_argument(
"--cpu-target",
type=str,
default=None,
choices=[a for a in sorted(archspec.cpu.TARGETS)],
help="The CPU microarchitecture to optimize for.",
)
build_g = parser.add_argument_group("Image build options")
build_g.add_argument(
"--build",
......@@ -179,6 +187,7 @@ def main(): # pragma: no cover
if not os.path.exists(images_out_dir):
os.makedirs(images_out_dir)
hpccm.config.set_cpu_target(args.cpu_target)
Stage0 = hpccm.Stage()
Stage0 += raw(docker="# syntax=docker/dockerfile:experimental")
......
......@@ -273,7 +273,7 @@ if local_args.ogs != "clean":
boost_bootsrap_opts = []
if local_args.mfront:
# for mfront python bindings
boost_bootsrap_opts = ['--with-python=python3']
boost_bootsrap_opts = ["--with-python=python3"]
if toolchain.CC == "clang":
boost_bootsrap_opts.append("--with-toolset=clang")
Stage0 += boost(
......@@ -427,6 +427,7 @@ if local_args.ogs != "clean":
},
directory=f"eigen-{eigen_version}",
prefix="/usr/local/eigen",
toolchain=toolchain,
url=f"https://gitlab.com/libeigen/eigen/-/archive/{eigen_version}/eigen-{eigen_version}.tar.gz",
)
hdf5_cofigure_opts = ["--enable-cxx"]
......@@ -448,6 +449,7 @@ if local_args.cvode:
devel_environment={"CVODE_ROOT": "/usr/local/cvode"},
directory="cvode-2.8.2",
prefix="/usr/local/cvode",
toolchain=toolchain,
url="https://github.com/ufz/cvode/archive/2.8.2.tar.gz",
)
......@@ -457,6 +459,7 @@ if local_args.cppcheck:
directory="cppcheck-809a769c690d8ab6fef293e41a29c8490512866e",
prefix="/usr/local/cppcheck",
runtime_environment={"PATH": "/usr/local/cppcheck/bin:$PATH"},
toolchain=toolchain,
url="https://github.com/danmar/cppcheck/archive/809a769c690d8ab6fef293e41a29c8490512866e.tar.gz",
)
......@@ -473,19 +476,20 @@ if local_args.dev:
if local_args.mfront:
tfel_version = versions["minimum_version"]["tfel-rliv"]
Stage0 += generic_cmake(
cmake_opts=['-Denable-python-bindings=ON'],
cmake_opts=["-Denable-python-bindings=ON"],
directory=f"tfel-rliv-{tfel_version}",
ldconfig=True,
url=f"https://github.com/thelfer/tfel/archive/refs/heads/rliv-{tfel_version}.zip",
prefix="/usr/local/tfel",
runtime_environment={"PATH": "/usr/local/tfel/bin:$PATH"},
devel_environment={"PATH": "/usr/local/tfel/bin:$PATH"},
toolchain=toolchain,
)
tfel_env = environment(
variables={
"TFELHOME": "/usr/local/tfel",
# TODO: Don't hard-code python version
"PYTHONPATH": "/usr/local/tfel/lib/python3.8/site-packages:$PYTHONPATH"
"PYTHONPATH": "/usr/local/tfel/lib/python3.8/site-packages:$PYTHONPATH",
}
)
Stage0 += tfel_env
......
from __future__ import absolute_import
__version__ = "2.2.1"
__version__ = "2.3.0"
[tool.poetry]
name = "ogscm"
version = "2.2.1"
version = "2.3.0"
description = "OGS Container Maker"
authors = ["Lars Bilke <lars.bilke@ufz.de>"]
license = "BSD 3-clause"
......@@ -15,7 +15,7 @@ PyYAML = "^5.3.1"
packaging = "^20.4"
[tool.poetry.dev-dependencies]
black = { version="^20.8b1", allow-prereleases=true }
black = { version = "^20.8b1", allow-prereleases = true }
[tool.poetry.scripts]
ogscm = "ogscm.cli:main"
......