From 155bf1b37d23ae5ce7ae8176f2c21ec4b3d78357 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Thu, 13 Aug 2020 08:08:05 +1000 Subject: [PATCH 001/132] Added RunTime set of images that are slimmer and available in jupyter Signed-off-by: Aloys Baillet --- .github/workflows/docker-builds.yml | 18 ++-- CONTRIBUTING.md | 2 +- README.md | 4 +- python/aswfdocker/cli/aswfdocker.py | 15 ++- python/aswfdocker/constants.py | 12 ++- python/aswfdocker/index.py | 4 +- python/aswfdocker/tests/test_builder.py | 10 +- python/aswfdocker/tests/test_index.py | 13 ++- python/aswfdocker/tests/test_utils.py | 8 +- python/aswfdocker/utils.py | 12 ++- rt-base/Dockerfile | 106 +++++++++++++++++++ rt-vfxall-jupyter/Dockerfile | 42 ++++++++ rt-vfxall-jupyter/jupyter_notebook_config.py | 10 ++ rt-vfxall/Dockerfile | 74 +++++++++++++ versions.yaml | 14 +++ 15 files changed, 307 insertions(+), 37 deletions(-) create mode 100644 rt-base/Dockerfile create mode 100644 rt-vfxall-jupyter/Dockerfile create mode 100644 rt-vfxall-jupyter/jupyter_notebook_config.py create mode 100644 rt-vfxall/Dockerfile diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index 08f0ac57..6106478a 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -24,12 +24,12 @@ jobs: group: [img-common-1] # Extra groups come from the include next include: - group: img-common-1 - type: IMAGE + type: CI_IMAGE name: common version: 1 test: common - group: img-common-2 - type: IMAGE + type: CI_IMAGE name: common version: 2 test: common @@ -46,31 +46,31 @@ jobs: version: 2021 test: "" - group: img-base-2021 - type: IMAGE + type: CI_IMAGE name: base common_version: 2 version: 2021 test: base - group: img-vfx1-2021 - type: IMAGE + type: CI_IMAGE name: vfx1 common_version: 2 version: 2021 test: openvdb - group: img-vfx2-2021 - type: IMAGE + type: CI_IMAGE name: vfx2 common_version: 2 version: 2021 test: "" - group: img-usd-2021 - type: IMAGE + type: CI_IMAGE name: usd common_version: 2 version: 2021 test: "" - group: img-vfxall-2021 - type: IMAGE + type: CI_IMAGE name: vfxall common_version: 2 version: 2021 @@ -116,11 +116,11 @@ jobs: --source-branch $GITHUB_REF \ --verbose \ build \ - --ci-image-type IMAGE \ + --ci-image-type CI_IMAGE \ --group common \ --version ${{ matrix.common_version }} name: Optionally build local ci-common Docker Image for downstream images - if: ${{ matrix.name != 'common' && matrix.type == 'IMAGE' }} + if: ${{ matrix.name != 'common' && matrix.type == 'CI_IMAGE' }} - run: | set -ex diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a685475e..7c29337d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -284,7 +284,7 @@ Example use: just build a single package for testing: # Build and push USD package to aswftesting aswfdocker --verbose build -t PACKAGE --group vfx --version 2019 --target usd --push # Build and push ci-vfxall image to aswftesting -aswfdocker --verbose build -t IMAGE --group vfx --version 2019 --target vfxall --push +aswfdocker --verbose build -t CI_IMAGE --group vfx --version 2019 --target vfxall --push ``` ### Migrate diff --git a/README.md b/README.md index cecd069c..6bcbc692 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ but it is recommended to speed up large builds. To build all images (very unlikely to succeed unless run on a very very powerful machine!): ```bash -aswfdocker --verbose build -t IMAGE +aswfdocker --verbose build -t CI_IMAGE ``` To build a single image: @@ -124,7 +124,7 @@ To build a single image: # First list the available CI images to know which package belong to which "group": aswfdocker images # Then run the build -aswfdocker --verbose build -t IMAGE --group vfx1 --version 2019 --target openexr +aswfdocker --verbose build -t CI_IMAGE --group vfx1 --version 2019 --target openexr # Or the simpler but less flexible syntax: aswfdocker build -n aswftesting/ci-openexr:2019 ``` diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index e732b34f..647756ea 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -257,15 +257,14 @@ def packages(): @cli.command() def images(): - """Lists all known ci images in this format: IMAGEGROUP/ci-IMAGE:VERSION + """Lists all known ci images in this format: IMAGEGROUP/ci-CI_IMAGE:VERSION """ - for group, images in constants.GROUPS[constants.ImageType.IMAGE].items(): - for image in images: - image_name = utils.get_image_name(constants.ImageType.IMAGE, image) - for version in index.Index().iter_versions( - constants.ImageType.IMAGE, image - ): - click.echo(f"{group}/{image_name}:{version}") + for image_type in (constants.ImageType.CI_IMAGE, constants.ImageType.RT_IMAGE): + for group, images in constants.GROUPS[image_type].items(): + for image in images: + image_name = utils.get_image_name(image_type, image) + for version in index.Index().iter_versions(image_type, image): + click.echo(f"{group}/{image_name}:{version}") @cli.command() diff --git a/python/aswfdocker/constants.py b/python/aswfdocker/constants.py index 98303713..ef8e7c45 100644 --- a/python/aswfdocker/constants.py +++ b/python/aswfdocker/constants.py @@ -9,7 +9,8 @@ class ImageType(enum.Enum): - IMAGE = "image" + CI_IMAGE = "ci-image" + RT_IMAGE = "rt-image" PACKAGE = "package" @@ -24,7 +25,7 @@ class ImageType(enum.Enum): "vfx2": ["opensubdiv", "ptex", "openvdb", "usd", "otio"], "vfx3": ["partio", "osl"], }, - ImageType.IMAGE: { + ImageType.CI_IMAGE: { "common": ["common"], "base": ["base"], "vfx1": ["openexr", "openvdb", "opencue"], @@ -32,6 +33,11 @@ class ImageType(enum.Enum): "usd": ["usd"], "vfxall": ["vfxall"], }, + ImageType.RT_IMAGE: { + "base": ["base"], + "vfx1": ["vfxall"], + "vfx2": ["vfxall-jupyter"], + }, } VERSION_INFO = { @@ -95,4 +101,4 @@ class ImageType(enum.Enum): f"https://github.com/{MAIN_GITHUB_ASWF_ORG}/{MAIN_GITHUB_REPO_NAME}" ) -IMAGE_NAME_REGEX = r"(refs/tags/)?(?P[a-z]+)/ci-(?Ppackage\-)?(?P[a-z0-9]+)[:/](?P[0-9\.]+)" +IMAGE_NAME_REGEX = r"(refs/tags/)?(?P[a-z]+)/(?Pci-)?(?Prt-)?(?Ppackage\-)?(?P[a-z0-9\-]+)[:/](?P[0-9\.]+)" diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index 80398a70..d3cbe0da 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -24,7 +24,9 @@ def __init__(self): def _get_key(self, image_type: constants.ImageType): if image_type == constants.ImageType.PACKAGE: return "ci-packages" - return "ci-images" + if image_type == constants.ImageType.CI_IMAGE: + return "ci-images" + return "rt-images" def iter_images(self, image_type: constants.ImageType): """ diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 972d0208..c9301c9c 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -73,12 +73,12 @@ def test_image_base_2019_dict(self): groupinfo.GroupInfo( names=["base"], versions=["2019"], - type_=constants.ImageType.IMAGE, + type_=constants.ImageType.CI_IMAGE, targets=[], ), ) base_version = list( - index.Index().iter_versions(constants.ImageType.IMAGE, "base") + index.Index().iter_versions(constants.ImageType.CI_IMAGE, "base") )[1] self.assertEqual( b.make_bake_dict(), @@ -118,12 +118,12 @@ def test_image_base_2019_2020_dict(self): groupinfo.GroupInfo( names=["base"], versions=["2019", "2020"], - type_=constants.ImageType.IMAGE, + type_=constants.ImageType.CI_IMAGE, targets=[], ), ) base_versions = list( - index.Index().iter_versions(constants.ImageType.IMAGE, "base") + index.Index().iter_versions(constants.ImageType.CI_IMAGE, "base") ) self.assertEqual( b.make_bake_dict(), @@ -220,7 +220,7 @@ def test_builder_cli_fromtag(self): self.assertFalse(result.exception) self.assertEqual( result.output, - f"INFO:aswfdocker.builder:Would build: 'docker buildx bake -f {tempfile.gettempdir()}/docker-bake-IMAGE-common-1.json --progress auto'\n", + f"INFO:aswfdocker.builder:Would build: 'docker buildx bake -f {tempfile.gettempdir()}/docker-bake-CI_IMAGE-common-1.json --progress auto'\n", ) self.assertEqual(result.exit_code, 0) diff --git a/python/aswfdocker/tests/test_index.py b/python/aswfdocker/tests/test_index.py index ba61b78c..d4e64baa 100644 --- a/python/aswfdocker/tests/test_index.py +++ b/python/aswfdocker/tests/test_index.py @@ -22,9 +22,14 @@ def test_iter_images(self): self.assertEqual(packages[0], "clang") def test_get_versions(self): - images = list(self.index.iter_images(constants.ImageType.IMAGE)) - self.assertGreater(len(images), 1) - self.assertEqual(images[0], "common") - versions = list(self.index.iter_versions(constants.ImageType.IMAGE, images[0])) + ciimages = list(self.index.iter_images(constants.ImageType.CI_IMAGE)) + self.assertGreater(len(ciimages), 1) + self.assertEqual(ciimages[0], "common") + rtimages = list(self.index.iter_images(constants.ImageType.RT_IMAGE)) + self.assertGreater(len(rtimages), 1) + self.assertEqual(rtimages[0], "base") + versions = list( + self.index.iter_versions(constants.ImageType.CI_IMAGE, ciimages[0]) + ) self.assertGreaterEqual(len(versions), 1) self.assertTrue(versions[0].startswith("1.")) diff --git a/python/aswfdocker/tests/test_utils.py b/python/aswfdocker/tests/test_utils.py index 3392d2d8..f92a24aa 100644 --- a/python/aswfdocker/tests/test_utils.py +++ b/python/aswfdocker/tests/test_utils.py @@ -71,7 +71,11 @@ def test_image_def_from_name(self): utils.get_image_spec("aswf/ci-package-openexr_2018") self.assertEqual( utils.get_image_spec("aswftesting/ci-common:1"), - ("aswftesting", constants.ImageType.IMAGE, "common", "1"), + ("aswftesting", constants.ImageType.CI_IMAGE, "common", "1"), + ) + self.assertEqual( + utils.get_image_spec("aswftesting/rt-base:2019"), + ("aswftesting", constants.ImageType.RT_IMAGE, "base", "2019"), ) self.assertEqual( utils.get_image_spec("aswf/ci-package-openexr:2018"), @@ -164,7 +168,7 @@ def test_cli_images(self): imgs = result.output.split("\n") self.assertGreater(len(imgs), 15) common_version = list( - index.Index().iter_versions(constants.ImageType.IMAGE, "common") + index.Index().iter_versions(constants.ImageType.CI_IMAGE, "common") )[0] self.assertEqual( imgs[0], f"common/ci-common:{common_version}", diff --git a/python/aswfdocker/utils.py b/python/aswfdocker/utils.py index 82597538..029e8077 100644 --- a/python/aswfdocker/utils.py +++ b/python/aswfdocker/utils.py @@ -82,7 +82,9 @@ def download_package(repo_root: str, docker_org: str, package: str, version: str def get_image_name(image_type: constants.ImageType, image: str): if image_type == constants.ImageType.PACKAGE: return f"ci-package-{image}" - return f"ci-{image}" + if image_type == constants.ImageType.CI_IMAGE: + return f"ci-{image}" + return f"rt-{image}" IMAGE_NAME_REGEXC = re.compile(constants.IMAGE_NAME_REGEX) @@ -97,8 +99,14 @@ def get_image_spec(name: str): org = m.group("org") if m.group("package"): image_type = constants.ImageType.PACKAGE + elif m.group("ci"): + image_type = constants.ImageType.CI_IMAGE + elif m.group("rt"): + image_type = constants.ImageType.RT_IMAGE else: - image_type = constants.ImageType.IMAGE + raise RuntimeError( + f"Image name does not conform to expected format (missing image type): {constants.IMAGE_NAME_REGEX}" + ) image = m.group("image") version = m.group("version") logger.debug("get_image_spec found %s: %s/%s:%s", image_type, org, image, version) diff --git a/rt-base/Dockerfile b/rt-base/Dockerfile new file mode 100644 index 00000000..73ee16eb --- /dev/null +++ b/rt-base/Dockerfile @@ -0,0 +1,106 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +ARG CUDA_VERSION=10.2 +ARG ASWF_ORG=aswftesting +ARG ASWF_PKG_ORG=aswftesting +ARG CI_COMMON_VERSION=1 +ARG VFXPLATFORM_VERSION=2019 + +ARG ASWF_ORG +ARG VFXPLATFORM_VERSION +ARG ASWF_VERSION +ARG PYTHON_VERSION=2.7 + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb + +FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as builder + +COPY --from=ci-package-python /. /usr/local/ +COPY --from=ci-package-tbb /. /usr/local/ + +RUN rm -rf /usr/local/include + +FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as rt-base + +LABEL maintainer="aloys.baillet@gmail.com" +LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.name="$ASWF_ORG/rt-common" +LABEL org.opencontainers.image.description="Common image for runtime ASWF images" +LABEL org.opencontainers.image.url="http://aswf.io/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION + +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH} \ + PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ + PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/lib/python \ + VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ + ASWF_VERSION=${ASWF_VERSION} \ + ASWF_ORG=${ASWF_ORG} + +COPY --from=builder /usr/local /usr/local/ + +RUN yum install --setopt=tsflags=nodocs -y \ + alsa-lib \ + automake autoconf \ + bison \ + bzip2 \ + ca-certificates \ + csh \ + cups \ + dbus \ + doxygen \ + fam \ + file \ + fontconfig \ + freeglut \ + freetype \ + glx-utils \ + gstreamer1 \ + gstreamer1-plugins-bad-free \ + libgomp \ + libicu \ + libjpeg \ + libpng \ + libtiff \ + libv4l \ + libxcb \ + libXcomposite \ + libXcursor \ + libXi \ + libXinerama \ + libxkbcommon \ + libxkbcommon-x11 \ + libxml2 \ + libXmu \ + libXp \ + libXpm \ + libXrandr \ + libXrender \ + libXScrnSaver \ + libxslt \ + mesa-libGLU \ + motif \ + ncurses \ + nss \ + patch \ + pkgconfig \ + pulseaudio-libs \ + readline \ + rsync \ + ruby \ + sudo \ + tcsh \ + texinfo \ + unzip \ + wget \ + which \ + xcb-util \ + xcb-util-image \ + xcb-util-keysyms \ + xcb-util-wm \ + xorg-x11-xkb-utils \ + xorg-x11-server-Xvfb && \ + rm -rf /var/cache/yum/* + diff --git a/rt-vfxall-jupyter/Dockerfile b/rt-vfxall-jupyter/Dockerfile new file mode 100644 index 00000000..7c94eced --- /dev/null +++ b/rt-vfxall-jupyter/Dockerfile @@ -0,0 +1,42 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +ARG ASWF_ORG=aswftesting +ARG ASWF_PKG_ORG=aswftesting +ARG VFXPLATFORM_VERSION=2019 +ARG ASWF_VERSION +ARG NB_USER=jovyan +ARG NB_UID=1000 + +FROM ${ASWF_ORG}/rt-vfxall:${VFXPLATFORM_VERSION} + +LABEL maintainer="aloys.baillet@gmail.com" +LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.name="$ASWF_ORG/base-vfxall" +LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" +LABEL org.opencontainers.image.url="http://aswf.io/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.version=$ASWF_VERSION + +RUN pip install --no-cache-dir jupyterlab + +ARG NB_USER +ARG NB_UID + +RUN useradd -m -u ${NB_UID} ${NB_USER} && \ + su -c "echo '%${NB_USER} ALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers" + +ENV USER=${NB_USER} \ + NB_UID=${NB_UID} \ + HOME=/home/${NB_USER} + +COPY rt-vfxall-jupyter/jupyter_notebook_config.py /etc/jupyter/ + +USER ${NB_USER} + +RUN mkdir /home/${NB_USER}/work +WORKDIR /home/${NB_USER}/work + +EXPOSE 8888 + +ENTRYPOINT [ "jupyter", "lab" ] diff --git a/rt-vfxall-jupyter/jupyter_notebook_config.py b/rt-vfxall-jupyter/jupyter_notebook_config.py new file mode 100644 index 00000000..3330d36a --- /dev/null +++ b/rt-vfxall-jupyter/jupyter_notebook_config.py @@ -0,0 +1,10 @@ +from jupyter_core.paths import jupyter_data_dir +import subprocess +import os +import errno +import stat + +c = get_config() +c.NotebookApp.ip = "0.0.0.0" +c.NotebookApp.port = 8888 +c.NotebookApp.open_browser = False diff --git a/rt-vfxall/Dockerfile b/rt-vfxall/Dockerfile new file mode 100644 index 00000000..2daeeeb7 --- /dev/null +++ b/rt-vfxall/Dockerfile @@ -0,0 +1,74 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +ARG ASWF_ORG=aswftesting +ARG ASWF_PKG_ORG=aswftesting +ARG VFXPLATFORM_VERSION=2019 + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION} as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION} as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside + +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION} as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION} as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION} as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION} as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION} as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION} as ci-package-openvdb +FROM ${ASWF_PKG_ORG}/ci-package-usd:${VFXPLATFORM_VERSION} as ci-package-usd +FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION} as ci-package-partio +FROM ${ASWF_PKG_ORG}/ci-package-osl:${VFXPLATFORM_VERSION} as ci-package-osl +FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION} as ci-package-otio + +FROM ${ASWF_ORG}/rt-base:${VFXPLATFORM_VERSION} as builder + +COPY --from=ci-package-python /. /usr/local/ +COPY --from=ci-package-tbb /. /usr/local/ +COPY --from=ci-package-boost /. /usr/local/ +COPY --from=ci-package-cppunit /. /usr/local/ +COPY --from=ci-package-log4cplus /. /usr/local/ +COPY --from=ci-package-glew /. /usr/local/ +COPY --from=ci-package-glfw /. /usr/local/ +COPY --from=ci-package-qt /. /usr/local/ +COPY --from=ci-package-pyside /. /usr/local/ + +COPY --from=ci-package-openexr /. /usr/local/ +COPY --from=ci-package-blosc /. /usr/local/ +COPY --from=ci-package-alembic /. /usr/local/ +COPY --from=ci-package-oiio /. /usr/local/ +COPY --from=ci-package-ocio /. /usr/local/ +COPY --from=ci-package-opensubdiv /. /usr/local/ +COPY --from=ci-package-ptex /. /usr/local/ +COPY --from=ci-package-openvdb /. /usr/local/ +COPY --from=ci-package-usd /. /usr/local/ +COPY --from=ci-package-partio /. /usr/local/ +COPY --from=ci-package-osl /. /usr/local/ +COPY --from=ci-package-otio /. /usr/local/ + +RUN rm -rf /usr/local/include + + +FROM ${ASWF_ORG}/rt-base:${VFXPLATFORM_VERSION} as rt-vfxall-jupyter + +ARG ASWF_ORG +ARG VFXPLATFORM_VERSION +ARG ASWF_VERSION +ARG PYTHON_VERSION=2.7 + +LABEL maintainer="aloys.baillet@gmail.com" +LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.name="$ASWF_ORG/base-vfxall" +LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" +LABEL org.opencontainers.image.url="http://aswf.io/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION + +COPY --from=builder /usr/local /usr/local/ diff --git a/versions.yaml b/versions.yaml index 3f07136d..4e0a075b 100644 --- a/versions.yaml +++ b/versions.yaml @@ -159,3 +159,17 @@ ci-images: - "2019.9" - "2020.7" - "2021.2" + +rt-images: + base: + - "2019.0" + - "2020.0" + - "2021.0" + vfxall: + - "2019.0" + - "2020.0" + - "2021.0" + vfxall-jupyter: + - "2019.0" + - "2020.0" + - "2021.0" From 32290933a1bb19936d417dedcce257b8e58a463d Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 19 Aug 2020 17:22:07 +1000 Subject: [PATCH 002/132] Added xpra ^Cd Xorg abilities - still WIP Signed-off-by: Aloys Baillet --- python/aswfdocker/cli/aswfdocker.py | 2 +- rt-base/Dockerfile | 23 +- rt-base/xorg.conf | 1675 ++++++++++++++++++++++ rt-base/xpra-entry-point.sh | 23 + rt-base/xpra.conf | 29 + rt-vfxall-jupyter/Dockerfile | 13 +- rt-vfxall-jupyter/jupyter-entry-point.sh | 10 + rt-vfxall/Dockerfile | 3 +- 8 files changed, 1774 insertions(+), 4 deletions(-) create mode 100644 rt-base/xorg.conf create mode 100755 rt-base/xpra-entry-point.sh create mode 100644 rt-base/xpra.conf create mode 100755 rt-vfxall-jupyter/jupyter-entry-point.sh diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index 647756ea..fe184d00 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -257,7 +257,7 @@ def packages(): @cli.command() def images(): - """Lists all known ci images in this format: IMAGEGROUP/ci-CI_IMAGE:VERSION + """Lists all known ci images in this format: IMAGEGROUP/IMAGE:VERSION """ for image_type in (constants.ImageType.CI_IMAGE, constants.ImageType.RT_IMAGE): for group, images in constants.GROUPS[image_type].items(): diff --git a/rt-base/Dockerfile b/rt-base/Dockerfile index 73ee16eb..c0af4652 100644 --- a/rt-base/Dockerfile +++ b/rt-base/Dockerfile @@ -80,7 +80,6 @@ RUN yum install --setopt=tsflags=nodocs -y \ libXrender \ libXScrnSaver \ libxslt \ - mesa-libGLU \ motif \ ncurses \ nss \ @@ -104,3 +103,25 @@ RUN yum install --setopt=tsflags=nodocs -y \ xorg-x11-server-Xvfb && \ rm -rf /var/cache/yum/* +RUN wget https://xpra.org/repos/CentOS/xpra.repo -P /etc/yum.repos.d/ && \ + yum install --setopt=tsflags=nodocs -y xpra python-paramiko python-inotify python2-uinput && \ + # Delete libGL installed by mesa... \ + rm -f /usr/lib64/libGL.so* /usr/lib64/libGLdispatch.so* /usr/lib64/libGLX_system.so* /usr/lib64/libGLX_mesa* /usr/lib64/libGLX.so* && \ + rm -rf /var/cache/yum/* + +RUN wget https://sourceforge.net/projects/virtualgl/files/2.6.4/VirtualGL-2.6.4.x86_64.rpm/download -O /tmp/vgl.rpm && \ + yum install -y /tmp/vgl.rpm && \ + rm /tmp/vgl.rpm && \ + rm -rf /var/cache/yum/* + +RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \ + yum install -y dkms && \ + rm -rf /var/cache/yum/* + +COPY rt-base/xpra-entry-point.sh /usr/local/bin/ +COPY rt-base/xpra.conf /etc/xpra/ + +ENV NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES},display + +# xpra default port +EXPOSE 14500 diff --git a/rt-base/xorg.conf b/rt-base/xorg.conf new file mode 100644 index 00000000..cd2e7352 --- /dev/null +++ b/rt-base/xorg.conf @@ -0,0 +1,1675 @@ +# This xorg configuration file is meant to be used by xpra +# to start a dummy X11 server. +# For details, please see: +# https://xpra.org/Xdummy.html + +Section "ServerFlags" + Option "DontVTSwitch" "true" + Option "AllowMouseOpenFail" "true" + Option "PciForceNone" "true" + Option "AllowEmptyInput" "true" + Option "AutoEnableDevices" "false" + Option "AutoAddDevices" "false" +EndSection + +Section "Device" + Identifier "dummy_videocard" + Driver "dummy" + DacSpeed 600 + Option "ConstantDPI" "true" + Identifier "Device0" + Driver "nvidia" + VendorName "NVIDIA Corporation" + BoardName "GeForce GTX 960" + BusID "PCI:1:0:0" + Option "HardDPMS" "false" + Option "AllowEmptyInitialConfiguration" + Option "AllowIndirectGLXProtocol" "1" +EndSection + +Section "Monitor" + Identifier "dummy_monitor" + HorizSync 1.0 - 2000.0 + VertRefresh 1.0 - 200.0 + #To add your own modes here, use a modeline calculator, like: + # cvt: + # http://www.x.org/archive/X11R7.5/doc/man/man1/cvt.1.html + # xtiming: + # http://xtiming.sourceforge.net/cgi-bin/xtiming.pl + # gtf: + # http://gtf.sourceforge.net/ + + #This can be used to get a specific DPI, but only for the default resolution: + #DisplaySize 508 317 + #NOTE: the highest modes will not work without increasing the VideoRam + # for the dummy video card. + #Modeline "16000x15000" 300.00 16000 16408 18000 20000 15000 15003 15013 15016 + #Modeline "15000x15000" 281.25 15000 15376 16872 18744 15000 15003 15013 15016 + #Modeline "16384x8192" 167.75 16384 16800 18432 20480 8192 8195 8205 8208 + #Modeline "15360x8640" 249.00 15360 15752 17280 19200 8640 8643 8648 8651 + Modeline "8192x4096" 193.35 8192 8224 8952 8984 4096 4196 4200 4301 + Modeline "7680x4320" 208.00 7680 7880 8640 9600 4320 4323 4328 4335 + Modeline "6400x4096" 151.38 6400 6432 7000 7032 4096 4196 4200 4301 + Modeline "6400x2560" 91.59 6400 6432 6776 6808 2560 2623 2626 2689 + Modeline "6400x2160" 160.51 6400 6432 7040 7072 2160 2212 2216 2269 + Modeline "5760x2160" 149.50 5760 5768 6320 6880 2160 2161 2164 2173 + Modeline "5680x1440" 142.66 5680 5712 6248 6280 1440 1474 1478 1513 + Modeline "5496x1200" 199.13 5496 5528 6280 6312 1200 1228 1233 1261 + Modeline "5280x2560" 75.72 5280 5312 5592 5624 2560 2623 2626 2689 + Modeline "5280x1920" 56.04 5280 5312 5520 5552 1920 1967 1969 2017 + Modeline "5280x1200" 191.40 5280 5312 6032 6064 1200 1228 1233 1261 + Modeline "5280x1080" 169.96 5280 5312 5952 5984 1080 1105 1110 1135 + Modeline "5120x3200" 199.75 5120 5152 5904 5936 3200 3277 3283 3361 + Modeline "5120x2560" 73.45 5120 5152 5424 5456 2560 2623 2626 2689 + Modeline "5120x2880" 185.50 5120 5256 5760 6400 2880 2883 2888 2899 + Modeline "4800x1200" 64.42 4800 4832 5072 5104 1200 1229 1231 1261 + Modeline "4720x3840" 227.86 4720 4752 5616 5648 3840 3933 3940 4033 + Modeline "4400x2560" 133.70 4400 4432 4936 4968 2560 2622 2627 2689 + Modeline "4480x1440" 72.94 4480 4512 4784 4816 1440 1475 1478 1513 + Modeline "4240x1440" 69.09 4240 4272 4528 4560 1440 1475 1478 1513 + Modeline "4160x1440" 67.81 4160 4192 4448 4480 1440 1475 1478 1513 + Modeline "4096x2304" 249.25 4096 4296 4720 5344 2304 2307 2312 2333 + Modeline "4096x2160" 111.25 4096 4200 4608 5120 2160 2163 2173 2176 + Modeline "4000x1660" 170.32 4000 4128 4536 5072 1660 1661 1664 1679 + Modeline "4000x1440" 145.00 4000 4088 4488 4976 1440 1441 1444 1457 + Modeline "3904x1440" 63.70 3904 3936 4176 4208 1440 1475 1478 1513 + Modeline "3840x2880" 133.43 3840 3872 4376 4408 2880 2950 2955 3025 + Modeline "3840x2560" 116.93 3840 3872 4312 4344 2560 2622 2627 2689 + Modeline "3840x2160" 104.25 3840 3944 4320 4800 2160 2163 2168 2175 + Modeline "3840x2048" 91.45 3840 3872 4216 4248 2048 2097 2101 2151 + Modeline "3840x1200" 108.89 3840 3872 4280 4312 1200 1228 1232 1261 + Modeline "3840x1080" 100.38 3840 3848 4216 4592 1080 1081 1084 1093 + Modeline "3864x1050" 94.58 3864 3896 4248 4280 1050 1074 1078 1103 + Modeline "3600x1200" 106.06 3600 3632 3984 4368 1200 1201 1204 1214 + Modeline "3600x1080" 91.02 3600 3632 3976 4008 1080 1105 1109 1135 + Modeline "3520x1196" 99.53 3520 3552 3928 3960 1196 1224 1228 1256 + Modeline "3360x2560" 102.55 3360 3392 3776 3808 2560 2622 2627 2689 + Modeline "3360x1050" 293.75 3360 3576 3928 4496 1050 1053 1063 1089 + Modeline "3288x1080" 39.76 3288 3320 3464 3496 1080 1106 1108 1135 + Modeline "3200x1800" 233.00 3200 3384 3720 4240 1800 1803 1808 1834 + Modeline "3200x1080" 236.16 3200 3232 4128 4160 1080 1103 1112 1135 + Modeline "3120x2560" 95.36 3120 3152 3512 3544 2560 2622 2627 2689 + Modeline "3120x1050" 272.75 3120 3320 3648 4176 1050 1053 1063 1089 + Modeline "3072x2560" 93.92 3072 3104 3456 3488 2560 2622 2627 2689 + Modeline "3008x1692" 130.93 3008 3112 3416 3824 1692 1693 1696 1712 + Modeline "3000x2560" 91.77 3000 3032 3376 3408 2560 2622 2627 2689 + Modeline "2880x1620" 396.25 2880 3096 3408 3936 1620 1623 1628 1679 + Modeline "2728x1680" 148.02 2728 2760 3320 3352 1680 1719 1726 1765 + Modeline "2720x1024" 86.44 2720 2760 3024 3328 1024 1025 1028 1039 + Modeline "2560x2240" 151.55 2560 2688 2952 3344 2240 2241 2244 2266 + Modeline "2560x1600" 47.12 2560 2592 2768 2800 1600 1639 1642 1681 + Modeline "2560x1440" 42.12 2560 2592 2752 2784 1440 1475 1478 1513 + Modeline "2680x2074" 186.41 2680 2832 3112 3544 2074 2075 2078 2104 + Modeline "2560x1400" 267.86 2560 2592 3608 3640 1400 1429 1441 1471 + Modeline "2048x2048" 49.47 2048 2080 2264 2296 2048 2097 2101 2151 + Modeline "2048x1536" 80.06 2048 2104 2312 2576 1536 1537 1540 1554 + Modeline "2048x1152" 197.97 2048 2184 2408 2768 1152 1153 1156 1192 + Modeline "2048x1152" 165.92 2048 2080 2704 2736 1152 1176 1186 1210 + Modeline "1920x1440" 69.47 1920 1960 2152 2384 1440 1441 1444 1457 + Modeline "1920x1200" 26.28 1920 1952 2048 2080 1200 1229 1231 1261 + Modeline "1920x1080" 23.53 1920 1952 2040 2072 1080 1106 1108 1135 + Modeline "1920x960" 124.88 1920 2024 2224 2528 960 961 964 988 + Modeline "1728x1520" 205.42 1728 1760 2536 2568 1520 1552 1564 1597 + Modeline "1680x1050" 20.08 1680 1712 1784 1816 1050 1075 1077 1103 + Modeline "1600x1200" 22.04 1600 1632 1712 1744 1200 1229 1231 1261 + Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946 + Modeline "1440x900" 30.66 1440 1472 1584 1616 900 921 924 946 + Modeline "1400x900" 103.50 1400 1480 1624 1848 900 903 913 934 + ModeLine "1366x768" 72.00 1366 1414 1446 1494 768 771 777 803 + Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807 + Modeline "1280x1024" 31.50 1280 1312 1424 1456 1024 1048 1052 1076 + Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 + Modeline "1280x768" 23.11 1280 1312 1392 1424 768 786 789 807 + Modeline "1280x720" 59.42 1280 1312 1536 1568 720 735 741 757 + Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807 + Modeline "1024x640" 41.98 1024 1056 1208 1240 640 653 659 673 + Modeline "1024x576" 46.50 1024 1064 1160 1296 576 579 584 599 + Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076 + Modeline "960x540" 40.75 960 992 1088 1216 540 543 548 562 + Modeline "864x486" 32.50 864 888 968 1072 486 489 494 506 + Modeline "720x405" 22.50 720 744 808 896 405 408 413 422 + Modeline "640x360" 14.75 640 664 720 800 360 363 368 374 + + + #common resolutions for android devices (both orientations): + Modeline "800x1280" 25.89 800 832 928 960 1280 1310 1315 1345 + Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 + Modeline "720x1280" 30.22 720 752 864 896 1280 1309 1315 1345 + Modeline "1280x720" 27.41 1280 1312 1416 1448 720 737 740 757 + Modeline "768x1024" 24.93 768 800 888 920 1024 1047 1052 1076 + Modeline "1024x768" 23.77 1024 1056 1144 1176 768 785 789 807 + Modeline "600x1024" 19.90 600 632 704 736 1024 1047 1052 1076 + Modeline "1024x600" 18.26 1024 1056 1120 1152 600 614 617 631 + Modeline "536x960" 16.74 536 568 624 656 960 982 986 1009 + Modeline "960x536" 15.23 960 992 1048 1080 536 548 551 563 + Modeline "600x800" 15.17 600 632 688 720 800 818 822 841 + Modeline "800x600" 14.50 800 832 880 912 600 614 617 631 + Modeline "480x854" 13.34 480 512 560 592 854 873 877 897 + Modeline "848x480" 12.09 848 880 920 952 480 491 493 505 + Modeline "480x800" 12.43 480 512 552 584 800 818 822 841 + Modeline "800x480" 11.46 800 832 872 904 480 491 493 505 + #resolutions for android devices (both orientations) + #minus the status bar + #38px status bar (and width rounded up) + Modeline "800x1242" 25.03 800 832 920 952 1242 1271 1275 1305 + Modeline "1280x762" 22.93 1280 1312 1392 1424 762 780 783 801 + Modeline "720x1242" 29.20 720 752 856 888 1242 1271 1276 1305 + Modeline "1280x682" 25.85 1280 1312 1408 1440 682 698 701 717 + Modeline "768x986" 23.90 768 800 888 920 986 1009 1013 1036 + Modeline "1024x730" 22.50 1024 1056 1136 1168 730 747 750 767 + Modeline "600x986" 19.07 600 632 704 736 986 1009 1013 1036 + Modeline "1024x562" 17.03 1024 1056 1120 1152 562 575 578 591 + Modeline "536x922" 16.01 536 568 624 656 922 943 947 969 + Modeline "960x498" 14.09 960 992 1040 1072 498 509 511 523 + Modeline "600x762" 14.39 600 632 680 712 762 779 783 801 + Modeline "800x562" 13.52 800 832 880 912 562 575 578 591 + Modeline "480x810" 12.59 480 512 552 584 810 828 832 851 + Modeline "848x442" 11.09 848 880 920 952 442 452 454 465 + Modeline "480x762" 11.79 480 512 552 584 762 779 783 801 + + Modeline "640x640@160" 99.25 640 696 760 880 640 643 653 706 -hsync +vsync + Modeline "640x704@160" 109.00 640 696 760 880 704 707 717 776 -hsync +vsync + Modeline "640x768@160" 119.00 640 696 760 880 768 771 781 846 -hsync +vsync + Modeline "640x832@160" 128.75 640 696 760 880 832 835 845 916 -hsync +vsync + Modeline "640x896@160" 138.75 640 696 760 880 896 899 909 986 -hsync +vsync + Modeline "640x960@160" 148.50 640 696 760 880 960 963 973 1056 -hsync +vsync + Modeline "640x1024@160" 158.50 640 696 760 880 1024 1027 1037 1127 -hsync +vsync + Modeline "640x1088@160" 168.25 640 696 760 880 1088 1091 1101 1197 -hsync +vsync + Modeline "640x1152@160" 178.25 640 696 760 880 1152 1155 1165 1267 -hsync +vsync + Modeline "640x1216@160" 191.50 640 704 768 896 1216 1219 1229 1337 -hsync +vsync + Modeline "640x1280@160" 201.50 640 704 768 896 1280 1283 1293 1407 -hsync +vsync + Modeline "640x1344@160" 211.50 640 704 768 896 1344 1347 1357 1477 -hsync +vsync + Modeline "640x1408@160" 221.75 640 704 768 896 1408 1411 1421 1548 -hsync +vsync + Modeline "640x1472@160" 231.75 640 704 768 896 1472 1475 1485 1618 -hsync +vsync + Modeline "640x1536@160" 241.75 640 704 768 896 1536 1539 1549 1688 -hsync +vsync + Modeline "640x1600@160" 251.75 640 704 768 896 1600 1603 1613 1758 -hsync +vsync + Modeline "640x1664@160" 262.00 640 704 768 896 1664 1667 1677 1828 -hsync +vsync + Modeline "640x1728@160" 272.00 640 704 768 896 1728 1731 1741 1899 -hsync +vsync + Modeline "640x1792@160" 282.00 640 704 768 896 1792 1795 1805 1969 -hsync +vsync + Modeline "640x1856@160" 292.00 640 704 768 896 1856 1859 1869 2039 -hsync +vsync + Modeline "640x1920@160" 302.25 640 704 768 896 1920 1923 1933 2109 -hsync +vsync + Modeline "704x640@160" 108.25 704 760 832 960 640 643 653 706 -hsync +vsync + Modeline "704x704@160" 119.00 704 760 832 960 704 707 717 776 -hsync +vsync + Modeline "704x768@160" 129.75 704 760 832 960 768 771 781 846 -hsync +vsync + Modeline "704x832@160" 142.75 704 768 840 976 832 835 845 916 -hsync +vsync + Modeline "704x896@160" 153.75 704 768 840 976 896 899 909 986 -hsync +vsync + Modeline "704x960@160" 164.75 704 768 840 976 960 963 973 1056 -hsync +vsync + Modeline "704x1024@160" 175.75 704 768 840 976 1024 1027 1037 1127 -hsync +vsync + Modeline "704x1088@160" 186.75 704 768 840 976 1088 1091 1101 1197 -hsync +vsync + Modeline "704x1152@160" 197.75 704 768 840 976 1152 1155 1165 1267 -hsync +vsync + Modeline "704x1216@160" 208.50 704 768 840 976 1216 1219 1229 1337 -hsync +vsync + Modeline "704x1280@160" 219.50 704 768 840 976 1280 1283 1293 1407 -hsync +vsync + Modeline "704x1344@160" 230.50 704 768 840 976 1344 1347 1357 1477 -hsync +vsync + Modeline "704x1408@160" 241.50 704 768 840 976 1408 1411 1421 1548 -hsync +vsync + Modeline "704x1472@160" 252.50 704 768 840 976 1472 1475 1485 1618 -hsync +vsync + Modeline "704x1536@160" 263.50 704 768 840 976 1536 1539 1549 1688 -hsync +vsync + Modeline "704x1600@160" 274.25 704 768 840 976 1600 1603 1613 1758 -hsync +vsync + Modeline "704x1664@160" 285.25 704 768 840 976 1664 1667 1677 1828 -hsync +vsync + Modeline "704x1728@160" 296.25 704 768 840 976 1728 1731 1741 1899 -hsync +vsync + Modeline "704x1792@160" 312.25 704 776 848 992 1792 1795 1805 1969 -hsync +vsync + Modeline "704x1856@160" 323.50 704 776 848 992 1856 1859 1869 2039 -hsync +vsync + Modeline "704x1920@160" 334.50 704 776 848 992 1920 1923 1933 2109 -hsync +vsync + Modeline "704x1984@160" 345.75 704 776 848 992 1984 1987 1997 2179 -hsync +vsync + Modeline "768x640@160" 119.00 768 832 912 1056 640 643 653 706 -hsync +vsync + Modeline "768x704@160" 130.75 768 832 912 1056 704 707 717 776 -hsync +vsync + Modeline "768x768@160" 142.75 768 832 912 1056 768 771 781 846 -hsync +vsync + Modeline "768x832@160" 154.50 768 832 912 1056 832 835 845 916 -hsync +vsync + Modeline "768x896@160" 166.50 768 832 912 1056 896 899 909 986 -hsync +vsync + Modeline "768x960@160" 178.25 768 832 912 1056 960 963 973 1056 -hsync +vsync + Modeline "768x1024@160" 190.25 768 832 912 1056 1024 1027 1037 1127 -hsync +vsync + Modeline "768x1088@160" 205.00 768 840 920 1072 1088 1091 1101 1197 -hsync +vsync + Modeline "768x1152@160" 217.00 768 840 920 1072 1152 1155 1165 1267 -hsync +vsync + Modeline "768x1216@160" 229.25 768 840 920 1072 1216 1219 1229 1337 -hsync +vsync + Modeline "768x1280@160" 241.25 768 840 920 1072 1280 1283 1293 1407 -hsync +vsync + Modeline "768x1344@160" 253.25 768 840 920 1072 1344 1347 1357 1477 -hsync +vsync + Modeline "768x1408@160" 265.25 768 840 920 1072 1408 1411 1421 1548 -hsync +vsync + Modeline "768x1472@160" 277.25 768 840 920 1072 1472 1475 1485 1618 -hsync +vsync + Modeline "768x1536@160" 289.25 768 840 920 1072 1536 1539 1549 1688 -hsync +vsync + Modeline "768x1600@160" 301.25 768 840 920 1072 1600 1603 1613 1758 -hsync +vsync + Modeline "768x1664@160" 313.50 768 840 920 1072 1664 1667 1677 1828 -hsync +vsync + Modeline "768x1728@160" 325.50 768 840 920 1072 1728 1731 1741 1899 -hsync +vsync + Modeline "768x1792@160" 337.50 768 840 920 1072 1792 1795 1805 1969 -hsync +vsync + Modeline "768x1856@160" 349.50 768 840 920 1072 1856 1859 1869 2039 -hsync +vsync + Modeline "768x1920@160" 361.50 768 840 920 1072 1920 1923 1933 2109 -hsync +vsync + Modeline "768x1984@150" 348.00 768 840 920 1072 1984 1987 1997 2166 -hsync +vsync + Modeline "832x640@160" 128.00 832 896 984 1136 640 643 653 706 -hsync +vsync + Modeline "832x704@160" 140.75 832 896 984 1136 704 707 717 776 -hsync +vsync + Modeline "832x768@160" 155.75 832 904 992 1152 768 771 781 846 -hsync +vsync + Modeline "832x832@160" 168.75 832 904 992 1152 832 835 845 916 -hsync +vsync + Modeline "832x896@160" 181.50 832 904 992 1152 896 899 909 986 -hsync +vsync + Modeline "832x960@160" 194.50 832 904 992 1152 960 963 973 1056 -hsync +vsync + Modeline "832x1024@160" 207.50 832 904 992 1152 1024 1027 1037 1127 -hsync +vsync + Modeline "832x1088@160" 220.25 832 904 992 1152 1088 1091 1101 1197 -hsync +vsync + Modeline "832x1152@160" 233.25 832 904 992 1152 1152 1155 1165 1267 -hsync +vsync + Modeline "832x1216@160" 246.25 832 904 992 1152 1216 1219 1229 1337 -hsync +vsync + Modeline "832x1280@160" 259.25 832 904 992 1152 1280 1283 1293 1407 -hsync +vsync + Modeline "832x1344@160" 272.00 832 904 992 1152 1344 1347 1357 1477 -hsync +vsync + Modeline "832x1408@160" 289.00 832 912 1000 1168 1408 1411 1421 1548 -hsync +vsync + Modeline "832x1472@160" 302.00 832 912 1000 1168 1472 1475 1485 1618 -hsync +vsync + Modeline "832x1536@160" 315.25 832 912 1000 1168 1536 1539 1549 1688 -hsync +vsync + Modeline "832x1600@160" 328.25 832 912 1000 1168 1600 1603 1613 1758 -hsync +vsync + Modeline "832x1664@160" 341.50 832 912 1000 1168 1664 1667 1677 1828 -hsync +vsync + Modeline "832x1728@160" 354.50 832 912 1000 1168 1728 1731 1741 1899 -hsync +vsync + Modeline "832x1792@160" 367.75 832 912 1000 1168 1792 1795 1805 1969 -hsync +vsync + Modeline "832x1856@150" 354.75 832 912 1000 1168 1856 1859 1869 2027 -hsync +vsync + Modeline "832x1920@150" 367.00 832 912 1000 1168 1920 1923 1933 2096 -hsync +vsync + Modeline "832x1984@140" 352.00 832 912 1000 1168 1984 1987 1997 2153 -hsync +vsync + Modeline "896x640@160" 138.75 896 968 1064 1232 640 643 653 706 -hsync +vsync + Modeline "896x704@160" 152.75 896 968 1064 1232 704 707 717 776 -hsync +vsync + Modeline "896x768@160" 166.50 896 968 1064 1232 768 771 781 846 -hsync +vsync + Modeline "896x832@160" 180.25 896 968 1064 1232 832 835 845 916 -hsync +vsync + Modeline "896x896@160" 194.25 896 968 1064 1232 896 899 909 986 -hsync +vsync + Modeline "896x960@160" 210.75 896 976 1072 1248 960 963 973 1056 -hsync +vsync + Modeline "896x1024@160" 224.75 896 976 1072 1248 1024 1027 1037 1127 -hsync +vsync + Modeline "896x1088@160" 238.75 896 976 1072 1248 1088 1091 1101 1197 -hsync +vsync + Modeline "896x1152@160" 252.75 896 976 1072 1248 1152 1155 1165 1267 -hsync +vsync + Modeline "896x1216@160" 266.75 896 976 1072 1248 1216 1219 1229 1337 -hsync +vsync + Modeline "896x1280@160" 280.75 896 976 1072 1248 1280 1283 1293 1407 -hsync +vsync + Modeline "896x1344@160" 294.75 896 976 1072 1248 1344 1347 1357 1477 -hsync +vsync + Modeline "896x1408@160" 308.75 896 976 1072 1248 1408 1411 1421 1548 -hsync +vsync + Modeline "896x1472@160" 322.75 896 976 1072 1248 1472 1475 1485 1618 -hsync +vsync + Modeline "896x1536@160" 336.75 896 976 1072 1248 1536 1539 1549 1688 -hsync +vsync + Modeline "896x1600@160" 350.75 896 976 1072 1248 1600 1603 1613 1758 -hsync +vsync + Modeline "896x1664@160" 364.75 896 976 1072 1248 1664 1667 1677 1828 -hsync +vsync + Modeline "896x1728@150" 353.00 896 976 1072 1248 1728 1731 1741 1887 -hsync +vsync + Modeline "896x1792@140" 339.75 896 976 1072 1248 1792 1795 1805 1945 -hsync +vsync + Modeline "896x1856@140" 351.75 896 976 1072 1248 1856 1859 1869 2015 -hsync +vsync + Modeline "896x1920@130" 336.00 896 976 1072 1248 1920 1923 1933 2072 -hsync +vsync + Modeline "896x1984@130" 347.00 896 976 1072 1248 1984 1987 1997 2141 -hsync +vsync + Modeline "960x640@160" 148.00 960 1040 1136 1312 640 643 653 706 -hsync +vsync + Modeline "960x704@160" 162.50 960 1040 1136 1312 704 707 717 776 -hsync +vsync + Modeline "960x768@160" 179.50 960 1040 1144 1328 768 771 778 846 -hsync +vsync + Modeline "960x832@160" 194.50 960 1040 1144 1328 832 835 845 916 -hsync +vsync + Modeline "960x896@160" 209.25 960 1040 1144 1328 896 899 909 986 -hsync +vsync + Modeline "960x960@160" 224.25 960 1040 1144 1328 960 963 973 1056 -hsync +vsync + Modeline "960x1024@160" 239.25 960 1040 1144 1328 1024 1027 1037 1127 -hsync +vsync + Modeline "960x1088@160" 254.00 960 1040 1144 1328 1088 1091 1101 1197 -hsync +vsync + Modeline "960x1152@160" 269.00 960 1040 1144 1328 1152 1155 1165 1267 -hsync +vsync + Modeline "960x1216@160" 287.25 960 1048 1152 1344 1216 1219 1229 1337 -hsync +vsync + Modeline "960x1280@160" 302.50 960 1048 1152 1344 1280 1283 1293 1407 -hsync +vsync + Modeline "960x1344@160" 317.50 960 1048 1152 1344 1344 1347 1357 1477 -hsync +vsync + Modeline "960x1408@160" 332.50 960 1048 1152 1344 1408 1411 1421 1548 -hsync +vsync + Modeline "960x1472@160" 347.75 960 1048 1152 1344 1472 1475 1485 1618 -hsync +vsync + Modeline "960x1536@160" 362.75 960 1048 1152 1344 1536 1539 1549 1688 -hsync +vsync + Modeline "960x1600@150" 352.00 960 1048 1152 1344 1600 1603 1613 1748 -hsync +vsync + Modeline "960x1664@150" 366.25 960 1048 1152 1344 1664 1667 1677 1817 -hsync +vsync + Modeline "960x1728@140" 352.75 960 1048 1152 1344 1728 1731 1741 1876 -hsync +vsync + Modeline "960x1792@130" 337.75 960 1048 1152 1344 1792 1795 1805 1934 -hsync +vsync + Modeline "960x1856@130" 349.75 960 1048 1152 1344 1856 1859 1869 2003 -hsync +vsync + Modeline "960x1920@130" 361.75 960 1048 1152 1344 1920 1923 1933 2072 -hsync +vsync + Modeline "960x1984@120" 343.00 960 1048 1152 1344 1984 1987 1997 2128 -hsync +vsync + Modeline "1024x640@160" 158.75 1024 1112 1216 1408 640 643 649 706 -hsync +vsync + Modeline "1024x704@160" 174.50 1024 1112 1216 1408 704 707 717 776 -hsync +vsync + Modeline "1024x768@160" 190.25 1024 1112 1216 1408 768 771 775 846 -hsync +vsync + Modeline "1024x832@160" 206.25 1024 1112 1216 1408 832 835 845 916 -hsync +vsync + Modeline "1024x896@160" 224.50 1024 1112 1224 1424 896 899 909 986 -hsync +vsync + Modeline "1024x960@160" 240.50 1024 1112 1224 1424 960 963 973 1056 -hsync +vsync + Modeline "1024x1024@160" 256.50 1024 1112 1224 1424 1024 1027 1037 1127 -hsync +vsync + Modeline "1024x1088@160" 272.50 1024 1112 1224 1424 1088 1091 1101 1197 -hsync +vsync + Modeline "1024x1152@160" 288.50 1024 1112 1224 1424 1152 1155 1165 1267 -hsync +vsync + Modeline "1024x1216@160" 304.50 1024 1112 1224 1424 1216 1219 1229 1337 -hsync +vsync + Modeline "1024x1280@160" 320.50 1024 1112 1224 1424 1280 1283 1293 1407 -hsync +vsync + Modeline "1024x1344@160" 336.50 1024 1112 1224 1424 1344 1347 1357 1477 -hsync +vsync + Modeline "1024x1408@160" 352.50 1024 1112 1224 1424 1408 1411 1421 1548 -hsync +vsync + Modeline "1024x1472@150" 343.25 1024 1112 1224 1424 1472 1475 1485 1608 -hsync +vsync + Modeline "1024x1536@150" 358.25 1024 1112 1224 1424 1536 1539 1549 1678 -hsync +vsync + Modeline "1024x1600@140" 346.00 1024 1112 1224 1424 1600 1603 1613 1737 -hsync +vsync + Modeline "1024x1664@140" 360.00 1024 1112 1224 1424 1664 1667 1677 1807 -hsync +vsync + Modeline "1024x1728@130" 345.00 1024 1112 1224 1424 1728 1731 1741 1865 -hsync +vsync + Modeline "1024x1792@130" 357.75 1024 1112 1224 1424 1792 1795 1805 1934 -hsync +vsync + Modeline "1024x1856@120" 340.00 1024 1112 1224 1424 1856 1859 1869 1991 -hsync +vsync + Modeline "1024x1920@120" 351.75 1024 1112 1224 1424 1920 1923 1933 2059 -hsync +vsync + Modeline "1024x1984@110" 331.25 1024 1112 1224 1424 1984 1987 1997 2115 -hsync +vsync + Modeline "1088x640@160" 167.75 1088 1176 1288 1488 640 643 653 706 -hsync +vsync + Modeline "1088x704@160" 184.50 1088 1176 1288 1488 704 707 717 776 -hsync +vsync + Modeline "1088x768@160" 203.25 1088 1184 1296 1504 768 771 781 846 -hsync +vsync + Modeline "1088x832@160" 220.25 1088 1184 1296 1504 832 835 845 916 -hsync +vsync + Modeline "1088x896@160" 237.00 1088 1184 1296 1504 896 899 909 986 -hsync +vsync + Modeline "1088x960@160" 254.00 1088 1184 1296 1504 960 963 973 1056 -hsync +vsync + Modeline "1088x1024@160" 270.75 1088 1184 1296 1504 1024 1027 1037 1127 -hsync +vsync + Modeline "1088x1088@160" 290.75 1088 1184 1304 1520 1088 1091 1101 1197 -hsync +vsync + Modeline "1088x1152@160" 308.00 1088 1184 1304 1520 1152 1155 1165 1267 -hsync +vsync + Modeline "1088x1216@160" 325.00 1088 1184 1304 1520 1216 1219 1229 1337 -hsync +vsync + Modeline "1088x1280@160" 342.00 1088 1184 1304 1520 1280 1283 1293 1407 -hsync +vsync + Modeline "1088x1344@160" 359.00 1088 1184 1304 1520 1344 1347 1357 1477 -hsync +vsync + Modeline "1088x1408@150" 350.50 1088 1184 1304 1520 1408 1411 1421 1538 -hsync +vsync + Modeline "1088x1472@140" 340.00 1088 1184 1304 1520 1472 1475 1485 1599 -hsync +vsync + Modeline "1088x1536@140" 354.75 1088 1184 1304 1520 1536 1539 1549 1668 -hsync +vsync + Modeline "1088x1600@130" 341.00 1088 1184 1304 1520 1600 1603 1613 1727 -hsync +vsync + Modeline "1088x1664@130" 354.75 1088 1184 1304 1520 1664 1667 1677 1796 -hsync +vsync + Modeline "1088x1728@120" 338.00 1088 1184 1304 1520 1728 1731 1741 1854 -hsync +vsync + Modeline "1088x1792@120" 350.50 1088 1184 1304 1520 1792 1795 1805 1922 -hsync +vsync + Modeline "1088x1856@110" 330.75 1088 1184 1304 1520 1856 1859 1869 1979 -hsync +vsync + Modeline "1088x1920@110" 342.00 1088 1184 1304 1520 1920 1923 1933 2047 -hsync +vsync + Modeline "1088x1984@110" 353.50 1088 1184 1304 1520 1984 1987 1997 2115 -hsync +vsync + Modeline "1152x640@160" 178.50 1152 1248 1368 1584 640 643 653 706 -hsync +vsync + Modeline "1152x704@160" 196.25 1152 1248 1368 1584 704 707 717 776 -hsync +vsync + Modeline "1152x768@160" 214.25 1152 1248 1368 1584 768 771 781 846 -hsync +vsync + Modeline "1152x832@160" 232.00 1152 1248 1368 1584 832 835 845 916 -hsync +vsync + Modeline "1152x896@160" 252.25 1152 1256 1376 1600 896 899 909 986 -hsync +vsync + Modeline "1152x960@160" 270.25 1152 1256 1376 1600 960 963 973 1056 -hsync +vsync + Modeline "1152x1024@160" 288.25 1152 1256 1376 1600 1024 1027 1037 1127 -hsync +vsync + Modeline "1152x1088@160" 306.00 1152 1256 1376 1600 1088 1091 1101 1197 -hsync +vsync + Modeline "1152x1152@160" 324.00 1152 1256 1376 1600 1152 1155 1165 1267 -hsync +vsync + Modeline "1152x1216@160" 342.00 1152 1256 1376 1600 1216 1219 1229 1337 -hsync +vsync + Modeline "1152x1280@160" 360.00 1152 1256 1376 1600 1280 1283 1293 1407 -hsync +vsync + Modeline "1152x1344@150" 352.25 1152 1256 1376 1600 1344 1347 1357 1469 -hsync +vsync + Modeline "1152x1408@140" 342.25 1152 1256 1376 1600 1408 1411 1421 1529 -hsync +vsync + Modeline "1152x1472@140" 357.75 1152 1256 1376 1600 1472 1475 1485 1599 -hsync +vsync + Modeline "1152x1536@130" 344.75 1152 1256 1376 1600 1536 1539 1549 1658 -hsync +vsync + Modeline "1152x1600@130" 359.00 1152 1256 1376 1600 1600 1603 1613 1727 -hsync +vsync + Modeline "1152x1664@120" 342.50 1152 1256 1376 1600 1664 1667 1677 1785 -hsync +vsync + Modeline "1152x1728@120" 355.75 1152 1256 1376 1600 1728 1731 1741 1854 -hsync +vsync + Modeline "1152x1792@110" 336.25 1152 1256 1376 1600 1792 1795 1805 1911 -hsync +vsync + Modeline "1152x1856@110" 348.25 1152 1256 1376 1600 1856 1859 1869 1979 -hsync +vsync + Modeline "1152x1920@100" 325.50 1152 1256 1376 1600 1920 1923 1933 2035 -hsync +vsync + Modeline "1152x1984@100" 336.25 1152 1256 1376 1600 1984 1987 1997 2103 -hsync +vsync + Modeline "1216x640@160" 187.50 1216 1312 1440 1664 640 643 653 706 -hsync +vsync + Modeline "1216x704@160" 206.25 1216 1312 1440 1664 704 707 717 776 -hsync +vsync + Modeline "1216x768@160" 227.00 1216 1320 1448 1680 768 771 781 846 -hsync +vsync + Modeline "1216x832@160" 246.00 1216 1320 1448 1680 832 835 845 916 -hsync +vsync + Modeline "1216x896@160" 264.75 1216 1320 1448 1680 896 899 909 986 -hsync +vsync + Modeline "1216x960@160" 283.75 1216 1320 1448 1680 960 963 973 1056 -hsync +vsync + Modeline "1216x1024@160" 305.50 1216 1328 1456 1696 1024 1027 1037 1127 -hsync +vsync + Modeline "1216x1088@160" 324.50 1216 1328 1456 1696 1088 1091 1101 1197 -hsync +vsync + Modeline "1216x1152@160" 343.50 1216 1328 1456 1696 1152 1155 1165 1267 -hsync +vsync + Modeline "1216x1216@160" 362.50 1216 1328 1456 1696 1216 1219 1229 1337 -hsync +vsync + Modeline "1216x1280@150" 355.50 1216 1328 1456 1696 1280 1283 1293 1399 -hsync +vsync + Modeline "1216x1344@140" 346.50 1216 1328 1456 1696 1344 1347 1357 1460 -hsync +vsync + Modeline "1216x1408@140" 362.75 1216 1328 1456 1696 1408 1411 1421 1529 -hsync +vsync + Modeline "1216x1472@130" 350.25 1216 1328 1456 1696 1472 1475 1485 1589 -hsync +vsync + Modeline "1216x1536@120" 335.25 1216 1328 1456 1696 1536 1539 1549 1648 -hsync +vsync + Modeline "1216x1600@120" 349.25 1216 1328 1456 1696 1600 1603 1613 1717 -hsync +vsync + Modeline "1216x1664@110" 331.00 1216 1328 1456 1696 1664 1667 1677 1775 -hsync +vsync + Modeline "1216x1728@110" 343.50 1216 1328 1456 1696 1728 1731 1741 1843 -hsync +vsync + Modeline "1216x1792@110" 356.25 1216 1328 1456 1696 1792 1795 1805 1911 -hsync +vsync + Modeline "1216x1856@100" 333.50 1216 1328 1456 1696 1856 1859 1869 1968 -hsync +vsync + Modeline "1216x1920@100" 345.00 1216 1328 1456 1696 1920 1923 1933 2035 -hsync +vsync + Modeline "1216x1984@95" 337.75 1216 1328 1456 1696 1984 1987 1997 2097 -hsync +vsync + Modeline "1280x640@160" 198.50 1280 1384 1520 1760 640 643 653 706 -hsync +vsync + Modeline "1280x704@160" 218.25 1280 1384 1520 1760 704 707 717 776 -hsync +vsync + Modeline "1280x768@160" 238.00 1280 1384 1520 1760 768 771 781 846 -hsync +vsync + Modeline "1280x832@160" 260.00 1280 1392 1528 1776 832 835 845 916 -hsync +vsync + Modeline "1280x896@160" 280.00 1280 1392 1528 1776 896 899 909 986 -hsync +vsync + Modeline "1280x960@160" 300.00 1280 1392 1528 1776 960 963 967 1056 -hsync +vsync + Modeline "1280x1024@160" 319.75 1280 1392 1528 1776 1024 1027 1034 1127 -hsync +vsync + Modeline "1280x1088@160" 339.75 1280 1392 1528 1776 1088 1091 1101 1197 -hsync +vsync + Modeline "1280x1152@160" 359.75 1280 1392 1528 1776 1152 1155 1165 1267 -hsync +vsync + Modeline "1280x1216@150" 353.75 1280 1392 1528 1776 1216 1219 1229 1329 -hsync +vsync + Modeline "1280x1280@140" 345.50 1280 1392 1528 1776 1280 1283 1293 1391 -hsync +vsync + Modeline "1280x1344@130" 334.75 1280 1392 1528 1776 1344 1347 1357 1451 -hsync +vsync + Modeline "1280x1408@130" 350.75 1280 1392 1528 1776 1408 1411 1421 1520 -hsync +vsync + Modeline "1280x1472@120" 336.50 1280 1392 1528 1776 1472 1475 1485 1580 -hsync +vsync + Modeline "1280x1536@120" 351.00 1280 1392 1528 1776 1536 1539 1549 1648 -hsync +vsync + Modeline "1280x1600@110" 333.25 1280 1392 1528 1776 1600 1603 1613 1707 -hsync +vsync + Modeline "1280x1664@110" 346.50 1280 1392 1528 1776 1664 1667 1677 1775 -hsync +vsync + Modeline "1280x1728@100" 325.25 1280 1392 1528 1776 1728 1731 1741 1832 -hsync +vsync + Modeline "1280x1792@100" 337.25 1280 1392 1528 1776 1792 1795 1805 1900 -hsync +vsync + Modeline "1280x1856@100" 349.25 1280 1392 1528 1776 1856 1859 1869 1968 -hsync +vsync + Modeline "1280x1920@95" 342.25 1280 1392 1528 1776 1920 1923 1933 2030 -hsync +vsync + Modeline "1280x1984@90" 334.00 1280 1392 1528 1776 1984 1987 1997 2091 -hsync +vsync + Modeline "1344x640@160" 207.50 1344 1448 1592 1840 640 643 653 706 -hsync +vsync + Modeline "1344x704@160" 228.00 1344 1448 1592 1840 704 707 717 776 -hsync +vsync + Modeline "1344x768@160" 251.00 1344 1456 1600 1856 768 771 781 846 -hsync +vsync + Modeline "1344x832@160" 271.75 1344 1456 1600 1856 832 835 845 916 -hsync +vsync + Modeline "1344x896@160" 292.50 1344 1456 1600 1856 896 899 909 986 -hsync +vsync + Modeline "1344x960@160" 316.25 1344 1464 1608 1872 960 963 973 1056 -hsync +vsync + Modeline "1344x1024@160" 337.25 1344 1464 1608 1872 1024 1027 1037 1127 -hsync +vsync + Modeline "1344x1088@160" 358.25 1344 1464 1608 1872 1088 1091 1101 1197 -hsync +vsync + Modeline "1344x1152@150" 353.25 1344 1464 1608 1872 1152 1155 1165 1259 -hsync +vsync + Modeline "1344x1216@140" 346.00 1344 1464 1608 1872 1216 1219 1229 1321 -hsync +vsync + Modeline "1344x1280@130" 336.25 1344 1464 1608 1872 1280 1283 1293 1382 -hsync +vsync + Modeline "1344x1344@130" 353.00 1344 1464 1608 1872 1344 1347 1357 1451 -hsync +vsync + Modeline "1344x1408@120" 339.25 1344 1464 1608 1872 1408 1411 1421 1511 -hsync +vsync + Modeline "1344x1472@120" 354.75 1344 1464 1608 1872 1472 1475 1485 1580 -hsync +vsync + Modeline "1344x1536@110" 337.25 1344 1464 1608 1872 1536 1539 1549 1639 -hsync +vsync + Modeline "1344x1600@110" 351.25 1344 1464 1608 1872 1600 1603 1613 1707 -hsync +vsync + Modeline "1344x1664@100" 330.00 1344 1464 1608 1872 1664 1667 1677 1765 -hsync +vsync + Modeline "1344x1728@100" 342.75 1344 1464 1608 1872 1728 1731 1741 1832 -hsync +vsync + Modeline "1344x1792@95" 336.75 1344 1464 1608 1872 1792 1795 1805 1894 -hsync +vsync + Modeline "1344x1856@95" 348.75 1344 1464 1608 1872 1856 1859 1869 1962 -hsync +vsync + Modeline "1344x1920@90" 340.75 1344 1464 1608 1872 1920 1923 1933 2024 -hsync +vsync + Modeline "1344x1984@90" 352.00 1344 1464 1608 1872 1984 1987 1997 2091 -hsync +vsync + Modeline "1408x640@160" 218.25 1408 1520 1672 1936 640 643 653 706 -hsync +vsync + Modeline "1408x704@160" 240.00 1408 1520 1672 1936 704 707 717 776 -hsync +vsync + Modeline "1408x768@160" 261.75 1408 1520 1672 1936 768 771 781 846 -hsync +vsync + Modeline "1408x832@160" 285.75 1408 1528 1680 1952 832 835 845 916 -hsync +vsync + Modeline "1408x896@160" 307.75 1408 1528 1680 1952 896 899 909 986 -hsync +vsync + Modeline "1408x960@160" 329.75 1408 1528 1680 1952 960 963 973 1056 -hsync +vsync + Modeline "1408x1024@160" 351.50 1408 1528 1680 1952 1024 1027 1037 1127 -hsync +vsync + Modeline "1408x1088@150" 348.00 1408 1528 1680 1952 1088 1091 1101 1190 -hsync +vsync + Modeline "1408x1152@140" 341.75 1408 1528 1680 1952 1152 1155 1165 1252 -hsync +vsync + Modeline "1408x1216@140" 360.75 1408 1528 1680 1952 1216 1219 1229 1321 -hsync +vsync + Modeline "1408x1280@130" 350.50 1408 1528 1680 1952 1280 1283 1293 1382 -hsync +vsync + Modeline "1408x1344@120" 337.75 1408 1528 1680 1952 1344 1347 1357 1443 -hsync +vsync + Modeline "1408x1408@120" 353.75 1408 1528 1680 1952 1408 1411 1421 1511 -hsync +vsync + Modeline "1408x1472@110" 337.00 1408 1528 1680 1952 1472 1475 1485 1570 -hsync +vsync + Modeline "1408x1536@110" 351.50 1408 1528 1680 1952 1536 1539 1549 1639 -hsync +vsync + Modeline "1408x1600@100" 331.00 1408 1528 1680 1952 1600 1603 1613 1697 -hsync +vsync + Modeline "1408x1664@100" 344.25 1408 1528 1680 1952 1664 1667 1677 1765 -hsync +vsync + Modeline "1408x1728@95" 338.50 1408 1528 1680 1952 1728 1731 1741 1827 -hsync +vsync + Modeline "1408x1792@95" 351.00 1408 1528 1680 1952 1792 1795 1805 1894 -hsync +vsync + Modeline "1408x1856@90" 343.50 1408 1528 1680 1952 1856 1859 1869 1956 -hsync +vsync + Modeline "1408x1920@85" 334.50 1408 1528 1680 1952 1920 1923 1933 2018 -hsync +vsync + Modeline "1408x1984@85" 345.75 1408 1528 1680 1952 1984 1987 1997 2085 -hsync +vsync + Modeline "1472x640@160" 227.25 1472 1584 1744 2016 640 643 653 706 -hsync +vsync + Modeline "1472x704@160" 252.00 1472 1592 1752 2032 704 707 717 776 -hsync +vsync + Modeline "1472x768@160" 274.75 1472 1592 1752 2032 768 771 781 846 -hsync +vsync + Modeline "1472x832@160" 297.50 1472 1592 1752 2032 832 835 845 916 -hsync +vsync + Modeline "1472x896@160" 320.25 1472 1592 1752 2032 896 899 909 986 -hsync +vsync + Modeline "1472x960@160" 346.00 1472 1600 1760 2048 960 963 973 1056 -hsync +vsync + Modeline "1472x1024@150" 343.75 1472 1600 1760 2048 1024 1027 1037 1120 -hsync +vsync + Modeline "1472x1088@140" 338.75 1472 1600 1760 2048 1088 1091 1101 1183 -hsync +vsync + Modeline "1472x1152@140" 358.75 1472 1600 1760 2048 1152 1155 1165 1252 -hsync +vsync + Modeline "1472x1216@130" 349.50 1472 1600 1760 2048 1216 1219 1229 1313 -hsync +vsync + Modeline "1472x1280@120" 337.50 1472 1600 1760 2048 1280 1283 1293 1374 -hsync +vsync + Modeline "1472x1344@120" 354.25 1472 1600 1760 2048 1344 1347 1357 1443 -hsync +vsync + Modeline "1472x1408@110" 338.25 1472 1600 1760 2048 1408 1411 1421 1502 -hsync +vsync + Modeline "1472x1472@110" 353.50 1472 1600 1760 2048 1472 1475 1485 1570 -hsync +vsync + Modeline "1472x1536@100" 333.50 1472 1600 1760 2048 1536 1539 1549 1629 -hsync +vsync + Modeline "1472x1600@100" 347.25 1472 1600 1760 2048 1600 1603 1613 1697 -hsync +vsync + Modeline "1472x1664@95" 342.00 1472 1600 1760 2048 1664 1667 1677 1759 -hsync +vsync + Modeline "1472x1728@90" 335.50 1472 1600 1760 2048 1728 1731 1741 1822 -hsync +vsync + Modeline "1472x1792@90" 348.00 1472 1600 1760 2048 1792 1795 1805 1889 -hsync +vsync + Modeline "1472x1856@85" 339.25 1472 1600 1760 2048 1856 1859 1869 1951 -hsync +vsync + Modeline "1472x1920@80" 329.50 1472 1600 1760 2048 1920 1923 1933 2012 -hsync +vsync + Modeline "1472x1984@80" 340.50 1472 1600 1760 2048 1984 1987 1997 2079 -hsync +vsync + Modeline "1536x640@160" 238.00 1536 1664 1824 2112 640 643 653 706 -hsync +vsync + Modeline "1536x704@160" 261.75 1536 1664 1824 2112 704 707 717 776 -hsync +vsync + Modeline "1536x768@160" 285.50 1536 1664 1824 2112 768 771 781 846 -hsync +vsync + Modeline "1536x832@160" 311.50 1536 1664 1832 2128 832 835 845 916 -hsync +vsync + Modeline "1536x896@160" 335.50 1536 1664 1832 2128 896 899 909 986 -hsync +vsync + Modeline "1536x960@160" 359.50 1536 1664 1832 2128 960 963 969 1056 -hsync +vsync + Modeline "1536x1024@150" 357.25 1536 1664 1832 2128 1024 1027 1037 1120 -hsync +vsync + Modeline "1536x1088@140" 352.00 1536 1664 1832 2128 1088 1091 1101 1183 -hsync +vsync + Modeline "1536x1152@130" 344.00 1536 1664 1832 2128 1152 1155 1159 1244 -hsync +vsync + Modeline "1536x1216@120" 333.25 1536 1664 1832 2128 1216 1219 1229 1306 -hsync +vsync + Modeline "1536x1280@120" 350.75 1536 1664 1832 2128 1280 1283 1293 1374 -hsync +vsync + Modeline "1536x1344@110" 335.50 1536 1664 1832 2128 1344 1347 1357 1434 -hsync +vsync + Modeline "1536x1408@110" 351.50 1536 1664 1832 2128 1408 1411 1421 1502 -hsync +vsync + Modeline "1536x1472@100" 332.00 1536 1664 1832 2128 1472 1475 1485 1561 -hsync +vsync + Modeline "1536x1536@100" 346.50 1536 1664 1832 2128 1536 1539 1549 1629 -hsync +vsync + Modeline "1536x1600@95" 341.75 1536 1664 1832 2128 1600 1603 1613 1692 -hsync +vsync + Modeline "1536x1664@90" 335.75 1536 1664 1832 2128 1664 1667 1677 1754 -hsync +vsync + Modeline "1536x1728@90" 348.75 1536 1664 1832 2128 1728 1731 1741 1822 -hsync +vsync + Modeline "1536x1792@85" 340.50 1536 1664 1832 2128 1792 1795 1805 1884 -hsync +vsync + Modeline "1536x1856@80" 331.00 1536 1664 1832 2128 1856 1859 1869 1945 -hsync +vsync + Modeline "1536x1920@80" 342.25 1536 1664 1832 2128 1920 1923 1933 2012 -hsync +vsync + Modeline "1536x1984@75" 330.75 1536 1664 1832 2128 1984 1987 1997 2073 -hsync +vsync + Modeline "1600x640@160" 247.25 1600 1728 1896 2192 640 643 653 706 -hsync +vsync + Modeline "1600x704@160" 273.75 1600 1736 1904 2208 704 707 717 776 -hsync +vsync + Modeline "1600x768@160" 298.50 1600 1736 1904 2208 768 771 781 846 -hsync +vsync + Modeline "1600x832@160" 323.25 1600 1736 1904 2208 832 835 845 916 -hsync +vsync + Modeline "1600x896@160" 350.75 1600 1736 1912 2224 896 899 909 986 -hsync +vsync + Modeline "1600x960@150" 350.00 1600 1736 1912 2224 960 963 973 1050 -hsync +vsync + Modeline "1600x1024@140" 346.25 1600 1736 1912 2224 1024 1027 1037 1113 -hsync +vsync + Modeline "1600x1088@130" 337.25 1600 1736 1904 2208 1088 1091 1101 1176 -hsync +vsync + Modeline "1600x1152@130" 359.50 1600 1736 1912 2224 1152 1155 1165 1244 -hsync +vsync + Modeline "1600x1216@120" 348.25 1600 1736 1912 2224 1216 1219 1229 1306 -hsync +vsync + Modeline "1600x1280@110" 331.50 1600 1736 1904 2208 1280 1283 1290 1366 -hsync +vsync + Modeline "1600x1344@110" 350.75 1600 1736 1912 2224 1344 1347 1357 1434 -hsync +vsync + Modeline "1600x1408@100" 329.50 1600 1736 1904 2208 1408 1411 1421 1494 -hsync +vsync + Modeline "1600x1472@100" 347.00 1600 1736 1912 2224 1472 1475 1485 1561 -hsync +vsync + Modeline "1600x1536@95" 340.50 1600 1736 1904 2208 1536 1539 1549 1624 -hsync +vsync + Modeline "1600x1600@90" 335.00 1600 1736 1904 2208 1600 1603 1613 1687 -hsync +vsync + Modeline "1600x1664@90" 351.00 1600 1736 1912 2224 1664 1667 1677 1754 -hsync +vsync + Modeline "1600x1728@85" 340.75 1600 1736 1904 2208 1728 1731 1741 1816 -hsync +vsync + Modeline "1600x1792@80" 331.50 1600 1736 1904 2208 1792 1795 1805 1878 -hsync +vsync + Modeline "1600x1856@80" 345.75 1600 1736 1912 2224 1856 1859 1869 1945 -hsync +vsync + Modeline "1600x1920@75" 332.00 1600 1736 1904 2208 1920 1923 1933 2006 -hsync +vsync + Modeline "1600x1984@75" 345.50 1600 1736 1912 2224 1984 1987 1997 2073 -hsync +vsync + Modeline "1664x640@160" 258.00 1664 1800 1976 2288 640 643 653 706 -hsync +vsync + Modeline "1664x704@160" 283.75 1664 1800 1976 2288 704 707 717 776 -hsync +vsync + Modeline "1664x768@160" 311.50 1664 1808 1984 2304 768 771 781 846 -hsync +vsync + Modeline "1664x832@160" 337.50 1664 1808 1984 2304 832 835 845 916 -hsync +vsync + Modeline "1664x896@160" 363.25 1664 1808 1984 2304 896 899 909 986 -hsync +vsync + Modeline "1664x960@150" 362.50 1664 1808 1984 2304 960 963 973 1050 -hsync +vsync + Modeline "1664x1024@140" 358.75 1664 1808 1984 2304 1024 1027 1037 1113 -hsync +vsync + Modeline "1664x1088@130" 351.75 1664 1808 1984 2304 1088 1091 1101 1176 -hsync +vsync + Modeline "1664x1152@120" 341.75 1664 1808 1984 2304 1152 1155 1165 1237 -hsync +vsync + Modeline "1664x1216@110" 328.75 1664 1808 1984 2304 1216 1219 1229 1298 -hsync +vsync + Modeline "1664x1280@110" 346.00 1664 1808 1984 2304 1280 1283 1293 1366 -hsync +vsync + Modeline "1664x1344@100" 328.25 1664 1808 1984 2304 1344 1347 1357 1426 -hsync +vsync + Modeline "1664x1408@100" 344.00 1664 1808 1984 2304 1408 1411 1421 1494 -hsync +vsync + Modeline "1664x1472@95" 340.50 1664 1808 1984 2304 1472 1475 1485 1557 -hsync +vsync + Modeline "1664x1536@90" 335.50 1664 1808 1984 2304 1536 1539 1549 1620 -hsync +vsync + Modeline "1664x1600@90" 349.50 1664 1808 1984 2304 1600 1603 1613 1687 -hsync +vsync + Modeline "1664x1664@85" 342.25 1664 1808 1984 2304 1664 1667 1677 1749 -hsync +vsync + Modeline "1664x1728@80" 333.50 1664 1808 1984 2304 1728 1731 1741 1811 -hsync +vsync + Modeline "1664x1792@80" 346.00 1664 1808 1984 2304 1792 1795 1805 1878 -hsync +vsync + Modeline "1664x1856@75" 335.00 1664 1808 1984 2304 1856 1859 1869 1939 -hsync +vsync + Modeline "1664x1920@75" 346.50 1664 1808 1984 2304 1920 1923 1933 2006 -hsync +vsync + Modeline "1664x1984@70" 333.25 1664 1808 1984 2304 1984 1987 1997 2067 -hsync +vsync + Modeline "1728x640@160" 267.00 1728 1864 2048 2368 640 643 653 706 -hsync +vsync + Modeline "1728x704@160" 295.50 1728 1872 2056 2384 704 707 717 776 -hsync +vsync + Modeline "1728x768@160" 322.25 1728 1872 2056 2384 768 771 781 846 -hsync +vsync + Modeline "1728x832@160" 349.00 1728 1872 2056 2384 832 835 845 916 -hsync +vsync + Modeline "1728x896@150" 350.25 1728 1872 2056 2384 896 899 909 980 -hsync +vsync + Modeline "1728x960@140" 348.00 1728 1872 2056 2384 960 963 973 1044 -hsync +vsync + Modeline "1728x1024@130" 342.75 1728 1872 2056 2384 1024 1027 1037 1107 -hsync +vsync + Modeline "1728x1088@120" 334.00 1728 1872 2056 2384 1088 1091 1101 1169 -hsync +vsync + Modeline "1728x1152@120" 353.75 1728 1872 2056 2384 1152 1155 1165 1237 -hsync +vsync + Modeline "1728x1216@110" 340.25 1728 1872 2056 2384 1216 1219 1229 1298 -hsync +vsync + Modeline "1728x1280@100" 323.50 1728 1872 2056 2384 1280 1283 1293 1358 -hsync +vsync + Modeline "1728x1344@100" 339.75 1728 1872 2056 2384 1344 1347 1357 1426 -hsync +vsync + Modeline "1728x1408@95" 337.00 1728 1872 2056 2384 1408 1411 1421 1489 -hsync +vsync + Modeline "1728x1472@90" 332.75 1728 1872 2056 2384 1472 1475 1485 1552 -hsync +vsync + Modeline "1728x1536@90" 347.25 1728 1872 2056 2384 1536 1539 1549 1620 -hsync +vsync + Modeline "1728x1600@85" 340.75 1728 1872 2056 2384 1600 1603 1613 1682 -hsync +vsync + Modeline "1728x1664@80" 332.50 1728 1872 2056 2384 1664 1667 1677 1744 -hsync +vsync + Modeline "1728x1728@80" 345.25 1728 1872 2056 2384 1728 1731 1741 1811 -hsync +vsync + Modeline "1728x1792@75" 334.75 1728 1872 2056 2384 1792 1795 1805 1873 -hsync +vsync + Modeline "1728x1856@70" 322.50 1728 1872 2056 2384 1856 1859 1869 1934 -hsync +vsync + Modeline "1728x1920@70" 333.75 1728 1872 2056 2384 1920 1923 1933 2001 -hsync +vsync + Modeline "1728x1984@70" 344.75 1728 1872 2056 2384 1984 1987 1997 2067 -hsync +vsync + Modeline "1792x640@160" 277.75 1792 1936 2128 2464 640 643 653 706 -hsync +vsync + Modeline "1792x704@160" 305.50 1792 1936 2128 2464 704 707 717 776 -hsync +vsync + Modeline "1792x768@160" 335.25 1792 1944 2136 2480 768 771 781 846 -hsync +vsync + Modeline "1792x832@160" 363.25 1792 1944 2136 2480 832 835 845 916 -hsync +vsync + Modeline "1792x896@140" 338.00 1792 1944 2136 2480 896 899 909 974 -hsync +vsync + Modeline "1792x960@130" 334.25 1792 1944 2136 2480 960 963 973 1038 -hsync +vsync + Modeline "1792x1024@130" 356.50 1792 1944 2136 2480 1024 1027 1037 1107 -hsync +vsync + Modeline "1792x1088@120" 347.50 1792 1944 2136 2480 1088 1091 1101 1169 -hsync +vsync + Modeline "1792x1152@110" 335.25 1792 1944 2136 2480 1152 1155 1165 1230 -hsync +vsync + Modeline "1792x1216@110" 353.75 1792 1944 2136 2480 1216 1219 1229 1298 -hsync +vsync + Modeline "1792x1280@100" 336.50 1792 1944 2136 2480 1280 1283 1293 1358 -hsync +vsync + Modeline "1792x1344@95" 334.75 1792 1944 2136 2480 1344 1347 1351 1422 -hsync +vsync + Modeline "1792x1408@95" 350.75 1792 1944 2136 2480 1408 1411 1421 1489 -hsync +vsync + Modeline "1792x1472@90" 346.25 1792 1944 2136 2480 1472 1475 1485 1552 -hsync +vsync + Modeline "1792x1536@85" 340.25 1792 1944 2136 2480 1536 1539 1549 1615 -hsync +vsync + Modeline "1792x1600@80" 332.50 1792 1944 2136 2480 1600 1603 1613 1677 -hsync +vsync + Modeline "1792x1664@80" 345.75 1792 1944 2136 2480 1664 1667 1677 1744 -hsync +vsync + Modeline "1792x1728@75" 335.75 1792 1944 2136 2480 1728 1731 1741 1806 -hsync +vsync + Modeline "1792x1792@70" 321.75 1792 1936 2128 2464 1792 1795 1805 1867 -hsync +vsync + Modeline "1792x1856@70" 335.50 1792 1944 2136 2480 1856 1859 1869 1934 -hsync +vsync + Modeline "1792x1920@65" 319.25 1792 1936 2128 2464 1920 1923 1933 1995 -hsync +vsync + Modeline "1792x1984@65" 332.00 1792 1944 2136 2480 1984 1987 1997 2061 -hsync +vsync + Modeline "1856x640@160" 286.75 1856 2000 2200 2544 640 643 653 706 -hsync +vsync + Modeline "1856x704@160" 317.50 1856 2008 2208 2560 704 707 717 776 -hsync +vsync + Modeline "1856x768@160" 346.25 1856 2008 2208 2560 768 771 781 846 -hsync +vsync + Modeline "1856x832@150" 349.25 1856 2008 2208 2560 832 835 845 911 -hsync +vsync + Modeline "1856x896@140" 349.00 1856 2008 2208 2560 896 899 909 974 -hsync +vsync + Modeline "1856x960@130" 345.00 1856 2008 2208 2560 960 963 973 1038 -hsync +vsync + Modeline "1856x1024@120" 337.75 1856 2008 2208 2560 1024 1027 1037 1100 -hsync +vsync + Modeline "1856x1088@110" 327.00 1856 2008 2208 2560 1088 1091 1101 1162 -hsync +vsync + Modeline "1856x1152@110" 346.00 1856 2008 2208 2560 1152 1155 1165 1230 -hsync +vsync + Modeline "1856x1216@100" 330.00 1856 2008 2208 2560 1216 1219 1229 1290 -hsync +vsync + Modeline "1856x1280@100" 347.50 1856 2008 2208 2560 1280 1283 1293 1358 -hsync +vsync + Modeline "1856x1344@95" 345.50 1856 2008 2208 2560 1344 1347 1357 1422 -hsync +vsync + Modeline "1856x1408@90" 342.00 1856 2008 2208 2560 1408 1411 1421 1485 -hsync +vsync + Modeline "1856x1472@85" 336.50 1856 2008 2208 2560 1472 1475 1485 1548 -hsync +vsync + Modeline "1856x1536@80" 329.50 1856 2008 2208 2560 1536 1539 1549 1610 -hsync +vsync + Modeline "1856x1600@80" 343.25 1856 2008 2208 2560 1600 1603 1613 1677 -hsync +vsync + Modeline "1856x1664@75" 333.75 1856 2008 2208 2560 1664 1667 1677 1739 -hsync +vsync + Modeline "1856x1728@70" 322.50 1856 2008 2208 2560 1728 1731 1741 1801 -hsync +vsync + Modeline "1856x1792@70" 334.50 1856 2008 2208 2560 1792 1795 1805 1867 -hsync +vsync + Modeline "1856x1856@65" 320.75 1856 2008 2208 2560 1856 1859 1869 1928 -hsync +vsync + Modeline "1856x1920@65" 331.75 1856 2008 2208 2560 1920 1923 1933 1995 -hsync +vsync + Modeline "1856x1984@65" 342.75 1856 2008 2208 2560 1984 1987 1997 2061 -hsync +vsync + Modeline "1920x640@160" 297.75 1920 2072 2280 2640 640 643 653 706 -hsync +vsync + Modeline "1920x704@160" 327.25 1920 2072 2280 2640 704 707 717 776 -hsync +vsync + Modeline "1920x768@160" 359.25 1920 2080 2288 2656 768 771 781 846 -hsync +vsync + Modeline "1920x832@150" 362.50 1920 2080 2288 2656 832 835 845 911 -hsync +vsync + Modeline "1920x896@130" 332.25 1920 2072 2280 2640 896 899 909 969 -hsync +vsync + Modeline "1920x960@130" 358.00 1920 2080 2288 2656 960 963 973 1038 -hsync +vsync + Modeline "1920x1024@120" 350.25 1920 2080 2288 2656 1024 1027 1037 1100 -hsync +vsync + Modeline "1920x1088@110" 337.00 1920 2072 2280 2640 1088 1091 1101 1162 -hsync +vsync + Modeline "1920x1152@100" 322.50 1920 2072 2280 2640 1152 1155 1162 1223 -hsync +vsync + Modeline "1920x1216@100" 340.50 1920 2072 2280 2640 1216 1219 1229 1290 -hsync +vsync + Modeline "1920x1280@95" 339.50 1920 2072 2280 2640 1280 1283 1293 1354 -hsync +vsync + Modeline "1920x1344@90" 336.50 1920 2072 2280 2640 1344 1347 1357 1418 -hsync +vsync + Modeline "1920x1408@85" 332.00 1920 2072 2280 2640 1408 1411 1421 1481 -hsync +vsync + Modeline "1920x1472@80" 325.75 1920 2072 2280 2640 1472 1475 1485 1543 -hsync +vsync + Modeline "1920x1536@80" 339.75 1920 2072 2280 2640 1536 1539 1546 1610 -hsync +vsync + Modeline "1920x1600@75" 331.00 1920 2072 2280 2640 1600 1603 1613 1672 -hsync +vsync + Modeline "1920x1664@75" 344.25 1920 2072 2280 2640 1664 1667 1677 1739 -hsync +vsync + Modeline "1920x1728@70" 332.50 1920 2072 2280 2640 1728 1731 1741 1801 -hsync +vsync + Modeline "1920x1792@65" 319.25 1920 2072 2280 2640 1792 1795 1805 1862 -hsync +vsync + Modeline "1920x1856@65" 330.75 1920 2072 2280 2640 1856 1859 1869 1928 -hsync +vsync + Modeline "1920x1920@65" 342.00 1920 2072 2280 2640 1920 1923 1933 1995 -hsync +vsync + Modeline "1920x1984@60" 325.25 1920 2072 2280 2640 1984 1987 1997 2055 -hsync +vsync + Modeline "1984x704@160" 339.25 1984 2144 2360 2736 704 707 717 776 -hsync +vsync + Modeline "1984x768@150" 344.75 1984 2144 2360 2736 768 771 781 841 -hsync +vsync + Modeline "1984x832@140" 346.50 1984 2144 2360 2736 832 835 845 905 -hsync +vsync + Modeline "1984x896@130" 344.25 1984 2144 2360 2736 896 899 909 969 -hsync +vsync + Modeline "1984x960@120" 338.50 1984 2144 2360 2736 960 963 973 1032 -hsync +vsync + Modeline "1984x1024@110" 328.75 1984 2144 2360 2736 1024 1027 1037 1094 -hsync +vsync + Modeline "1984x1088@110" 349.25 1984 2144 2360 2736 1088 1091 1101 1162 -hsync +vsync + Modeline "1984x1152@100" 334.25 1984 2144 2360 2736 1152 1155 1165 1223 -hsync +vsync + Modeline "1984x1216@95" 334.25 1984 2144 2360 2736 1216 1219 1229 1287 -hsync +vsync + Modeline "1984x1280@90" 332.25 1984 2144 2360 2736 1280 1283 1293 1350 -hsync +vsync + Modeline "1984x1344@90" 348.75 1984 2144 2360 2736 1344 1347 1357 1418 -hsync +vsync + Modeline "1984x1408@85" 344.00 1984 2144 2360 2736 1408 1411 1421 1481 -hsync +vsync + Modeline "1984x1472@80" 337.50 1984 2144 2360 2736 1472 1475 1485 1543 -hsync +vsync + Modeline "1984x1536@75" 329.25 1984 2144 2360 2736 1536 1539 1549 1606 -hsync +vsync + Modeline "1984x1600@75" 343.00 1984 2144 2360 2736 1600 1603 1613 1672 -hsync +vsync + Modeline "1984x1664@70" 332.00 1984 2144 2360 2736 1664 1667 1677 1734 -hsync +vsync + Modeline "1984x1728@70" 344.75 1984 2144 2360 2736 1728 1731 1741 1801 -hsync +vsync + Modeline "1984x1792@65" 331.00 1984 2144 2360 2736 1792 1795 1805 1862 -hsync +vsync + Modeline "1984x1856@65" 342.75 1984 2144 2360 2736 1856 1859 1869 1928 -hsync +vsync + Modeline "1984x1920@60" 326.25 1984 2144 2360 2736 1920 1923 1933 1989 -hsync +vsync + Modeline "1984x1984@60" 337.25 1984 2144 2360 2736 1984 1987 1997 2055 -hsync +vsync + Modeline "2048x704@160" 349.25 2048 2208 2432 2816 704 707 717 776 -hsync +vsync + Modeline "2048x768@150" 354.75 2048 2208 2432 2816 768 771 781 841 -hsync +vsync + Modeline "2048x832@140" 356.50 2048 2208 2432 2816 832 835 845 905 -hsync +vsync + Modeline "2048x896@130" 354.25 2048 2208 2432 2816 896 899 909 969 -hsync +vsync + Modeline "2048x960@120" 348.25 2048 2208 2432 2816 960 963 973 1032 -hsync +vsync + Modeline "2048x1024@110" 338.50 2048 2208 2432 2816 1024 1027 1037 1094 -hsync +vsync + Modeline "2048x1088@100" 325.00 2048 2208 2432 2816 1088 1091 1101 1155 -hsync +vsync + Modeline "2048x1152@100" 344.00 2048 2208 2432 2816 1152 1155 1160 1223 -hsync +vsync + Modeline "2048x1216@95" 344.00 2048 2208 2432 2816 1216 1219 1229 1287 -hsync +vsync + Modeline "2048x1280@90" 342.00 2048 2208 2432 2816 1280 1283 1289 1350 -hsync +vsync + Modeline "2048x1344@85" 338.00 2048 2208 2432 2816 1344 1347 1357 1414 -hsync +vsync + Modeline "2048x1408@80" 332.50 2048 2208 2432 2816 1408 1411 1421 1476 -hsync +vsync + Modeline "2048x1472@75" 324.75 2048 2208 2432 2816 1472 1475 1485 1539 -hsync +vsync + Modeline "2048x1536@75" 339.00 2048 2208 2432 2816 1536 1539 1543 1606 -hsync +vsync + Modeline "2048x1600@70" 328.50 2048 2208 2432 2816 1600 1603 1613 1668 -hsync +vsync + Modeline "2048x1664@70" 341.75 2048 2208 2432 2816 1664 1667 1677 1734 -hsync +vsync + Modeline "2048x1728@65" 328.50 2048 2208 2432 2816 1728 1731 1741 1796 -hsync +vsync + Modeline "2048x1792@65" 340.50 2048 2208 2432 2816 1792 1795 1805 1862 -hsync +vsync + Modeline "2048x1856@60" 324.75 2048 2208 2432 2816 1856 1859 1869 1923 -hsync +vsync + Modeline "2048x1920@60" 335.75 2048 2208 2432 2816 1920 1923 1933 1989 -hsync +vsync + Modeline "2048x1984@55" 317.25 2048 2208 2432 2816 1984 1987 1997 2049 -hsync +vsync + Modeline "2112x704@160" 361.00 2112 2288 2512 2912 704 707 717 776 -hsync +vsync + Modeline "2112x768@140" 338.50 2112 2280 2504 2896 768 771 781 836 -hsync +vsync + Modeline "2112x832@130" 338.50 2112 2280 2504 2896 832 835 845 900 -hsync +vsync + Modeline "2112x896@120" 334.25 2112 2280 2504 2896 896 899 909 963 -hsync +vsync + Modeline "2112x960@110" 326.50 2112 2280 2504 2896 960 963 973 1026 -hsync +vsync + Modeline "2112x1024@110" 350.00 2112 2288 2512 2912 1024 1027 1037 1094 -hsync +vsync + Modeline "2112x1088@100" 334.25 2112 2280 2504 2896 1088 1091 1101 1155 -hsync +vsync + Modeline "2112x1152@95" 335.25 2112 2280 2504 2896 1152 1155 1165 1219 -hsync +vsync + Modeline "2112x1216@90" 334.25 2112 2280 2504 2896 1216 1219 1229 1283 -hsync +vsync + Modeline "2112x1280@85" 331.25 2112 2280 2504 2896 1280 1283 1293 1346 -hsync +vsync + Modeline "2112x1344@80" 326.25 2112 2280 2504 2896 1344 1347 1357 1409 -hsync +vsync + Modeline "2112x1408@80" 341.75 2112 2280 2504 2896 1408 1411 1421 1476 -hsync +vsync + Modeline "2112x1472@75" 334.00 2112 2280 2504 2896 1472 1475 1485 1539 -hsync +vsync + Modeline "2112x1536@70" 324.25 2112 2280 2504 2896 1536 1539 1549 1601 -hsync +vsync + Modeline "2112x1600@70" 337.75 2112 2280 2504 2896 1600 1603 1613 1668 -hsync +vsync + Modeline "2112x1664@65" 325.25 2112 2280 2504 2896 1664 1667 1677 1729 -hsync +vsync + Modeline "2112x1728@65" 337.75 2112 2280 2504 2896 1728 1731 1741 1796 -hsync +vsync + Modeline "2112x1792@60" 322.50 2112 2280 2504 2896 1792 1795 1805 1857 -hsync +vsync + Modeline "2112x1856@60" 334.00 2112 2280 2504 2896 1856 1859 1869 1923 -hsync +vsync + Modeline "2112x1920@55" 315.75 2112 2280 2504 2896 1920 1923 1933 1983 -hsync +vsync + Modeline "2112x1984@55" 326.25 2112 2280 2504 2896 1984 1987 1997 2049 -hsync +vsync + Modeline "2176x768@140" 349.75 2176 2352 2584 2992 768 771 781 836 -hsync +vsync + Modeline "2176x832@130" 349.75 2176 2352 2584 2992 832 835 845 900 -hsync +vsync + Modeline "2176x896@120" 345.50 2176 2352 2584 2992 896 899 909 963 -hsync +vsync + Modeline "2176x960@110" 337.25 2176 2352 2584 2992 960 963 973 1026 -hsync +vsync + Modeline "2176x1024@100" 323.25 2176 2344 2576 2976 1024 1027 1037 1087 -hsync +vsync + Modeline "2176x1088@100" 345.25 2176 2352 2584 2992 1088 1091 1101 1155 -hsync +vsync + Modeline "2176x1152@95" 346.25 2176 2352 2584 2992 1152 1155 1165 1219 -hsync +vsync + Modeline "2176x1216@90" 345.25 2176 2352 2584 2992 1216 1219 1229 1283 -hsync +vsync + Modeline "2176x1280@85" 342.25 2176 2352 2584 2992 1280 1283 1293 1346 -hsync +vsync + Modeline "2176x1344@80" 337.25 2176 2352 2584 2992 1344 1347 1357 1409 -hsync +vsync + Modeline "2176x1408@75" 330.25 2176 2352 2584 2992 1408 1411 1421 1472 -hsync +vsync + Modeline "2176x1472@70" 319.50 2176 2344 2576 2976 1472 1475 1485 1535 -hsync +vsync + Modeline "2176x1536@70" 335.00 2176 2352 2584 2992 1536 1539 1549 1601 -hsync +vsync + Modeline "2176x1600@65" 321.50 2176 2344 2576 2976 1600 1603 1613 1663 -hsync +vsync + Modeline "2176x1664@65" 336.00 2176 2352 2584 2992 1664 1667 1677 1729 -hsync +vsync + Modeline "2176x1728@60" 319.50 2176 2344 2576 2976 1728 1731 1741 1791 -hsync +vsync + Modeline "2176x1792@60" 333.00 2176 2352 2584 2992 1792 1795 1805 1857 -hsync +vsync + Modeline "2176x1856@55" 313.75 2176 2344 2576 2976 1856 1859 1869 1917 -hsync +vsync + Modeline "2176x1920@55" 324.50 2176 2344 2576 2976 1920 1923 1933 1983 -hsync +vsync + Modeline "2176x1984@55" 337.00 2176 2352 2584 2992 1984 1987 1997 2049 -hsync +vsync + Modeline "2240x768@130" 331.50 2240 2416 2656 3072 768 771 781 831 -hsync +vsync + Modeline "2240x832@120" 329.50 2240 2416 2656 3072 832 835 845 895 -hsync +vsync + Modeline "2240x896@110" 323.25 2240 2416 2656 3072 896 899 909 957 -hsync +vsync + Modeline "2240x960@110" 346.25 2240 2416 2656 3072 960 963 973 1026 -hsync +vsync + Modeline "2240x1024@100" 333.75 2240 2416 2656 3072 1024 1027 1037 1087 -hsync +vsync + Modeline "2240x1088@95" 335.75 2240 2416 2656 3072 1088 1091 1101 1152 -hsync +vsync + Modeline "2240x1152@90" 335.75 2240 2416 2656 3072 1152 1155 1165 1216 -hsync +vsync + Modeline "2240x1216@85" 333.75 2240 2416 2656 3072 1216 1219 1229 1279 -hsync +vsync + Modeline "2240x1280@80" 329.75 2240 2416 2656 3072 1280 1283 1293 1343 -hsync +vsync + Modeline "2240x1344@75" 323.50 2240 2416 2656 3072 1344 1347 1357 1405 -hsync +vsync + Modeline "2240x1408@75" 339.00 2240 2416 2656 3072 1408 1411 1421 1472 -hsync +vsync + Modeline "2240x1472@70" 329.75 2240 2416 2656 3072 1472 1475 1485 1535 -hsync +vsync + Modeline "2240x1536@65" 318.50 2240 2416 2656 3072 1536 1539 1549 1597 -hsync +vsync + Modeline "2240x1600@65" 331.75 2240 2416 2656 3072 1600 1603 1613 1663 -hsync +vsync + Modeline "2240x1664@60" 317.50 2240 2416 2656 3072 1664 1667 1677 1724 -hsync +vsync + Modeline "2240x1728@60" 329.75 2240 2416 2656 3072 1728 1731 1741 1791 -hsync +vsync + Modeline "2240x1792@55" 311.00 2240 2408 2648 3056 1792 1795 1802 1851 -hsync +vsync + Modeline "2240x1856@55" 323.75 2240 2416 2656 3072 1856 1859 1869 1917 -hsync +vsync + Modeline "2240x1920@55" 335.00 2240 2416 2656 3072 1920 1923 1933 1983 -hsync +vsync + Modeline "2240x1984@50" 312.00 2240 2408 2648 3056 1984 1987 1997 2044 -hsync +vsync + Modeline "2304x768@130" 340.25 2304 2480 2728 3152 768 771 781 831 -hsync +vsync + Modeline "2304x832@120" 338.00 2304 2480 2728 3152 832 835 845 895 -hsync +vsync + Modeline "2304x896@110" 331.75 2304 2480 2728 3152 896 899 909 957 -hsync +vsync + Modeline "2304x960@100" 321.00 2304 2480 2728 3152 960 963 973 1020 -hsync +vsync + Modeline "2304x1024@100" 342.50 2304 2480 2728 3152 1024 1027 1037 1087 -hsync +vsync + Modeline "2304x1088@95" 344.50 2304 2480 2728 3152 1088 1091 1101 1152 -hsync +vsync + Modeline "2304x1152@90" 344.50 2304 2480 2728 3152 1152 1155 1165 1216 -hsync +vsync + Modeline "2304x1216@85" 342.50 2304 2480 2728 3152 1216 1219 1229 1279 -hsync +vsync + Modeline "2304x1280@80" 338.25 2304 2480 2728 3152 1280 1283 1293 1343 -hsync +vsync + Modeline "2304x1344@75" 332.00 2304 2480 2728 3152 1344 1347 1357 1405 -hsync +vsync + Modeline "2304x1408@70" 323.75 2304 2480 2728 3152 1408 1411 1421 1468 -hsync +vsync + Modeline "2304x1472@70" 338.25 2304 2480 2728 3152 1472 1475 1485 1535 -hsync +vsync + Modeline "2304x1536@65" 327.00 2304 2480 2728 3152 1536 1539 1549 1597 -hsync +vsync + Modeline "2304x1600@65" 340.50 2304 2480 2728 3152 1600 1603 1613 1663 -hsync +vsync + Modeline "2304x1664@60" 326.00 2304 2480 2728 3152 1664 1667 1677 1724 -hsync +vsync + Modeline "2304x1728@60" 338.50 2304 2480 2728 3152 1728 1731 1735 1791 -hsync +vsync + Modeline "2304x1792@55" 320.75 2304 2480 2728 3152 1792 1795 1805 1851 -hsync +vsync + Modeline "2304x1856@55" 332.25 2304 2480 2728 3152 1856 1859 1869 1917 -hsync +vsync + Modeline "2304x1920@50" 311.50 2304 2480 2728 3152 1920 1923 1933 1978 -hsync +vsync + Modeline "2304x1984@50" 322.00 2304 2480 2728 3152 1984 1987 1997 2044 -hsync +vsync + Modeline "2368x832@120" 348.25 2368 2552 2808 3248 832 835 845 895 -hsync +vsync + Modeline "2368x896@110" 341.75 2368 2552 2808 3248 896 899 909 957 -hsync +vsync + Modeline "2368x960@100" 329.25 2368 2544 2800 3232 960 963 973 1020 -hsync +vsync + Modeline "2368x1024@95" 332.50 2368 2544 2800 3232 1024 1027 1037 1084 -hsync +vsync + Modeline "2368x1088@90" 335.50 2368 2552 2808 3248 1088 1091 1101 1148 -hsync +vsync + Modeline "2368x1152@85" 332.75 2368 2544 2800 3232 1152 1155 1165 1212 -hsync +vsync + Modeline "2368x1216@80" 329.50 2368 2544 2800 3232 1216 1219 1229 1276 -hsync +vsync + Modeline "2368x1280@75" 324.25 2368 2544 2800 3232 1280 1283 1293 1339 -hsync +vsync + Modeline "2368x1344@75" 342.00 2368 2552 2808 3248 1344 1347 1357 1405 -hsync +vsync + Modeline "2368x1408@70" 332.00 2368 2544 2800 3232 1408 1411 1421 1468 -hsync +vsync + Modeline "2368x1472@65" 321.25 2368 2544 2800 3232 1472 1475 1485 1530 -hsync +vsync + Modeline "2368x1536@65" 336.75 2368 2552 2808 3248 1536 1539 1549 1597 -hsync +vsync + Modeline "2368x1600@60" 321.25 2368 2544 2800 3232 1600 1603 1613 1658 -hsync +vsync + Modeline "2368x1664@60" 335.75 2368 2552 2808 3248 1664 1667 1677 1724 -hsync +vsync + Modeline "2368x1728@55" 317.25 2368 2544 2800 3232 1728 1731 1741 1785 -hsync +vsync + Modeline "2368x1792@55" 329.00 2368 2544 2800 3232 1792 1795 1805 1851 -hsync +vsync + Modeline "2368x1856@50" 308.75 2368 2544 2800 3232 1856 1859 1869 1912 -hsync +vsync + Modeline "2368x1920@50" 319.50 2368 2544 2800 3232 1920 1923 1933 1978 -hsync +vsync + Modeline "2368x1984@50" 330.00 2368 2544 2800 3232 1984 1987 1997 2044 -hsync +vsync + Modeline "2432x832@110" 325.25 2432 2616 2880 3328 832 835 845 889 -hsync +vsync + Modeline "2432x896@110" 350.25 2432 2616 2880 3328 896 899 909 957 -hsync +vsync + Modeline "2432x960@100" 339.00 2432 2616 2880 3328 960 963 973 1020 -hsync +vsync + Modeline "2432x1024@95" 342.50 2432 2616 2880 3328 1024 1027 1037 1084 -hsync +vsync + Modeline "2432x1088@90" 343.75 2432 2616 2880 3328 1088 1091 1101 1148 -hsync +vsync + Modeline "2432x1152@85" 342.50 2432 2616 2880 3328 1152 1155 1165 1212 -hsync +vsync + Modeline "2432x1216@80" 339.25 2432 2616 2880 3328 1216 1219 1229 1276 -hsync +vsync + Modeline "2432x1280@75" 334.00 2432 2616 2880 3328 1280 1283 1293 1339 -hsync +vsync + Modeline "2432x1344@70" 326.25 2432 2616 2880 3328 1344 1347 1357 1401 -hsync +vsync + Modeline "2432x1408@70" 341.75 2432 2616 2880 3328 1408 1411 1421 1468 -hsync +vsync + Modeline "2432x1472@65" 330.75 2432 2616 2880 3328 1472 1475 1485 1530 -hsync +vsync + Modeline "2432x1536@60" 316.25 2432 2616 2872 3312 1536 1539 1549 1592 -hsync +vsync + Modeline "2432x1600@60" 331.00 2432 2616 2880 3328 1600 1603 1613 1658 -hsync +vsync + Modeline "2432x1664@55" 313.00 2432 2616 2872 3312 1664 1667 1677 1719 -hsync +vsync + Modeline "2432x1728@55" 326.50 2432 2616 2880 3328 1728 1731 1741 1785 -hsync +vsync + Modeline "2432x1792@55" 338.75 2432 2616 2880 3328 1792 1795 1805 1851 -hsync +vsync + Modeline "2432x1856@50" 316.50 2432 2616 2872 3312 1856 1859 1869 1912 -hsync +vsync + Modeline "2432x1920@50" 329.00 2432 2616 2880 3328 1920 1923 1933 1978 -hsync +vsync + Modeline "2432x1984@49" 332.75 2432 2616 2880 3328 1984 1987 1997 2043 -hsync +vsync + Modeline "2496x832@110" 333.00 2496 2688 2952 3408 832 835 845 889 -hsync +vsync + Modeline "2496x896@100" 324.00 2496 2688 2952 3408 896 899 909 952 -hsync +vsync + Modeline "2496x960@100" 347.25 2496 2688 2952 3408 960 963 973 1020 -hsync +vsync + Modeline "2496x1024@90" 331.25 2496 2688 2952 3408 1024 1027 1037 1081 -hsync +vsync + Modeline "2496x1088@85" 331.50 2496 2688 2952 3408 1088 1091 1101 1145 -hsync +vsync + Modeline "2496x1152@80" 329.25 2496 2688 2952 3408 1152 1155 1165 1209 -hsync +vsync + Modeline "2496x1216@75" 324.75 2496 2688 2952 3408 1216 1219 1229 1272 -hsync +vsync + Modeline "2496x1280@75" 342.00 2496 2688 2952 3408 1280 1283 1293 1339 -hsync +vsync + Modeline "2496x1344@70" 334.00 2496 2688 2952 3408 1344 1347 1357 1401 -hsync +vsync + Modeline "2496x1408@65" 324.00 2496 2688 2952 3408 1408 1411 1421 1464 -hsync +vsync + Modeline "2496x1472@65" 338.75 2496 2688 2952 3408 1472 1475 1485 1530 -hsync +vsync + Modeline "2496x1536@60" 325.25 2496 2688 2952 3408 1536 1539 1549 1592 -hsync +vsync + Modeline "2496x1600@60" 338.75 2496 2688 2952 3408 1600 1603 1613 1658 -hsync +vsync + Modeline "2496x1664@55" 322.00 2496 2688 2952 3408 1664 1667 1677 1719 -hsync +vsync + Modeline "2496x1728@55" 334.50 2496 2688 2952 3408 1728 1731 1741 1785 -hsync +vsync + Modeline "2496x1792@50" 313.00 2496 2680 2944 3392 1792 1795 1805 1846 -hsync +vsync + Modeline "2496x1856@50" 325.50 2496 2688 2952 3408 1856 1859 1869 1912 -hsync +vsync + Modeline "2496x1920@50" 336.75 2496 2688 2952 3408 1920 1923 1933 1978 -hsync +vsync + Modeline "2496x1984@48" 333.75 2496 2688 2952 3408 1984 1987 1997 2041 -hsync +vsync + Modeline "2560x896@100" 331.75 2560 2752 3024 3488 896 899 909 952 -hsync +vsync + Modeline "2560x960@95" 336.50 2560 2752 3024 3488 960 963 973 1017 -hsync +vsync + Modeline "2560x1024@90" 339.00 2560 2752 3024 3488 1024 1027 1037 1081 -hsync +vsync + Modeline "2560x1088@85" 339.25 2560 2752 3024 3488 1088 1091 1101 1145 -hsync +vsync + Modeline "2560x1152@80" 337.00 2560 2752 3024 3488 1152 1155 1165 1209 -hsync +vsync + Modeline "2560x1216@75" 332.50 2560 2752 3024 3488 1216 1219 1229 1272 -hsync +vsync + Modeline "2560x1280@70" 325.75 2560 2752 3024 3488 1280 1283 1293 1335 -hsync +vsync + Modeline "2560x1344@65" 316.50 2560 2752 3024 3488 1344 1347 1357 1397 -hsync +vsync + Modeline "2560x1408@65" 331.75 2560 2752 3024 3488 1408 1411 1421 1464 -hsync +vsync + Modeline "2560x1472@60" 319.00 2560 2752 3024 3488 1472 1475 1485 1526 -hsync +vsync + Modeline "2560x1536@60" 333.00 2560 2752 3024 3488 1536 1539 1549 1592 -hsync +vsync + Modeline "2560x1600@55" 317.00 2560 2752 3024 3488 1600 1603 1609 1654 -hsync +vsync + Modeline "2560x1664@55" 329.75 2560 2752 3024 3488 1664 1667 1677 1719 -hsync +vsync + Modeline "2560x1728@50" 310.25 2560 2752 3024 3488 1728 1731 1741 1780 -hsync +vsync + Modeline "2560x1792@50" 321.75 2560 2752 3024 3488 1792 1795 1805 1846 -hsync +vsync + Modeline "2560x1856@50" 333.25 2560 2752 3024 3488 1856 1859 1869 1912 -hsync +vsync + Modeline "2560x1920@48" 330.50 2560 2752 3024 3488 1920 1923 1927 1976 -hsync +vsync + Modeline "2560x1984@47" 334.25 2560 2752 3024 3488 1984 1987 1997 2040 -hsync +vsync + Modeline "2624x896@100" 340.75 2624 2824 3104 3584 896 899 909 952 -hsync +vsync + Modeline "2624x960@95" 345.75 2624 2824 3104 3584 960 963 973 1017 -hsync +vsync + Modeline "2624x1024@85" 326.50 2624 2816 3096 3568 1024 1027 1037 1078 -hsync +vsync + Modeline "2624x1088@80" 325.50 2624 2816 3096 3568 1088 1091 1101 1142 -hsync +vsync + Modeline "2624x1152@75" 322.25 2624 2816 3096 3568 1152 1155 1165 1205 -hsync +vsync + Modeline "2624x1216@75" 341.75 2624 2824 3104 3584 1216 1219 1229 1272 -hsync +vsync + Modeline "2624x1280@70" 334.75 2624 2824 3104 3584 1280 1283 1293 1335 -hsync +vsync + Modeline "2624x1344@65" 323.75 2624 2816 3096 3568 1344 1347 1357 1397 -hsync +vsync + Modeline "2624x1408@60" 312.25 2624 2816 3096 3568 1408 1411 1421 1460 -hsync +vsync + Modeline "2624x1472@60" 326.50 2624 2816 3096 3568 1472 1475 1485 1526 -hsync +vsync + Modeline "2624x1536@55" 311.25 2624 2816 3096 3568 1536 1539 1549 1588 -hsync +vsync + Modeline "2624x1600@55" 324.25 2624 2816 3096 3568 1600 1603 1613 1654 -hsync +vsync + Modeline "2624x1664@50" 305.75 2624 2816 3096 3568 1664 1667 1677 1715 -hsync +vsync + Modeline "2624x1728@50" 317.50 2624 2816 3096 3568 1728 1731 1741 1780 -hsync +vsync + Modeline "2624x1792@50" 329.25 2624 2816 3096 3568 1792 1795 1805 1846 -hsync +vsync + Modeline "2624x1856@49" 335.50 2624 2824 3104 3584 1856 1859 1869 1911 -hsync +vsync + Modeline "2624x1920@47" 331.00 2624 2816 3096 3568 1920 1923 1933 1975 -hsync +vsync + Modeline "2624x1984@46" 336.00 2624 2824 3104 3584 1984 1987 1997 2039 -hsync +vsync + Modeline "2688x896@95" 330.00 2688 2888 3176 3664 896 899 909 949 -hsync +vsync + Modeline "2688x960@90" 334.00 2688 2888 3176 3664 960 963 973 1014 -hsync +vsync + Modeline "2688x1024@85" 335.50 2688 2888 3176 3664 1024 1027 1037 1078 -hsync +vsync + Modeline "2688x1088@80" 334.50 2688 2888 3176 3664 1088 1091 1101 1142 -hsync +vsync + Modeline "2688x1152@75" 331.00 2688 2888 3176 3664 1152 1155 1165 1205 -hsync +vsync + Modeline "2688x1216@70" 323.50 2688 2880 3168 3648 1216 1219 1229 1268 -hsync +vsync + Modeline "2688x1280@65" 315.50 2688 2880 3168 3648 1280 1283 1293 1331 -hsync +vsync + Modeline "2688x1344@65" 332.50 2688 2888 3176 3664 1344 1347 1357 1397 -hsync +vsync + Modeline "2688x1408@60" 319.25 2688 2880 3168 3648 1408 1411 1421 1460 -hsync +vsync + Modeline "2688x1472@60" 335.25 2688 2888 3176 3664 1472 1475 1485 1526 -hsync +vsync + Modeline "2688x1536@55" 318.25 2688 2880 3168 3648 1536 1539 1549 1588 -hsync +vsync + Modeline "2688x1600@55" 333.00 2688 2888 3176 3664 1600 1603 1613 1654 -hsync +vsync + Modeline "2688x1664@50" 312.50 2688 2880 3168 3648 1664 1667 1677 1715 -hsync +vsync + Modeline "2688x1728@50" 324.50 2688 2880 3168 3648 1728 1731 1741 1780 -hsync +vsync + Modeline "2688x1792@49" 331.00 2688 2888 3176 3664 1792 1795 1805 1845 -hsync +vsync + Modeline "2688x1856@48" 335.75 2688 2888 3176 3664 1856 1859 1869 1910 -hsync +vsync + Modeline "2688x1920@46" 332.50 2688 2888 3176 3664 1920 1923 1933 1973 -hsync +vsync + Modeline "2688x1984@45" 335.75 2688 2888 3176 3664 1984 1987 1997 2038 -hsync +vsync + Modeline "2752x960@90" 341.25 2752 2952 3248 3744 960 963 973 1014 -hsync +vsync + Modeline "2752x1024@85" 342.75 2752 2952 3248 3744 1024 1027 1037 1078 -hsync +vsync + Modeline "2752x1088@80" 341.75 2752 2952 3248 3744 1088 1091 1101 1142 -hsync +vsync + Modeline "2752x1152@75" 338.25 2752 2952 3248 3744 1152 1155 1165 1205 -hsync +vsync + Modeline "2752x1216@70" 332.25 2752 2952 3248 3744 1216 1219 1229 1268 -hsync +vsync + Modeline "2752x1280@65" 323.75 2752 2952 3248 3744 1280 1283 1293 1331 -hsync +vsync + Modeline "2752x1344@60" 311.50 2752 2944 3240 3728 1344 1347 1357 1393 -hsync +vsync + Modeline "2752x1408@60" 327.75 2752 2952 3248 3744 1408 1411 1421 1460 -hsync +vsync + Modeline "2752x1472@55" 311.75 2752 2944 3240 3728 1472 1475 1485 1522 -hsync +vsync + Modeline "2752x1536@55" 326.75 2752 2952 3248 3744 1536 1539 1549 1588 -hsync +vsync + Modeline "2752x1600@50" 307.00 2752 2944 3240 3728 1600 1603 1613 1649 -hsync +vsync + Modeline "2752x1664@50" 320.75 2752 2952 3248 3744 1664 1667 1677 1715 -hsync +vsync + Modeline "2752x1728@50" 333.00 2752 2952 3248 3744 1728 1731 1741 1780 -hsync +vsync + Modeline "2752x1792@48" 331.25 2752 2952 3248 3744 1792 1795 1805 1844 -hsync +vsync + Modeline "2752x1856@46" 328.25 2752 2952 3248 3744 1856 1859 1869 1908 -hsync +vsync + Modeline "2752x1920@45" 332.00 2752 2952 3248 3744 1920 1923 1933 1972 -hsync +vsync + Modeline "2752x1984@43" 327.50 2752 2952 3248 3744 1984 1987 1997 2036 -hsync +vsync + Modeline "2816x960@85" 328.25 2816 3016 3320 3824 960 963 973 1011 -hsync +vsync + Modeline "2816x1024@80" 328.50 2816 3016 3320 3824 1024 1027 1037 1075 -hsync +vsync + Modeline "2816x1088@75" 326.25 2816 3016 3320 3824 1088 1091 1101 1138 -hsync +vsync + Modeline "2816x1152@70" 321.50 2816 3016 3320 3824 1152 1155 1165 1202 -hsync +vsync + Modeline "2816x1216@70" 339.25 2816 3016 3320 3824 1216 1219 1229 1268 -hsync +vsync + Modeline "2816x1280@65" 330.50 2816 3016 3320 3824 1280 1283 1293 1331 -hsync +vsync + Modeline "2816x1344@60" 319.50 2816 3016 3320 3824 1344 1347 1357 1393 -hsync +vsync + Modeline "2816x1408@60" 334.75 2816 3016 3320 3824 1408 1411 1421 1460 -hsync +vsync + Modeline "2816x1472@55" 319.75 2816 3016 3320 3824 1472 1475 1485 1522 -hsync +vsync + Modeline "2816x1536@55" 333.75 2816 3016 3320 3824 1536 1539 1549 1588 -hsync +vsync + Modeline "2816x1600@50" 315.00 2816 3016 3320 3824 1600 1603 1613 1649 -hsync +vsync + Modeline "2816x1664@50" 327.50 2816 3016 3320 3824 1664 1667 1677 1715 -hsync +vsync + Modeline "2816x1728@49" 333.25 2816 3016 3320 3824 1728 1731 1741 1779 -hsync +vsync + Modeline "2816x1792@47" 331.00 2816 3016 3320 3824 1792 1795 1805 1843 -hsync +vsync + Modeline "2816x1856@45" 328.00 2816 3016 3320 3824 1856 1859 1869 1907 -hsync +vsync + Modeline "2816x1920@44" 331.50 2816 3016 3320 3824 1920 1923 1933 1971 -hsync +vsync + Modeline "2816x1984@42" 326.50 2816 3016 3320 3824 1984 1987 1997 2034 -hsync +vsync + Modeline "2880x960@85" 335.00 2880 3088 3392 3904 960 963 973 1011 -hsync +vsync + Modeline "2880x1024@80" 335.50 2880 3088 3392 3904 1024 1027 1037 1075 -hsync +vsync + Modeline "2880x1088@75" 333.00 2880 3088 3392 3904 1088 1091 1101 1138 -hsync +vsync + Modeline "2880x1152@70" 328.25 2880 3088 3392 3904 1152 1155 1165 1202 -hsync +vsync + Modeline "2880x1216@65" 320.75 2880 3088 3392 3904 1216 1219 1229 1265 -hsync +vsync + Modeline "2880x1280@65" 339.00 2880 3088 3400 3920 1280 1283 1293 1331 -hsync +vsync + Modeline "2880x1344@60" 326.25 2880 3088 3392 3904 1344 1347 1357 1393 -hsync +vsync + Modeline "2880x1408@55" 312.25 2880 3088 3392 3904 1408 1411 1421 1456 -hsync +vsync + Modeline "2880x1472@55" 326.50 2880 3088 3392 3904 1472 1475 1485 1522 -hsync +vsync + Modeline "2880x1536@50" 307.50 2880 3080 3384 3888 1536 1539 1549 1583 -hsync +vsync + Modeline "2880x1600@50" 321.75 2880 3088 3392 3904 1600 1603 1613 1649 -hsync +vsync + Modeline "2880x1664@50" 334.50 2880 3088 3392 3904 1664 1667 1677 1715 -hsync +vsync + Modeline "2880x1728@48" 333.00 2880 3088 3392 3904 1728 1731 1738 1778 -hsync +vsync + Modeline "2880x1792@46" 330.50 2880 3088 3392 3904 1792 1795 1805 1842 -hsync +vsync + Modeline "2880x1856@44" 327.25 2880 3088 3392 3904 1856 1859 1869 1906 -hsync +vsync + Modeline "2880x1920@43" 330.50 2880 3088 3392 3904 1920 1923 1933 1970 -hsync +vsync + Modeline "2880x1984@42" 333.50 2880 3088 3392 3904 1984 1987 1997 2034 -hsync +vsync + Modeline "2944x1024@75" 320.00 2944 3152 3464 3984 1024 1027 1037 1072 -hsync +vsync + Modeline "2944x1088@70" 316.25 2944 3152 3464 3984 1088 1091 1101 1135 -hsync +vsync + Modeline "2944x1152@70" 336.25 2944 3160 3472 4000 1152 1155 1165 1202 -hsync +vsync + Modeline "2944x1216@65" 327.25 2944 3152 3464 3984 1216 1219 1229 1265 -hsync +vsync + Modeline "2944x1280@60" 317.00 2944 3152 3464 3984 1280 1283 1293 1327 -hsync +vsync + Modeline "2944x1344@60" 334.25 2944 3160 3472 4000 1344 1347 1357 1393 -hsync +vsync + Modeline "2944x1408@55" 318.75 2944 3152 3464 3984 1408 1411 1421 1456 -hsync +vsync + Modeline "2944x1472@55" 334.50 2944 3160 3472 4000 1472 1475 1485 1522 -hsync +vsync + Modeline "2944x1536@50" 315.00 2944 3152 3464 3984 1536 1539 1549 1583 -hsync +vsync + Modeline "2944x1600@50" 328.25 2944 3152 3464 3984 1600 1603 1613 1649 -hsync +vsync + Modeline "2944x1664@48" 327.25 2944 3152 3464 3984 1664 1667 1677 1713 -hsync +vsync + Modeline "2944x1728@47" 334.00 2944 3160 3472 4000 1728 1731 1741 1777 -hsync +vsync + Modeline "2944x1792@45" 329.75 2944 3152 3464 3984 1792 1795 1805 1841 -hsync +vsync + Modeline "2944x1856@43" 326.00 2944 3152 3464 3984 1856 1859 1869 1905 -hsync +vsync + Modeline "2944x1920@42" 329.25 2944 3152 3464 3984 1920 1923 1933 1969 -hsync +vsync + Modeline "2944x1984@41" 333.25 2944 3160 3472 4000 1984 1987 1997 2033 -hsync +vsync + Modeline "3008x1024@75" 326.25 3008 3216 3536 4064 1024 1027 1037 1072 -hsync +vsync + Modeline "3008x1088@70" 322.75 3008 3216 3536 4064 1088 1091 1101 1135 -hsync +vsync + Modeline "3008x1152@65" 316.25 3008 3216 3536 4064 1152 1155 1165 1198 -hsync +vsync + Modeline "3008x1216@65" 335.25 3008 3224 3544 4080 1216 1219 1229 1265 -hsync +vsync + Modeline "3008x1280@60" 323.50 3008 3216 3536 4064 1280 1283 1293 1327 -hsync +vsync + Modeline "3008x1344@55" 310.25 3008 3216 3536 4064 1344 1347 1357 1390 -hsync +vsync + Modeline "3008x1408@55" 325.00 3008 3216 3536 4064 1408 1411 1421 1456 -hsync +vsync + Modeline "3008x1472@50" 308.00 3008 3216 3536 4064 1472 1475 1485 1517 -hsync +vsync + Modeline "3008x1536@50" 321.50 3008 3216 3536 4064 1536 1539 1549 1583 -hsync +vsync + Modeline "3008x1600@49" 329.25 3008 3224 3544 4080 1600 1603 1613 1648 -hsync +vsync + Modeline "3008x1664@47" 326.75 3008 3216 3536 4064 1664 1667 1677 1712 -hsync +vsync + Modeline "3008x1728@46" 333.25 3008 3224 3544 4080 1728 1731 1741 1776 -hsync +vsync + Modeline "3008x1792@44" 330.00 3008 3224 3544 4080 1792 1795 1805 1840 -hsync +vsync + Modeline "3008x1856@42" 324.75 3008 3216 3536 4064 1856 1859 1869 1903 -hsync +vsync + Modeline "3008x1920@41" 329.00 3008 3224 3544 4080 1920 1923 1933 1968 -hsync +vsync + Modeline "3008x1984@40" 331.50 3008 3224 3544 4080 1984 1987 1997 2032 -hsync +vsync + Modeline "3072x1024@75" 334.00 3072 3288 3616 4160 1024 1027 1037 1072 -hsync +vsync + Modeline "3072x1088@70" 330.25 3072 3288 3616 4160 1088 1091 1101 1135 -hsync +vsync + Modeline "3072x1152@65" 322.50 3072 3280 3608 4144 1152 1155 1165 1198 -hsync +vsync + Modeline "3072x1216@60" 313.25 3072 3280 3608 4144 1216 1219 1229 1261 -hsync +vsync + Modeline "3072x1280@60" 331.00 3072 3288 3616 4160 1280 1283 1293 1327 -hsync +vsync + Modeline "3072x1344@55" 316.50 3072 3280 3608 4144 1344 1347 1357 1390 -hsync +vsync + Modeline "3072x1408@55" 332.75 3072 3288 3616 4160 1408 1411 1421 1456 -hsync +vsync + Modeline "3072x1472@50" 314.25 3072 3280 3608 4144 1472 1475 1485 1517 -hsync +vsync + Modeline "3072x1536@50" 329.00 3072 3288 3616 4160 1536 1539 1549 1583 -hsync +vsync + Modeline "3072x1600@48" 328.75 3072 3288 3616 4160 1600 1603 1613 1647 -hsync +vsync + Modeline "3072x1664@46" 327.25 3072 3288 3616 4160 1664 1667 1677 1711 -hsync +vsync + Modeline "3072x1728@45" 332.25 3072 3288 3616 4160 1728 1731 1736 1775 -hsync +vsync + Modeline "3072x1792@43" 328.75 3072 3288 3616 4160 1792 1795 1805 1839 -hsync +vsync + Modeline "3072x1856@42" 332.25 3072 3288 3616 4160 1856 1859 1869 1903 -hsync +vsync + Modeline "3072x1920@40" 327.00 3072 3288 3616 4160 1920 1923 1929 1967 -hsync +vsync + Modeline "3072x1984@39" 329.25 3072 3288 3616 4160 1984 1987 1997 2031 -hsync +vsync + Modeline "3136x1088@70" 336.75 3136 3352 3688 4240 1088 1091 1101 1135 -hsync +vsync + Modeline "3136x1152@65" 330.00 3136 3352 3688 4240 1152 1155 1165 1198 -hsync +vsync + Modeline "3136x1216@60" 319.25 3136 3344 3680 4224 1216 1219 1229 1261 -hsync +vsync + Modeline "3136x1280@55" 307.25 3136 3344 3680 4224 1280 1283 1293 1324 -hsync +vsync + Modeline "3136x1344@55" 323.75 3136 3352 3688 4240 1344 1347 1357 1390 -hsync +vsync + Modeline "3136x1408@50" 306.25 3136 3344 3680 4224 1408 1411 1421 1451 -hsync +vsync + Modeline "3136x1472@50" 321.50 3136 3352 3688 4240 1472 1475 1485 1517 -hsync +vsync + Modeline "3136x1536@49" 328.50 3136 3352 3688 4240 1536 1539 1549 1582 -hsync +vsync + Modeline "3136x1600@47" 327.75 3136 3352 3688 4240 1600 1603 1613 1646 -hsync +vsync + Modeline "3136x1664@45" 326.00 3136 3352 3688 4240 1664 1667 1677 1710 -hsync +vsync + Modeline "3136x1728@44" 330.75 3136 3352 3688 4240 1728 1731 1741 1774 -hsync +vsync + Modeline "3136x1792@42" 327.00 3136 3352 3688 4240 1792 1795 1805 1838 -hsync +vsync + Modeline "3136x1856@41" 330.50 3136 3352 3688 4240 1856 1859 1869 1902 -hsync +vsync + Modeline "3136x1920@39" 324.75 3136 3352 3688 4240 1920 1923 1933 1966 -hsync +vsync + Modeline "3136x1984@38" 326.75 3136 3352 3688 4240 1984 1987 1997 2030 -hsync +vsync + Modeline "3200x1088@65" 316.50 3200 3416 3752 4304 1088 1091 1101 1132 -hsync +vsync + Modeline "3200x1152@65" 336.25 3200 3416 3760 4320 1152 1155 1165 1198 -hsync +vsync + Modeline "3200x1216@60" 326.50 3200 3416 3760 4320 1216 1219 1229 1261 -hsync +vsync + Modeline "3200x1280@55" 313.00 3200 3416 3752 4304 1280 1283 1293 1324 -hsync +vsync + Modeline "3200x1344@55" 330.00 3200 3416 3760 4320 1344 1347 1357 1390 -hsync +vsync + Modeline "3200x1408@50" 312.00 3200 3416 3752 4304 1408 1411 1421 1451 -hsync +vsync + Modeline "3200x1472@50" 327.50 3200 3416 3760 4320 1472 1475 1485 1517 -hsync +vsync + Modeline "3200x1536@48" 327.75 3200 3416 3760 4320 1536 1539 1549 1581 -hsync +vsync + Modeline "3200x1600@46" 326.75 3200 3416 3760 4320 1600 1603 1613 1645 -hsync +vsync + Modeline "3200x1664@45" 332.25 3200 3416 3760 4320 1664 1667 1677 1710 -hsync +vsync + Modeline "3200x1728@43" 329.25 3200 3416 3760 4320 1728 1731 1741 1773 -hsync +vsync + Modeline "3200x1792@41" 325.25 3200 3416 3760 4320 1792 1795 1805 1837 -hsync +vsync + Modeline "3200x1856@40" 328.25 3200 3416 3760 4320 1856 1859 1869 1901 -hsync +vsync + Modeline "3200x1920@39" 331.00 3200 3416 3760 4320 1920 1923 1933 1966 -hsync +vsync + Modeline "3200x1984@37" 324.00 3200 3416 3760 4320 1984 1987 1997 2029 -hsync +vsync + Modeline "3264x1088@65" 323.50 3264 3488 3832 4400 1088 1091 1101 1132 -hsync +vsync + Modeline "3264x1152@60" 314.00 3264 3480 3824 4384 1152 1155 1165 1195 -hsync +vsync + Modeline "3264x1216@60" 332.75 3264 3488 3832 4400 1216 1219 1229 1261 -hsync +vsync + Modeline "3264x1280@55" 320.00 3264 3488 3832 4400 1280 1283 1293 1324 -hsync +vsync + Modeline "3264x1344@50" 303.50 3264 3480 3824 4384 1344 1347 1357 1386 -hsync +vsync + Modeline "3264x1408@50" 319.00 3264 3488 3832 4400 1408 1411 1421 1451 -hsync +vsync + Modeline "3264x1472@49" 326.75 3264 3488 3832 4400 1472 1475 1485 1516 -hsync +vsync + Modeline "3264x1536@47" 326.50 3264 3488 3832 4400 1536 1539 1549 1580 -hsync +vsync + Modeline "3264x1600@45" 325.25 3264 3488 3832 4400 1600 1603 1613 1644 -hsync +vsync + Modeline "3264x1664@44" 330.50 3264 3488 3832 4400 1664 1667 1677 1709 -hsync +vsync + Modeline "3264x1728@42" 327.25 3264 3488 3832 4400 1728 1731 1741 1772 -hsync +vsync + Modeline "3264x1792@41" 331.25 3264 3488 3832 4400 1792 1795 1805 1837 -hsync +vsync + Modeline "3264x1856@39" 325.75 3264 3488 3832 4400 1856 1859 1869 1900 -hsync +vsync + Modeline "3264x1920@38" 328.25 3264 3488 3832 4400 1920 1923 1933 1965 -hsync +vsync + Modeline "3264x1984@37" 330.00 3264 3488 3832 4400 1984 1987 1997 2029 -hsync +vsync + Modeline "3328x1152@60" 321.00 3328 3552 3904 4480 1152 1155 1165 1195 -hsync +vsync + Modeline "3328x1216@55" 308.50 3328 3544 3896 4464 1216 1219 1229 1258 -hsync +vsync + Modeline "3328x1280@55" 325.75 3328 3552 3904 4480 1280 1283 1293 1324 -hsync +vsync + Modeline "3328x1344@50" 309.00 3328 3544 3896 4464 1344 1347 1357 1386 -hsync +vsync + Modeline "3328x1408@50" 325.00 3328 3552 3904 4480 1408 1411 1421 1451 -hsync +vsync + Modeline "3328x1472@48" 325.75 3328 3552 3904 4480 1472 1475 1485 1515 -hsync +vsync + Modeline "3328x1536@46" 325.25 3328 3552 3904 4480 1536 1539 1549 1579 -hsync +vsync + Modeline "3328x1600@45" 331.25 3328 3552 3904 4480 1600 1603 1613 1644 -hsync +vsync + Modeline "3328x1664@43" 328.75 3328 3552 3904 4480 1664 1667 1677 1708 -hsync +vsync + Modeline "3328x1728@41" 325.25 3328 3552 3904 4480 1728 1731 1741 1771 -hsync +vsync + Modeline "3328x1792@40" 328.75 3328 3552 3904 4480 1792 1795 1805 1836 -hsync +vsync + Modeline "3328x1856@38" 323.00 3328 3552 3904 4480 1856 1859 1869 1899 -hsync +vsync + Modeline "3328x1920@37" 325.25 3328 3552 3904 4480 1920 1923 1933 1963 -hsync +vsync + Modeline "3328x1984@36" 326.75 3328 3552 3904 4480 1984 1987 1997 2028 -hsync +vsync + Modeline "3392x1152@60" 326.75 3392 3616 3976 4560 1152 1155 1165 1195 -hsync +vsync + Modeline "3392x1216@55" 315.25 3392 3616 3976 4560 1216 1219 1229 1258 -hsync +vsync + Modeline "3392x1280@55" 332.75 3392 3624 3984 4576 1280 1283 1293 1324 -hsync +vsync + Modeline "3392x1344@50" 315.75 3392 3616 3976 4560 1344 1347 1357 1386 -hsync +vsync + Modeline "3392x1408@50" 330.75 3392 3616 3976 4560 1408 1411 1421 1451 -hsync +vsync + Modeline "3392x1472@48" 332.75 3392 3624 3984 4576 1472 1475 1485 1515 -hsync +vsync + Modeline "3392x1536@46" 331.00 3392 3616 3976 4560 1536 1539 1549 1579 -hsync +vsync + Modeline "3392x1600@44" 329.50 3392 3616 3976 4560 1600 1603 1613 1643 -hsync +vsync + Modeline "3392x1664@42" 326.75 3392 3616 3976 4560 1664 1667 1677 1707 -hsync +vsync + Modeline "3392x1728@40" 322.75 3392 3616 3976 4560 1728 1731 1741 1770 -hsync +vsync + Modeline "3392x1792@39" 326.00 3392 3616 3976 4560 1792 1795 1805 1835 -hsync +vsync + Modeline "3392x1856@38" 329.00 3392 3616 3976 4560 1856 1859 1869 1899 -hsync +vsync + Modeline "3392x1920@36" 322.00 3392 3616 3976 4560 1920 1923 1933 1962 -hsync +vsync + Modeline "3392x1984@35" 323.25 3392 3616 3976 4560 1984 1987 1997 2027 -hsync +vsync + Modeline "3456x1152@60" 333.50 3456 3688 4056 4656 1152 1155 1165 1195 -hsync +vsync + Modeline "3456x1216@55" 320.75 3456 3680 4048 4640 1216 1219 1229 1258 -hsync +vsync + Modeline "3456x1280@50" 305.00 3456 3672 4040 4624 1280 1283 1293 1320 -hsync +vsync + Modeline "3456x1344@50" 321.25 3456 3680 4048 4640 1344 1347 1357 1386 -hsync +vsync + Modeline "3456x1408@49" 330.75 3456 3688 4056 4656 1408 1411 1421 1451 -hsync +vsync + Modeline "3456x1472@47" 331.25 3456 3688 4056 4656 1472 1475 1485 1515 -hsync +vsync + Modeline "3456x1536@45" 330.50 3456 3688 4056 4656 1536 1539 1549 1579 -hsync +vsync + Modeline "3456x1600@43" 327.50 3456 3680 4048 4640 1600 1603 1613 1642 -hsync +vsync + Modeline "3456x1664@41" 324.25 3456 3680 4048 4640 1664 1667 1677 1706 -hsync +vsync + Modeline "3456x1728@40" 328.50 3456 3680 4048 4640 1728 1731 1741 1770 -hsync +vsync + Modeline "3456x1792@38" 323.25 3456 3680 4048 4640 1792 1795 1805 1834 -hsync +vsync + Modeline "3456x1856@37" 325.75 3456 3680 4048 4640 1856 1859 1869 1898 -hsync +vsync + Modeline "3456x1920@36" 327.50 3456 3680 4048 4640 1920 1923 1933 1962 -hsync +vsync + Modeline "3456x1984@35" 329.00 3456 3680 4048 4640 1984 1987 1997 2027 -hsync +vsync + Modeline "3520x1216@55" 326.25 3520 3744 4120 4720 1216 1219 1229 1258 -hsync +vsync + Modeline "3520x1280@50" 311.25 3520 3744 4120 4720 1280 1283 1293 1320 -hsync +vsync + Modeline "3520x1344@50" 326.75 3520 3744 4120 4720 1344 1347 1357 1386 -hsync +vsync + Modeline "3520x1408@48" 329.25 3520 3752 4128 4736 1408 1411 1421 1450 -hsync +vsync + Modeline "3520x1472@46" 329.50 3520 3752 4128 4736 1472 1475 1485 1514 -hsync +vsync + Modeline "3520x1536@44" 328.50 3520 3752 4128 4736 1536 1539 1549 1578 -hsync +vsync + Modeline "3520x1600@42" 325.25 3520 3744 4120 4720 1600 1603 1613 1641 -hsync +vsync + Modeline "3520x1664@40" 321.75 3520 3744 4120 4720 1664 1667 1677 1705 -hsync +vsync + Modeline "3520x1728@39" 325.50 3520 3744 4120 4720 1728 1731 1741 1769 -hsync +vsync + Modeline "3520x1792@38" 329.75 3520 3752 4128 4736 1792 1795 1805 1834 -hsync +vsync + Modeline "3520x1856@36" 322.25 3520 3744 4120 4720 1856 1859 1869 1897 -hsync +vsync + Modeline "3520x1920@35" 323.75 3520 3744 4120 4720 1920 1923 1933 1961 -hsync +vsync + Modeline "3520x1984@34" 324.75 3520 3744 4120 4720 1984 1987 1997 2025 -hsync +vsync + Modeline "3584x1216@55" 332.75 3584 3816 4200 4816 1216 1219 1229 1258 -hsync +vsync + Modeline "3584x1280@50" 316.50 3584 3816 4192 4800 1280 1283 1293 1320 -hsync +vsync + Modeline "3584x1344@49" 325.50 3584 3816 4192 4800 1344 1347 1357 1385 -hsync +vsync + Modeline "3584x1408@47" 327.75 3584 3816 4200 4816 1408 1411 1421 1449 -hsync +vsync + Modeline "3584x1472@45" 327.75 3584 3816 4200 4816 1472 1475 1485 1513 -hsync +vsync + Modeline "3584x1536@43" 325.25 3584 3816 4192 4800 1536 1539 1549 1577 -hsync +vsync + Modeline "3584x1600@41" 322.50 3584 3816 4192 4800 1600 1603 1613 1640 -hsync +vsync + Modeline "3584x1664@40" 328.25 3584 3816 4200 4816 1664 1667 1677 1705 -hsync +vsync + Modeline "3584x1728@38" 322.25 3584 3816 4192 4800 1728 1731 1741 1768 -hsync +vsync + Modeline "3584x1792@37" 325.25 3584 3816 4192 4800 1792 1795 1805 1833 -hsync +vsync + Modeline "3584x1856@36" 328.75 3584 3816 4200 4816 1856 1859 1869 1897 -hsync +vsync + Modeline "3584x1920@34" 319.75 3584 3816 4192 4800 1920 1923 1933 1960 -hsync +vsync + Modeline "3584x1984@33" 320.50 3584 3816 4192 4800 1984 1987 1997 2024 -hsync +vsync + Modeline "3648x1216@50" 304.75 3648 3872 4256 4864 1216 1219 1229 1254 -hsync +vsync + Modeline "3648x1280@50" 321.75 3648 3880 4264 4880 1280 1283 1293 1320 -hsync +vsync + Modeline "3648x1344@48" 324.00 3648 3880 4264 4880 1344 1347 1357 1384 -hsync +vsync + Modeline "3648x1408@46" 326.00 3648 3888 4272 4896 1408 1411 1421 1448 -hsync +vsync + Modeline "3648x1472@44" 324.50 3648 3880 4264 4880 1472 1475 1485 1512 -hsync +vsync + Modeline "3648x1536@42" 322.75 3648 3880 4264 4880 1536 1539 1549 1576 -hsync +vsync + Modeline "3648x1600@41" 329.00 3648 3888 4272 4896 1600 1603 1613 1640 -hsync +vsync + Modeline "3648x1664@39" 324.00 3648 3880 4264 4880 1664 1667 1677 1704 -hsync +vsync + Modeline "3648x1728@38" 328.75 3648 3888 4272 4896 1728 1731 1741 1768 -hsync +vsync + Modeline "3648x1792@36" 321.50 3648 3880 4264 4880 1792 1795 1805 1832 -hsync +vsync + Modeline "3648x1856@35" 323.50 3648 3880 4264 4880 1856 1859 1869 1896 -hsync +vsync + Modeline "3648x1920@34" 326.00 3648 3888 4272 4896 1920 1923 1933 1960 -hsync +vsync + Modeline "3648x1984@33" 326.75 3648 3888 4272 4896 1984 1987 1997 2024 -hsync +vsync + Modeline "3712x1280@50" 328.00 3712 3952 4344 4976 1280 1283 1293 1320 -hsync +vsync + Modeline "3712x1344@48" 330.25 3712 3952 4344 4976 1344 1347 1357 1384 -hsync +vsync + Modeline "3712x1408@45" 322.75 3712 3944 4336 4960 1408 1411 1421 1447 -hsync +vsync + Modeline "3712x1472@43" 322.00 3712 3944 4336 4960 1472 1475 1485 1511 -hsync +vsync + Modeline "3712x1536@42" 329.00 3712 3952 4344 4976 1536 1539 1549 1576 -hsync +vsync + Modeline "3712x1600@40" 326.00 3712 3952 4344 4976 1600 1603 1613 1640 -hsync +vsync + Modeline "3712x1664@38" 320.75 3712 3944 4336 4960 1664 1667 1677 1703 -hsync +vsync + Modeline "3712x1728@37" 325.25 3712 3952 4344 4976 1728 1731 1741 1767 -hsync +vsync + Modeline "3712x1792@36" 328.00 3712 3952 4344 4976 1792 1795 1805 1832 -hsync +vsync + Modeline "3712x1856@34" 319.25 3712 3944 4336 4960 1856 1859 1869 1895 -hsync +vsync + Modeline "3712x1920@33" 320.50 3712 3944 4336 4960 1920 1923 1933 1959 -hsync +vsync + Modeline "3712x1984@32" 321.00 3712 3944 4336 4960 1984 1987 1997 2023 -hsync +vsync + Modeline "3776x1280@49" 326.50 3776 4016 4416 5056 1280 1283 1293 1319 -hsync +vsync + Modeline "3776x1344@47" 328.50 3776 4016 4416 5056 1344 1347 1357 1383 -hsync +vsync + Modeline "3776x1408@45" 329.00 3776 4016 4416 5056 1408 1411 1421 1447 -hsync +vsync + Modeline "3776x1472@43" 328.25 3776 4016 4416 5056 1472 1475 1485 1511 -hsync +vsync + Modeline "3776x1536@41" 326.25 3776 4016 4416 5056 1536 1539 1549 1575 -hsync +vsync + Modeline "3776x1600@39" 321.75 3776 4008 4408 5040 1600 1603 1613 1639 -hsync +vsync + Modeline "3776x1664@38" 327.00 3776 4016 4416 5056 1664 1667 1677 1703 -hsync +vsync + Modeline "3776x1728@36" 320.25 3776 4008 4408 5040 1728 1731 1741 1766 -hsync +vsync + Modeline "3776x1792@35" 323.75 3776 4016 4416 5056 1792 1795 1805 1831 -hsync +vsync + Modeline "3776x1856@34" 325.50 3776 4016 4416 5056 1856 1859 1869 1895 -hsync +vsync + Modeline "3776x1920@33" 326.75 3776 4016 4416 5056 1920 1923 1933 1959 -hsync +vsync + Modeline "3776x1984@32" 327.00 3776 4016 4416 5056 1984 1987 1997 2023 -hsync +vsync + Modeline "3840x1280@48" 324.75 3840 4080 4488 5136 1280 1283 1293 1318 -hsync +vsync + Modeline "3840x1344@46" 326.25 3840 4080 4488 5136 1344 1347 1357 1382 -hsync +vsync + Modeline "3840x1408@44" 326.75 3840 4080 4488 5136 1408 1411 1421 1446 -hsync +vsync + Modeline "3840x1472@42" 325.50 3840 4080 4488 5136 1472 1475 1485 1510 -hsync +vsync + Modeline "3840x1536@40" 323.25 3840 4080 4488 5136 1536 1539 1549 1574 -hsync +vsync + Modeline "3840x1600@39" 328.00 3840 4080 4488 5136 1600 1603 1613 1639 -hsync +vsync + Modeline "3840x1664@37" 323.25 3840 4080 4488 5136 1664 1667 1677 1702 -hsync +vsync + Modeline "3840x1728@36" 326.50 3840 4080 4488 5136 1728 1731 1741 1766 -hsync +vsync + Modeline "3840x1792@34" 318.25 3840 4072 4480 5120 1792 1795 1805 1830 -hsync +vsync + Modeline "3840x1856@33" 319.75 3840 4072 4480 5120 1856 1859 1869 1894 -hsync +vsync + Modeline "3840x1920@32" 320.50 3840 4072 4480 5120 1920 1923 1933 1958 -hsync +vsync + Modeline "3840x1984@31" 320.75 3840 4072 4480 5120 1984 1987 1997 2022 -hsync +vsync + Modeline "3904x1344@45" 324.00 3904 4144 4560 5216 1344 1347 1357 1382 -hsync +vsync + Modeline "3904x1408@43" 324.00 3904 4144 4560 5216 1408 1411 1421 1446 -hsync +vsync + Modeline "3904x1472@41" 321.50 3904 4144 4552 5200 1472 1475 1485 1510 -hsync +vsync + Modeline "3904x1536@40" 328.25 3904 4144 4560 5216 1536 1539 1549 1574 -hsync +vsync + Modeline "3904x1600@38" 324.50 3904 4144 4560 5216 1600 1603 1613 1638 -hsync +vsync + Modeline "3904x1664@36" 318.25 3904 4144 4552 5200 1664 1667 1677 1701 -hsync +vsync + Modeline "3904x1728@35" 321.00 3904 4144 4552 5200 1728 1731 1741 1765 -hsync +vsync + Modeline "3904x1792@34" 324.25 3904 4144 4560 5216 1792 1795 1805 1830 -hsync +vsync + Modeline "3904x1856@33" 325.75 3904 4144 4560 5216 1856 1859 1869 1894 -hsync +vsync + Modeline "3904x1920@32" 326.50 3904 4144 4560 5216 1920 1923 1933 1958 -hsync +vsync + Modeline "3904x1984@30" 315.00 3904 4144 4552 5200 1984 1987 1997 2021 -hsync +vsync + Modeline "3968x1344@45" 329.00 3968 4216 4632 5296 1344 1347 1357 1382 -hsync +vsync + Modeline "3968x1408@42" 320.25 3968 4208 4624 5280 1408 1411 1421 1445 -hsync +vsync + Modeline "3968x1472@41" 327.50 3968 4216 4632 5296 1472 1475 1485 1510 -hsync +vsync + Modeline "3968x1536@39" 324.75 3968 4216 4632 5296 1536 1539 1549 1573 -hsync +vsync + Modeline "3968x1600@37" 319.50 3968 4208 4624 5280 1600 1603 1613 1637 -hsync +vsync + Modeline "3968x1664@36" 324.00 3968 4216 4632 5296 1664 1667 1677 1701 -hsync +vsync + Modeline "3968x1728@35" 327.00 3968 4216 4632 5296 1728 1731 1741 1765 -hsync +vsync + Modeline "3968x1792@33" 318.50 3968 4208 4624 5280 1792 1795 1805 1829 -hsync +vsync + Modeline "3968x1856@32" 319.50 3968 4208 4624 5280 1856 1859 1869 1893 -hsync +vsync + Modeline "3968x1920@31" 320.00 3968 4208 4624 5280 1920 1923 1933 1957 -hsync +vsync + Modeline "3968x1984@30" 320.00 3968 4208 4624 5280 1984 1987 1997 2021 -hsync +vsync + Modeline "4032x1344@44" 326.50 4032 4280 4704 5376 1344 1347 1357 1381 -hsync +vsync + Modeline "4032x1408@42" 326.00 4032 4280 4704 5376 1408 1411 1421 1445 -hsync +vsync + Modeline "4032x1472@40" 324.25 4032 4280 4704 5376 1472 1475 1485 1509 -hsync +vsync + Modeline "4032x1536@38" 320.00 4032 4272 4696 5360 1536 1539 1549 1572 -hsync +vsync + Modeline "4032x1600@37" 325.25 4032 4280 4704 5376 1600 1603 1613 1637 -hsync +vsync + Modeline "4032x1664@35" 318.75 4032 4272 4696 5360 1664 1667 1677 1700 -hsync +vsync + Modeline "4032x1728@34" 321.25 4032 4272 4696 5360 1728 1731 1741 1764 -hsync +vsync + Modeline "4032x1792@33" 324.25 4032 4280 4704 5376 1792 1795 1805 1829 -hsync +vsync + Modeline "4032x1856@32" 325.50 4032 4280 4704 5376 1856 1859 1869 1893 -hsync +vsync + Modeline "4032x1920@31" 326.00 4032 4280 4704 5376 1920 1923 1933 1957 -hsync +vsync + Modeline "4032x1984@30" 325.75 4032 4280 4704 5376 1984 1987 1997 2021 -hsync +vsync + Modeline "4096x2048@28" 317.25 4096 4336 4768 5440 2048 2051 2061 2084 -hsync +vsync + Modeline "4096x2176@26" 312.50 4096 4336 4768 5440 2176 2179 2189 2211 -hsync +vsync + Modeline "4096x2304@25" 318.00 4096 4336 4768 5440 2304 2307 2312 2340 -hsync +vsync + Modeline "4096x2432@24" 323.00 4096 4344 4776 5456 2432 2435 2445 2468 -hsync +vsync + Modeline "4096x2560@22" 310.25 4096 4336 4768 5440 2560 2563 2569 2595 -hsync +vsync + Modeline "4096x2688@21" 311.00 4096 4336 4768 5440 2688 2691 2701 2723 -hsync +vsync + Modeline "4096x2816@20" 310.00 4096 4336 4768 5440 2816 2819 2829 2851 -hsync +vsync + Modeline "4096x2944@19" 306.75 4096 4328 4760 5424 2944 2947 2957 2979 -hsync +vsync + Modeline "4096x3072@19" 321.00 4096 4336 4768 5440 3072 3075 3079 3108 -hsync +vsync + Modeline "4096x3200@18" 316.75 4096 4336 4768 5440 3200 3203 3213 3236 -hsync +vsync + Modeline "4096x3328@17" 310.75 4096 4336 4768 5440 3328 3331 3341 3363 -hsync +vsync + Modeline "4096x3456@16" 302.75 4096 4328 4760 5424 3456 3459 3469 3490 -hsync +vsync + Modeline "4096x3584@16" 314.75 4096 4336 4768 5440 3584 3587 3597 3619 -hsync +vsync + Modeline "4096x3712@15" 304.75 4096 4328 4760 5424 3712 3715 3725 3746 -hsync +vsync + Modeline "4096x3840@15" 316.00 4096 4336 4768 5440 3840 3843 3853 3875 -hsync +vsync + Modeline "4096x3968@14" 303.75 4096 4328 4760 5424 3968 3971 3981 4002 -hsync +vsync + Modeline "4224x2048@27" 314.75 4224 4472 4912 5600 2048 2051 2061 2082 -hsync +vsync + Modeline "4224x2176@26" 321.75 4224 4472 4912 5600 2176 2179 2189 2211 -hsync +vsync + Modeline "4224x2304@24" 314.00 4224 4472 4912 5600 2304 2307 2317 2338 -hsync +vsync + Modeline "4224x2432@23" 317.50 4224 4472 4912 5600 2432 2435 2445 2467 -hsync +vsync + Modeline "4224x2560@22" 319.50 4224 4472 4912 5600 2560 2563 2573 2595 -hsync +vsync + Modeline "4224x2688@21" 320.00 4224 4472 4912 5600 2688 2691 2701 2723 -hsync +vsync + Modeline "4224x2816@20" 319.00 4224 4472 4912 5600 2816 2819 2829 2851 -hsync +vsync + Modeline "4224x2944@19" 316.75 4224 4472 4912 5600 2944 2947 2957 2979 -hsync +vsync + Modeline "4224x3072@18" 313.00 4224 4472 4912 5600 3072 3075 3085 3106 -hsync +vsync + Modeline "4224x3200@17" 306.75 4224 4464 4904 5584 3200 3203 3213 3234 -hsync +vsync + Modeline "4224x3328@17" 320.00 4224 4472 4912 5600 3328 3331 3341 3363 -hsync +vsync + Modeline "4224x3456@16" 312.50 4224 4472 4912 5600 3456 3459 3469 3490 -hsync +vsync + Modeline "4224x3584@15" 302.75 4224 4464 4904 5584 3584 3587 3597 3617 -hsync +vsync + Modeline "4224x3712@15" 314.50 4224 4472 4912 5600 3712 3715 3725 3746 -hsync +vsync + Modeline "4224x3840@14" 302.75 4224 4464 4904 5584 3840 3843 3853 3873 -hsync +vsync + Modeline "4224x3968@14" 313.50 4224 4472 4912 5600 3968 3971 3981 4002 -hsync +vsync + Modeline "4352x2048@26" 311.50 4352 4600 5056 5760 2048 2051 2061 2081 -hsync +vsync + Modeline "4352x2176@25" 318.00 4352 4600 5056 5760 2176 2179 2189 2210 -hsync +vsync + Modeline "4352x2304@23" 308.50 4352 4592 5048 5744 2304 2307 2317 2337 -hsync +vsync + Modeline "4352x2432@22" 312.25 4352 4600 5056 5760 2432 2435 2445 2465 -hsync +vsync + Modeline "4352x2560@21" 313.50 4352 4600 5056 5760 2560 2563 2573 2593 -hsync +vsync + Modeline "4352x2688@20" 313.25 4352 4600 5056 5760 2688 2691 2701 2721 -hsync +vsync + Modeline "4352x2816@19" 311.75 4352 4600 5056 5760 2816 2819 2829 2849 -hsync +vsync + Modeline "4352x2944@18" 307.50 4352 4592 5048 5744 2944 2947 2957 2977 -hsync +vsync + Modeline "4352x3072@17" 303.00 4352 4592 5048 5744 3072 3075 3085 3105 -hsync +vsync + Modeline "4352x3200@17" 316.50 4352 4600 5056 5760 3200 3203 3213 3234 -hsync +vsync + Modeline "4352x3328@16" 308.75 4352 4592 5048 5744 3328 3331 3341 3361 -hsync +vsync + Modeline "4352x3456@15" 300.50 4352 4592 5048 5744 3456 3459 3469 3488 -hsync +vsync + Modeline "4352x3584@15" 312.25 4352 4600 5056 5760 3584 3587 3597 3617 -hsync +vsync + Modeline "4352x3712@14" 301.00 4352 4592 5048 5744 3712 3715 3725 3744 -hsync +vsync + Modeline "4352x3840@14" 312.25 4352 4600 5056 5760 3840 3843 3853 3873 -hsync +vsync + Modeline "4352x3968@13" 297.75 4352 4584 5040 5728 3968 3971 3981 4000 -hsync +vsync + Modeline "4480x2048@26" 320.25 4480 4728 5200 5920 2048 2051 2061 2081 -hsync +vsync + Modeline "4480x2176@24" 313.50 4480 4728 5200 5920 2176 2179 2189 2209 -hsync +vsync + Modeline "4480x2304@23" 318.00 4480 4728 5200 5920 2304 2307 2317 2337 -hsync +vsync + Modeline "4480x2432@22" 321.00 4480 4728 5200 5920 2432 2435 2445 2465 -hsync +vsync + Modeline "4480x2560@20" 306.00 4480 4728 5192 5904 2560 2563 2573 2592 -hsync +vsync + Modeline "4480x2688@19" 305.00 4480 4728 5192 5904 2688 2691 2701 2720 -hsync +vsync + Modeline "4480x2816@19" 320.25 4480 4728 5200 5920 2816 2819 2829 2849 -hsync +vsync + Modeline "4480x2944@18" 317.00 4480 4728 5200 5920 2944 2947 2957 2977 -hsync +vsync + Modeline "4480x3072@17" 311.50 4480 4728 5192 5904 3072 3075 3085 3105 -hsync +vsync + Modeline "4480x3200@16" 305.25 4480 4728 5192 5904 3200 3203 3213 3232 -hsync +vsync + Modeline "4480x3328@16" 318.25 4480 4728 5200 5920 3328 3331 3341 3361 -hsync +vsync + Modeline "4480x3456@15" 308.75 4480 4728 5192 5904 3456 3459 3469 3488 -hsync +vsync + Modeline "4480x3584@14" 297.75 4480 4720 5184 5888 3584 3587 3594 3615 -hsync +vsync + Modeline "4480x3712@14" 309.25 4480 4728 5192 5904 3712 3715 3725 3744 -hsync +vsync + Modeline "4480x3840@13" 296.25 4480 4720 5184 5888 3840 3843 3853 3871 -hsync +vsync + Modeline "4480x3968@13" 306.75 4480 4728 5192 5904 3968 3971 3981 4000 -hsync +vsync + Modeline "4608x2048@25" 316.00 4608 4864 5344 6080 2048 2051 2061 2080 -hsync +vsync + Modeline "4608x2176@23" 307.75 4608 4856 5336 6064 2176 2179 2189 2207 -hsync +vsync + Modeline "4608x2304@22" 311.50 4608 4856 5336 6064 2304 2307 2317 2336 -hsync +vsync + Modeline "4608x2432@21" 313.50 4608 4856 5336 6064 2432 2435 2445 2464 -hsync +vsync + Modeline "4608x2560@20" 315.00 4608 4864 5344 6080 2560 2563 2573 2592 -hsync +vsync + Modeline "4608x2688@19" 313.25 4608 4856 5336 6064 2688 2691 2701 2720 -hsync +vsync + Modeline "4608x2816@18" 310.75 4608 4856 5336 6064 2816 2819 2829 2848 -hsync +vsync + Modeline "4608x2944@17" 306.50 4608 4856 5336 6064 2944 2947 2957 2975 -hsync +vsync + Modeline "4608x3072@16" 300.00 4608 4848 5328 6048 3072 3075 3085 3103 -hsync +vsync + Modeline "4608x3200@16" 313.50 4608 4856 5336 6064 3200 3203 3213 3232 -hsync +vsync + Modeline "4608x3328@15" 305.50 4608 4856 5336 6064 3328 3331 3341 3359 -hsync +vsync + Modeline "4608x3456@15" 318.00 4608 4864 5344 6080 3456 3459 3463 3488 -hsync +vsync + Modeline "4608x3584@14" 306.75 4608 4856 5336 6064 3584 3587 3597 3615 -hsync +vsync + Modeline "4608x3712@14" 318.50 4608 4864 5344 6080 3712 3715 3725 3744 -hsync +vsync + Modeline "4608x3840@13" 305.00 4608 4856 5336 6064 3840 3843 3853 3871 -hsync +vsync + Modeline "4608x3968@13" 316.00 4608 4864 5344 6080 3968 3971 3981 4000 -hsync +vsync + Modeline "4736x2048@24" 310.25 4736 4984 5480 6224 2048 2051 2061 2079 -hsync +vsync + Modeline "4736x2176@23" 315.75 4736 4984 5480 6224 2176 2179 2189 2207 -hsync +vsync + Modeline "4736x2304@21" 304.25 4736 4984 5472 6208 2304 2307 2317 2334 -hsync +vsync + Modeline "4736x2432@20" 306.25 4736 4984 5480 6224 2432 2435 2445 2463 -hsync +vsync + Modeline "4736x2560@19" 305.50 4736 4984 5472 6208 2560 2563 2573 2591 -hsync +vsync + Modeline "4736x2688@18" 303.50 4736 4984 5472 6208 2688 2691 2701 2718 -hsync +vsync + Modeline "4736x2816@17" 300.25 4736 4984 5472 6208 2816 2819 2829 2846 -hsync +vsync + Modeline "4736x2944@17" 314.75 4736 4984 5480 6224 2944 2947 2957 2975 -hsync +vsync + Modeline "4736x3072@16" 308.75 4736 4984 5480 6224 3072 3075 3085 3103 -hsync +vsync + Modeline "4736x3200@15" 300.50 4736 4984 5472 6208 3200 3203 3213 3230 -hsync +vsync + Modeline "4736x3328@15" 313.50 4736 4984 5480 6224 3328 3331 3341 3359 -hsync +vsync + Modeline "4736x3456@14" 302.75 4736 4984 5472 6208 3456 3459 3469 3486 -hsync +vsync + Modeline "4736x3584@14" 314.75 4736 4984 5480 6224 3584 3587 3597 3615 -hsync +vsync + Modeline "4736x3712@13" 301.75 4736 4984 5472 6208 3712 3715 3725 3742 -hsync +vsync + Modeline "4736x3840@13" 313.00 4736 4984 5480 6224 3840 3843 3853 3871 -hsync +vsync + Modeline "4736x3968@12" 297.75 4736 4984 5472 6208 3968 3971 3981 3998 -hsync +vsync + Modeline "4864x2048@24" 318.25 4864 5120 5624 6384 2048 2051 2061 2079 -hsync +vsync + Modeline "4864x2176@22" 309.75 4864 5120 5624 6384 2176 2179 2189 2206 -hsync +vsync + Modeline "4864x2304@21" 312.75 4864 5120 5624 6384 2304 2307 2317 2334 -hsync +vsync + Modeline "4864x2432@20" 314.25 4864 5120 5624 6384 2432 2435 2445 2463 -hsync +vsync + Modeline "4864x2560@19" 314.00 4864 5120 5624 6384 2560 2563 2573 2591 -hsync +vsync + Modeline "4864x2688@18" 312.25 4864 5120 5624 6384 2688 2691 2701 2718 -hsync +vsync + Modeline "4864x2816@17" 308.00 4864 5112 5616 6368 2816 2819 2829 2846 -hsync +vsync + Modeline "4864x2944@16" 302.75 4864 5112 5616 6368 2944 2947 2957 2974 -hsync +vsync + Modeline "4864x3072@16" 316.75 4864 5120 5624 6384 3072 3075 3085 3103 -hsync +vsync + Modeline "4864x3200@15" 308.25 4864 5112 5616 6368 3200 3203 3213 3230 -hsync +vsync + Modeline "4864x3328@14" 298.50 4864 5104 5608 6352 3328 3331 3341 3357 -hsync +vsync + Modeline "4864x3456@14" 311.50 4864 5120 5624 6384 3456 3459 3469 3486 -hsync +vsync + Modeline "4864x3584@13" 298.25 4864 5104 5608 6352 3584 3587 3597 3613 -hsync +vsync + Modeline "4864x3712@13" 310.50 4864 5120 5624 6384 3712 3715 3725 3742 -hsync +vsync + Modeline "4864x3840@12" 294.75 4864 5104 5608 6352 3840 3843 3853 3869 -hsync +vsync + Modeline "4864x3968@12" 305.25 4864 5112 5616 6368 3968 3971 3981 3998 -hsync +vsync + Modeline "4992x2048@23" 312.50 4992 5248 5768 6544 2048 2051 2061 2078 -hsync +vsync + Modeline "4992x2176@22" 317.50 4992 5248 5768 6544 2176 2179 2189 2206 -hsync +vsync + Modeline "4992x2304@20" 304.50 4992 5240 5760 6528 2304 2307 2317 2333 -hsync +vsync + Modeline "4992x2432@19" 305.00 4992 5240 5760 6528 2432 2435 2445 2461 -hsync +vsync + Modeline "4992x2560@18" 304.00 4992 5240 5760 6528 2560 2563 2573 2589 -hsync +vsync + Modeline "4992x2688@17" 300.50 4992 5240 5752 6512 2688 2691 2701 2717 -hsync +vsync + Modeline "4992x2816@17" 316.50 4992 5248 5768 6544 2816 2819 2829 2846 -hsync +vsync + Modeline "4992x2944@16" 310.50 4992 5240 5760 6528 2944 2947 2957 2974 -hsync +vsync + Modeline "4992x3072@15" 303.50 4992 5240 5760 6528 3072 3075 3085 3101 -hsync +vsync + Modeline "4992x3200@15" 317.00 4992 5248 5768 6544 3200 3203 3213 3230 -hsync +vsync + Modeline "4992x3328@14" 306.75 4992 5240 5760 6528 3328 3331 3341 3357 -hsync +vsync + Modeline "4992x3456@13" 294.75 4992 5240 5752 6512 3456 3459 3469 3484 -hsync +vsync + Modeline "4992x3584@13" 306.50 4992 5240 5760 6528 3584 3587 3597 3613 -hsync +vsync + Modeline "4992x3712@12" 291.50 4992 5232 5744 6496 3712 3715 3725 3740 -hsync +vsync + Modeline "4992x3840@12" 303.00 4992 5240 5760 6528 3840 3843 3853 3869 -hsync +vsync + Modeline "4992x3968@12" 313.75 4992 5248 5768 6544 3968 3971 3981 3998 -hsync +vsync + Modeline "5120x2048@22" 304.50 5120 5368 5896 6672 2048 2051 2061 2077 -hsync +vsync + Modeline "5120x2176@21" 309.50 5120 5376 5904 6688 2176 2179 2189 2205 -hsync +vsync + Modeline "5120x2304@20" 312.00 5120 5376 5904 6688 2304 2307 2317 2333 -hsync +vsync + Modeline "5120x2432@19" 312.50 5120 5376 5904 6688 2432 2435 2445 2461 -hsync +vsync + Modeline "5120x2560@18" 311.50 5120 5376 5904 6688 2560 2563 2573 2589 -hsync +vsync + Modeline "5120x2688@17" 308.75 5120 5376 5904 6688 2688 2691 2701 2717 -hsync +vsync + Modeline "5120x2816@16" 303.50 5120 5368 5896 6672 2816 2819 2829 2845 -hsync +vsync + Modeline "5120x2944@15" 297.25 5120 5368 5896 6672 2944 2947 2957 2972 -hsync +vsync + Modeline "5120x3072@15" 311.00 5120 5376 5904 6688 3072 3075 3085 3101 -hsync +vsync + Modeline "5120x3200@14" 301.50 5120 5368 5896 6672 3200 3203 3209 3228 -hsync +vsync + Modeline "5120x3328@14" 314.25 5120 5376 5904 6688 3328 3331 3341 3357 -hsync +vsync + Modeline "5120x3456@13" 302.00 5120 5368 5896 6672 3456 3459 3469 3484 -hsync +vsync + Modeline "5120x3584@13" 314.00 5120 5376 5904 6688 3584 3587 3597 3613 -hsync +vsync + Modeline "5120x3712@12" 299.25 5120 5368 5896 6672 3712 3715 3725 3740 -hsync +vsync + Modeline "5120x3840@12" 310.25 5120 5376 5904 6688 3840 3843 3847 3869 -hsync +vsync + Modeline "5120x3968@11" 292.50 5120 5360 5888 6656 3968 3971 3981 3996 -hsync +vsync + Modeline "5248x2048@22" 312.75 5248 5504 6048 6848 2048 2051 2061 2077 -hsync +vsync + Modeline "5248x2176@21" 317.00 5248 5504 6048 6848 2176 2179 2189 2205 -hsync +vsync + Modeline "5248x2304@19" 302.50 5248 5496 6040 6832 2304 2307 2317 2332 -hsync +vsync + Modeline "5248x2432@18" 302.25 5248 5496 6040 6832 2432 2435 2445 2460 -hsync +vsync + Modeline "5248x2560@17" 299.75 5248 5488 6032 6816 2560 2563 2573 2588 -hsync +vsync + Modeline "5248x2688@17" 316.00 5248 5504 6048 6848 2688 2691 2701 2717 -hsync +vsync + Modeline "5248x2816@16" 311.50 5248 5504 6048 6848 2816 2819 2829 2845 -hsync +vsync + Modeline "5248x2944@15" 304.50 5248 5496 6040 6832 2944 2947 2957 2972 -hsync +vsync + Modeline "5248x3072@14" 295.50 5248 5488 6032 6816 3072 3075 3085 3099 -hsync +vsync + Modeline "5248x3200@14" 308.50 5248 5496 6040 6832 3200 3203 3213 3228 -hsync +vsync + Modeline "5248x3328@13" 297.25 5248 5488 6032 6816 3328 3331 3341 3355 -hsync +vsync + Modeline "5248x3456@13" 310.00 5248 5504 6048 6848 3456 3459 3469 3484 -hsync +vsync + Modeline "5248x3584@12" 295.25 5248 5488 6032 6816 3584 3587 3597 3611 -hsync +vsync + Modeline "5248x3712@12" 306.50 5248 5496 6040 6832 3712 3715 3725 3740 -hsync +vsync + Modeline "5248x3840@11" 289.00 5248 5488 6024 6800 3840 3843 3853 3867 -hsync +vsync + Modeline "5248x3968@11" 299.50 5248 5488 6032 6816 3968 3971 3981 3996 -hsync +vsync + Modeline "5376x2048@21" 304.50 5376 5632 6184 6992 2048 2051 2061 2075 -hsync +vsync + Modeline "5376x2176@20" 308.00 5376 5632 6184 6992 2176 2179 2189 2204 -hsync +vsync + Modeline "5376x2304@19" 309.50 5376 5632 6184 6992 2304 2307 2317 2332 -hsync +vsync + Modeline "5376x2432@18" 309.50 5376 5632 6184 6992 2432 2435 2445 2460 -hsync +vsync + Modeline "5376x2560@17" 307.50 5376 5632 6184 6992 2560 2563 2573 2588 -hsync +vsync + Modeline "5376x2688@16" 303.00 5376 5624 6176 6976 2688 2691 2701 2715 -hsync +vsync + Modeline "5376x2816@15" 297.25 5376 5624 6176 6976 2816 2819 2829 2843 -hsync +vsync + Modeline "5376x2944@15" 311.50 5376 5632 6184 6992 2944 2947 2957 2972 -hsync +vsync + Modeline "5376x3072@14" 302.50 5376 5624 6176 6976 3072 3075 3085 3099 -hsync +vsync + Modeline "5376x3200@13" 291.75 5376 5616 6168 6960 3200 3203 3213 3227 -hsync +vsync + Modeline "5376x3328@13" 304.75 5376 5632 6184 6992 3328 3331 3341 3355 -hsync +vsync + Modeline "5376x3456@12" 290.75 5376 5616 6168 6960 3456 3459 3469 3482 -hsync +vsync + Modeline "5376x3584@12" 302.25 5376 5624 6176 6976 3584 3587 3597 3611 -hsync +vsync + Modeline "5376x3712@12" 314.25 5376 5640 6192 7008 3712 3715 3725 3740 -hsync +vsync + Modeline "5376x3840@11" 296.50 5376 5624 6176 6976 3840 3843 3853 3867 -hsync +vsync + Modeline "5376x3968@11" 307.25 5376 5632 6184 6992 3968 3971 3981 3996 -hsync +vsync + Modeline "5504x2048@21" 311.50 5504 5760 6328 7152 2048 2051 2061 2075 -hsync +vsync + Modeline "5504x2176@20" 315.00 5504 5760 6328 7152 2176 2179 2189 2204 -hsync +vsync + Modeline "5504x2304@18" 298.50 5504 5744 6312 7120 2304 2307 2317 2331 -hsync +vsync + Modeline "5504x2432@17" 297.50 5504 5744 6312 7120 2432 2435 2445 2458 -hsync +vsync + Modeline "5504x2560@17" 314.50 5504 5760 6328 7152 2560 2563 2573 2588 -hsync +vsync + Modeline "5504x2688@16" 310.50 5504 5760 6328 7152 2688 2691 2701 2715 -hsync +vsync + Modeline "5504x2816@15" 304.25 5504 5752 6320 7136 2816 2819 2829 2843 -hsync +vsync + Modeline "5504x2944@14" 296.00 5504 5744 6312 7120 2944 2947 2957 2970 -hsync +vsync + Modeline "5504x3072@14" 310.25 5504 5760 6328 7152 3072 3075 3085 3099 -hsync +vsync + Modeline "5504x3200@13" 298.50 5504 5744 6312 7120 3200 3203 3213 3227 -hsync +vsync + Modeline "5504x3328@13" 311.75 5504 5760 6328 7152 3328 3331 3341 3355 -hsync +vsync + Modeline "5504x3456@12" 297.50 5504 5744 6312 7120 3456 3459 3469 3482 -hsync +vsync + Modeline "5504x3584@12" 309.75 5504 5760 6328 7152 3584 3587 3597 3611 -hsync +vsync + Modeline "5504x3712@11" 292.50 5504 5744 6312 7120 3712 3715 3725 3738 -hsync +vsync + Modeline "5504x3840@11" 303.25 5504 5752 6320 7136 3840 3843 3853 3867 -hsync +vsync + Modeline "5504x3968@10" 283.00 5504 5736 6296 7088 3968 3971 3981 3993 -hsync +vsync + Modeline "5632x2048@20" 301.75 5632 5880 6456 7280 2048 2051 2061 2074 -hsync +vsync + Modeline "5632x2176@19" 305.25 5632 5888 6464 7296 2176 2179 2189 2203 -hsync +vsync + Modeline "5632x2304@18" 306.00 5632 5888 6464 7296 2304 2307 2317 2331 -hsync +vsync + Modeline "5632x2432@17" 304.75 5632 5888 6464 7296 2432 2435 2445 2458 -hsync +vsync + Modeline "5632x2560@16" 301.00 5632 5880 6456 7280 2560 2563 2573 2586 -hsync +vsync + Modeline "5632x2688@15" 295.50 5632 5872 6448 7264 2688 2691 2701 2714 -hsync +vsync + Modeline "5632x2816@15" 311.00 5632 5888 6464 7296 2816 2819 2829 2843 -hsync +vsync + Modeline "5632x2944@14" 302.50 5632 5880 6456 7280 2944 2947 2957 2970 -hsync +vsync + Modeline "5632x3072@13" 292.25 5632 5872 6448 7264 3072 3075 3085 3098 -hsync +vsync + Modeline "5632x3200@13" 305.75 5632 5888 6464 7296 3200 3203 3213 3227 -hsync +vsync + Modeline "5632x3328@12" 292.25 5632 5872 6448 7264 3328 3331 3341 3354 -hsync +vsync + Modeline "5632x3456@12" 304.75 5632 5888 6464 7296 3456 3459 3469 3482 -hsync +vsync + Modeline "5632x3584@11" 287.50 5632 5864 6440 7248 3584 3587 3597 3609 -hsync +vsync + Modeline "5632x3712@11" 299.25 5632 5880 6456 7280 3712 3715 3725 3738 -hsync +vsync + Modeline "5632x3840@11" 310.25 5632 5888 6464 7296 3840 3843 3853 3867 -hsync +vsync + Modeline "5632x3968@10" 290.00 5632 5872 6448 7264 3968 3971 3981 3993 -hsync +vsync + Modeline "5760x2048@20" 309.00 5760 6016 6608 7456 2048 2051 2061 2074 -hsync +vsync + Modeline "5760x2176@19" 311.75 5760 6016 6608 7456 2176 2179 2189 2203 -hsync +vsync + Modeline "5760x2304@18" 312.50 5760 6016 6608 7456 2304 2307 2317 2331 -hsync +vsync + Modeline "5760x2432@17" 311.50 5760 6016 6608 7456 2432 2435 2445 2458 -hsync +vsync + Modeline "5760x2560@16" 308.25 5760 6016 6608 7456 2560 2563 2573 2586 -hsync +vsync + Modeline "5760x2688@15" 302.75 5760 6008 6600 7440 2688 2691 2701 2714 -hsync +vsync + Modeline "5760x2816@14" 295.25 5760 6000 6592 7424 2816 2819 2829 2841 -hsync +vsync + Modeline "5760x2944@14" 310.00 5760 6016 6608 7456 2944 2947 2957 2970 -hsync +vsync + Modeline "5760x3072@13" 298.75 5760 6000 6592 7424 3072 3075 3085 3098 -hsync +vsync + Modeline "5760x3200@13" 312.50 5760 6016 6608 7456 3200 3203 3213 3227 -hsync +vsync + Modeline "5760x3328@12" 298.50 5760 6000 6592 7424 3328 3331 3341 3354 -hsync +vsync + Modeline "5760x3456@12" 311.50 5760 6016 6608 7456 3456 3459 3466 3482 -hsync +vsync + Modeline "5760x3584@11" 294.50 5760 6000 6592 7424 3584 3587 3597 3609 -hsync +vsync + Modeline "5760x3712@11" 305.75 5760 6008 6600 7440 3712 3715 3725 3738 -hsync +vsync + Modeline "5760x3840@10" 285.50 5760 5992 6576 7392 3840 3843 3853 3865 -hsync +vsync + Modeline "5760x3968@10" 296.25 5760 6000 6592 7424 3968 3971 3981 3993 -hsync +vsync + Modeline "5888x2048@19" 298.50 5888 6136 6736 7584 2048 2051 2061 2073 -hsync +vsync + Modeline "5888x2176@18" 300.25 5888 6136 6736 7584 2176 2179 2189 2201 -hsync +vsync + Modeline "5888x2304@17" 300.00 5888 6136 6736 7584 2304 2307 2317 2329 -hsync +vsync + Modeline "5888x2432@16" 298.00 5888 6136 6736 7584 2432 2435 2445 2457 -hsync +vsync + Modeline "5888x2560@15" 293.25 5888 6128 6728 7568 2560 2563 2573 2585 -hsync +vsync + Modeline "5888x2688@15" 309.25 5888 6144 6744 7600 2688 2691 2701 2714 -hsync +vsync + Modeline "5888x2816@14" 301.50 5888 6136 6736 7584 2816 2819 2829 2841 -hsync +vsync + Modeline "5888x2944@13" 292.00 5888 6128 6728 7568 2944 2947 2957 2969 -hsync +vsync + Modeline "5888x3072@13" 305.75 5888 6144 6744 7600 3072 3075 3085 3098 -hsync +vsync + Modeline "5888x3200@12" 292.75 5888 6128 6728 7568 3200 3203 3213 3225 -hsync +vsync + Modeline "5888x3328@12" 305.75 5888 6144 6744 7600 3328 3331 3341 3354 -hsync +vsync + Modeline "5888x3456@11" 289.00 5888 6120 6720 7552 3456 3459 3469 3481 -hsync +vsync + Modeline "5888x3584@11" 301.00 5888 6136 6736 7584 3584 3587 3597 3609 -hsync +vsync + Modeline "5888x3712@10" 281.50 5888 6112 6712 7536 3712 3715 3725 3736 -hsync +vsync + Modeline "5888x3840@10" 292.25 5888 6128 6728 7568 3840 3843 3853 3865 -hsync +vsync + Modeline "5888x3968@10" 302.75 5888 6136 6736 7584 3968 3971 3981 3993 -hsync +vsync + Modeline "6016x2048@19" 304.75 6016 6264 6880 7744 2048 2051 2061 2073 -hsync +vsync + Modeline "6016x2176@18" 306.75 6016 6264 6880 7744 2176 2179 2189 2201 -hsync +vsync + Modeline "6016x2304@17" 306.50 6016 6264 6880 7744 2304 2307 2317 2329 -hsync +vsync + Modeline "6016x2432@16" 304.25 6016 6264 6880 7744 2432 2435 2445 2457 -hsync +vsync + Modeline "6016x2560@15" 299.50 6016 6256 6872 7728 2560 2563 2573 2585 -hsync +vsync + Modeline "6016x2688@14" 292.75 6016 6256 6864 7712 2688 2691 2701 2712 -hsync +vsync + Modeline "6016x2816@14" 307.75 6016 6264 6880 7744 2816 2819 2829 2841 -hsync +vsync + Modeline "6016x2944@13" 298.00 6016 6256 6872 7728 2944 2947 2957 2969 -hsync +vsync + Modeline "6016x3072@12" 285.75 6016 6248 6856 7696 3072 3075 3085 3096 -hsync +vsync + Modeline "6016x3200@12" 299.00 6016 6256 6872 7728 3200 3203 3213 3225 -hsync +vsync + Modeline "6016x3328@11" 283.50 6016 6248 6856 7696 3328 3331 3341 3352 -hsync +vsync + Modeline "6016x3456@11" 295.75 6016 6256 6872 7728 3456 3459 3469 3481 -hsync +vsync + Modeline "6016x3584@11" 307.25 6016 6264 6880 7744 3584 3587 3597 3609 -hsync +vsync + Modeline "6016x3712@10" 287.25 6016 6248 6856 7696 3712 3715 3725 3736 -hsync +vsync + Modeline "6016x3840@10" 298.50 6016 6256 6872 7728 3840 3843 3853 3865 -hsync +vsync + Modeline "6016x3968@10" 309.75 6016 6272 6888 7760 3968 3971 3981 3993 -hsync +vsync + Modeline "6144x2048@19" 311.25 6144 6400 7024 7904 2048 2051 2061 2073 -hsync +vsync + Modeline "6144x2176@17" 294.25 6144 6384 7008 7872 2176 2179 2189 2200 -hsync +vsync + Modeline "6144x2304@16" 292.50 6144 6376 7000 7856 2304 2307 2317 2328 -hsync +vsync + Modeline "6144x2432@16" 310.50 6144 6400 7024 7904 2432 2435 2445 2457 -hsync +vsync + Modeline "6144x2560@15" 305.75 6144 6392 7016 7888 2560 2563 2573 2585 -hsync +vsync + Modeline "6144x2688@14" 298.75 6144 6384 7008 7872 2688 2691 2701 2712 -hsync +vsync + Modeline "6144x2816@13" 289.75 6144 6376 7000 7856 2816 2819 2829 2840 -hsync +vsync + Modeline "6144x2944@13" 304.25 6144 6392 7016 7888 2944 2947 2957 2969 -hsync +vsync + Modeline "6144x3072@12" 291.75 6144 6376 7000 7856 3072 3075 3085 3096 -hsync +vsync + Modeline "6144x3200@12" 305.00 6144 6392 7016 7888 3200 3203 3213 3225 -hsync +vsync + Modeline "6144x3328@11" 289.50 6144 6376 7000 7856 3328 3331 3341 3352 -hsync +vsync + Modeline "6144x3456@11" 301.75 6144 6392 7016 7888 3456 3459 3464 3481 -hsync +vsync + Modeline "6144x3584@10" 282.75 6144 6368 6992 7840 3584 3587 3597 3607 -hsync +vsync + Modeline "6144x3712@10" 294.00 6144 6384 7008 7872 3712 3715 3725 3736 -hsync +vsync + Modeline "6144x3840@10" 304.75 6144 6392 7016 7888 3840 3843 3849 3865 -hsync +vsync + Modeline "6144x3968@9" 281.50 6144 6368 6992 7840 3968 3971 3981 3991 -hsync +vsync + Modeline "6272x2176@17" 300.25 6272 6512 7152 8032 2176 2179 2189 2200 -hsync +vsync + Modeline "6272x2304@16" 299.00 6272 6512 7152 8032 2304 2307 2317 2328 -hsync +vsync + Modeline "6272x2432@15" 295.00 6272 6504 7144 8016 2432 2435 2445 2456 -hsync +vsync + Modeline "6272x2560@14" 289.25 6272 6504 7136 8000 2560 2563 2573 2583 -hsync +vsync + Modeline "6272x2688@14" 305.50 6272 6520 7160 8048 2688 2691 2701 2712 -hsync +vsync + Modeline "6272x2816@13" 295.75 6272 6504 7144 8016 2816 2819 2829 2840 -hsync +vsync + Modeline "6272x2944@12" 284.00 6272 6496 7128 7984 2944 2947 2957 2967 -hsync +vsync + Modeline "6272x3072@12" 298.25 6272 6512 7152 8032 3072 3075 3085 3096 -hsync +vsync + Modeline "6272x3200@11" 283.00 6272 6496 7128 7984 3200 3203 3213 3223 -hsync +vsync + Modeline "6272x3328@11" 295.50 6272 6504 7144 8016 3328 3331 3341 3352 -hsync +vsync + Modeline "6272x3456@11" 308.00 6272 6520 7160 8048 3456 3459 3469 3481 -hsync +vsync + Modeline "6272x3584@10" 288.50 6272 6504 7136 8000 3584 3587 3597 3607 -hsync +vsync + Modeline "6272x3712@10" 300.00 6272 6512 7152 8032 3712 3715 3725 3736 -hsync +vsync + Modeline "6272x3840@9" 276.75 6272 6488 7120 7968 3840 3843 3853 3863 -hsync +vsync + Modeline "6272x3968@9" 287.25 6272 6504 7136 8000 3968 3971 3981 3991 -hsync +vsync + Modeline "6400x2176@17" 306.25 6400 6648 7296 8192 2176 2179 2189 2200 -hsync +vsync + Modeline "6400x2304@16" 305.00 6400 6648 7296 8192 2304 2307 2317 2328 -hsync +vsync + Modeline "6400x2432@15" 301.00 6400 6640 7288 8176 2432 2435 2445 2456 -hsync +vsync + Modeline "6400x2560@14" 295.00 6400 6632 7280 8160 2560 2563 2573 2583 -hsync +vsync + Modeline "6400x2688@13" 286.75 6400 6624 7272 8144 2688 2691 2701 2711 -hsync +vsync + Modeline "6400x2816@13" 301.75 6400 6640 7288 8176 2816 2819 2829 2840 -hsync +vsync + Modeline "6400x2944@12" 290.25 6400 6632 7280 8160 2944 2947 2957 2967 -hsync +vsync + Modeline "6400x3072@12" 304.25 6400 6648 7296 8192 3072 3075 3085 3096 -hsync +vsync + Modeline "6400x3200@11" 288.50 6400 6624 7272 8144 3200 3203 3213 3223 -hsync +vsync + Modeline "6400x3328@11" 301.25 6400 6640 7288 8176 3328 3331 3341 3352 -hsync +vsync + Modeline "6400x3456@10" 282.50 6400 6616 7264 8128 3456 3459 3469 3479 -hsync +vsync + Modeline "6400x3584@10" 294.25 6400 6632 7280 8160 3584 3587 3597 3607 -hsync +vsync + Modeline "6400x3712@10" 306.00 6400 6648 7296 8192 3712 3715 3725 3736 -hsync +vsync + Modeline "6400x3840@9" 282.50 6400 6616 7264 8128 3840 3843 3853 3863 -hsync +vsync + Modeline "6400x3968@9" 293.00 6400 6632 7280 8160 3968 3971 3981 3991 -hsync +vsync + Modeline "6528x2176@16" 292.00 6528 6760 7416 8304 2176 2179 2189 2199 -hsync +vsync + Modeline "6528x2304@15" 289.75 6528 6760 7416 8304 2304 2307 2317 2327 -hsync +vsync + Modeline "6528x2432@15" 307.50 6528 6776 7440 8352 2432 2435 2445 2456 -hsync +vsync + Modeline "6528x2560@14" 301.25 6528 6768 7432 8336 2560 2563 2573 2583 -hsync +vsync + Modeline "6528x2688@13" 292.50 6528 6760 7416 8304 2688 2691 2701 2711 -hsync +vsync + Modeline "6528x2816@13" 308.25 6528 6776 7440 8352 2816 2819 2829 2840 -hsync +vsync + Modeline "6528x2944@12" 296.00 6528 6760 7424 8320 2944 2947 2957 2967 -hsync +vsync + Modeline "6528x3072@11" 281.50 6528 6744 7400 8272 3072 3075 3085 3094 -hsync +vsync + Modeline "6528x3200@11" 294.25 6528 6760 7416 8304 3200 3203 3213 3223 -hsync +vsync + Modeline "6528x3328@11" 307.75 6528 6776 7440 8352 3328 3331 3341 3352 -hsync +vsync + Modeline "6528x3456@10" 288.25 6528 6752 7408 8288 3456 3459 3469 3479 -hsync +vsync + Modeline "6528x3584@10" 300.00 6528 6760 7424 8320 3584 3587 3597 3607 -hsync +vsync + Modeline "6528x3712@9" 277.25 6528 6736 7392 8256 3712 3715 3725 3734 -hsync +vsync + Modeline "6528x3840@9" 288.00 6528 6752 7408 8288 3840 3843 3853 3863 -hsync +vsync + Modeline "6528x3968@9" 298.75 6528 6760 7424 8320 3968 3971 3981 3991 -hsync +vsync + Modeline "6656x2304@15" 295.25 6656 6888 7560 8464 2304 2307 2317 2327 -hsync +vsync + Modeline "6656x2432@14" 290.00 6656 6880 7552 8448 2432 2435 2445 2454 -hsync +vsync + Modeline "6656x2560@14" 307.00 6656 6904 7576 8496 2560 2563 2573 2583 -hsync +vsync + Modeline "6656x2688@13" 298.00 6656 6888 7560 8464 2688 2691 2701 2711 -hsync +vsync + Modeline "6656x2816@12" 287.00 6656 6872 7544 8432 2816 2819 2829 2838 -hsync +vsync + Modeline "6656x2944@12" 301.75 6656 6896 7568 8480 2944 2947 2957 2967 -hsync +vsync + Modeline "6656x3072@11" 286.75 6656 6872 7544 8432 3072 3075 3085 3094 -hsync +vsync + Modeline "6656x3200@11" 300.50 6656 6896 7568 8480 3200 3203 3213 3223 -hsync +vsync + Modeline "6656x3328@10" 281.75 6656 6864 7536 8416 3328 3331 3341 3350 -hsync +vsync + Modeline "6656x3456@10" 294.25 6656 6888 7560 8464 3456 3459 3469 3479 -hsync +vsync + Modeline "6656x3584@10" 306.25 6656 6904 7576 8496 3584 3587 3597 3607 -hsync +vsync + Modeline "6656x3712@9" 283.25 6656 6872 7544 8432 3712 3715 3725 3734 -hsync +vsync + Modeline "6656x3840@9" 294.00 6656 6888 7560 8464 3840 3843 3853 3863 -hsync +vsync + Modeline "6656x3968@9" 304.50 6656 6896 7568 8480 3968 3971 3981 3991 -hsync +vsync + Modeline "6784x2304@15" 300.75 6784 7016 7704 8624 2304 2307 2317 2327 -hsync +vsync + Modeline "6784x2432@14" 295.50 6784 7016 7696 8608 2432 2435 2445 2454 -hsync +vsync + Modeline "6784x2560@13" 288.25 6784 7008 7688 8592 2560 2563 2573 2582 -hsync +vsync + Modeline "6784x2688@13" 304.25 6784 7024 7712 8640 2688 2691 2701 2711 -hsync +vsync + Modeline "6784x2816@12" 293.00 6784 7016 7696 8608 2816 2819 2829 2838 -hsync +vsync + Modeline "6784x2944@12" 307.50 6784 7024 7712 8640 2944 2947 2957 2967 -hsync +vsync + Modeline "6784x3072@11" 292.25 6784 7008 7688 8592 3072 3075 3085 3094 -hsync +vsync + Modeline "6784x3200@11" 306.25 6784 7024 7712 8640 3200 3203 3213 3223 -hsync +vsync + Modeline "6784x3328@10" 287.75 6784 7008 7688 8592 3328 3331 3341 3350 -hsync +vsync + Modeline "6784x3456@10" 299.75 6784 7016 7704 8624 3456 3459 3469 3479 -hsync +vsync + Modeline "6784x3584@9" 277.50 6784 6992 7672 8560 3584 3587 3597 3605 -hsync +vsync + Modeline "6784x3712@9" 288.50 6784 7008 7688 8592 3712 3715 3725 3734 -hsync +vsync + Modeline "6784x3840@9" 299.75 6784 7016 7704 8624 3840 3843 3853 3863 -hsync +vsync + Modeline "6784x3968@8" 272.00 6784 6976 7656 8528 3968 3971 3981 3989 -hsync +vsync + Modeline "6912x2304@15" 306.25 6912 7152 7848 8784 2304 2307 2317 2327 -hsync +vsync + Modeline "6912x2432@14" 301.00 6912 7144 7840 8768 2432 2435 2445 2454 -hsync +vsync + Modeline "6912x2560@13" 293.50 6912 7136 7832 8752 2560 2563 2573 2582 -hsync +vsync + Modeline "6912x2688@12" 283.25 6912 7120 7816 8720 2688 2691 2701 2709 -hsync +vsync + Modeline "6912x2816@12" 298.50 6912 7144 7840 8768 2816 2819 2829 2838 -hsync +vsync + Modeline "6912x2944@11" 284.25 6912 7120 7816 8720 2944 2947 2957 2965 -hsync +vsync + Modeline "6912x3072@11" 298.25 6912 7144 7840 8768 3072 3075 3085 3094 -hsync +vsync + Modeline "6912x3200@10" 280.25 6912 7120 7808 8704 3200 3203 3213 3221 -hsync +vsync + Modeline "6912x3328@10" 293.00 6912 7136 7832 8752 3328 3331 3341 3350 -hsync +vsync + Modeline "6912x3456@10" 305.50 6912 7152 7848 8784 3456 3459 3469 3479 -hsync +vsync + Modeline "6912x3584@9" 282.75 6912 7120 7816 8720 3584 3587 3597 3605 -hsync +vsync + Modeline "6912x3712@9" 294.00 6912 7136 7832 8752 3712 3715 3725 3734 -hsync +vsync + Modeline "6912x3840@9" 305.25 6912 7152 7848 8784 3840 3843 3853 3863 -hsync +vsync + Modeline "6912x3968@8" 277.50 6912 7120 7808 8704 3968 3971 3981 3989 -hsync +vsync + Modeline "7040x2432@14" 306.50 7040 7272 7984 8928 2432 2435 2445 2454 -hsync +vsync + Modeline "7040x2560@13" 299.00 7040 7272 7976 8912 2560 2563 2573 2582 -hsync +vsync + Modeline "7040x2688@12" 288.50 7040 7256 7960 8880 2688 2691 2701 2709 -hsync +vsync + Modeline "7040x2816@12" 304.00 7040 7272 7984 8928 2816 2819 2829 2838 -hsync +vsync + Modeline "7040x2944@11" 289.50 7040 7256 7960 8880 2944 2947 2957 2965 -hsync +vsync + Modeline "7040x3072@11" 303.75 7040 7272 7984 8928 3072 3075 3085 3094 -hsync +vsync + Modeline "7040x3200@10" 285.25 7040 7248 7952 8864 3200 3203 3213 3221 -hsync +vsync + Modeline "7040x3328@10" 298.50 7040 7272 7976 8912 3328 3331 3341 3350 -hsync +vsync + Modeline "7040x3456@9" 276.25 7040 7232 7936 8832 3456 3459 3469 3477 -hsync +vsync + Modeline "7040x3584@9" 288.00 7040 7256 7960 8880 3584 3587 3597 3605 -hsync +vsync + Modeline "7040x3712@9" 299.25 7040 7272 7976 8912 3712 3715 3725 3734 -hsync +vsync + Modeline "7040x3840@8" 272.00 7040 7224 7928 8816 3840 3843 3853 3860 -hsync +vsync + Modeline "7040x3968@8" 282.75 7040 7248 7952 8864 3968 3971 3981 3989 -hsync +vsync + Modeline "7168x2432@13" 287.50 7168 7376 8096 9024 2432 2435 2445 2453 -hsync +vsync + Modeline "7168x2560@13" 304.25 7168 7400 8120 9072 2560 2563 2573 2582 -hsync +vsync + Modeline "7168x2688@12" 293.75 7168 7384 8104 9040 2688 2691 2701 2709 -hsync +vsync + Modeline "7168x2816@11" 280.50 7168 7368 8080 8992 2816 2819 2829 2837 -hsync +vsync + Modeline "7168x2944@11" 294.75 7168 7384 8104 9040 2944 2947 2957 2965 -hsync +vsync + Modeline "7168x3072@10" 278.00 7168 7368 8080 8992 3072 3075 3085 3093 -hsync +vsync + Modeline "7168x3200@10" 290.50 7168 7376 8096 9024 3200 3203 3213 3221 -hsync +vsync + Modeline "7168x3328@10" 303.75 7168 7400 8120 9072 3328 3331 3341 3350 -hsync +vsync + Modeline "7168x3456@9" 281.25 7168 7368 8080 8992 3456 3459 3469 3477 -hsync +vsync + Modeline "7168x3584@9" 293.25 7168 7384 8104 9040 3584 3587 3597 3605 -hsync +vsync + Modeline "7168x3712@9" 304.75 7168 7400 8120 9072 3712 3715 3725 3734 -hsync +vsync + Modeline "7168x3840@8" 277.50 7168 7368 8080 8992 3840 3843 3853 3860 -hsync +vsync + Modeline "7168x3968@8" 287.75 7168 7376 8096 9024 3968 3971 3981 3989 -hsync +vsync + Modeline "7296x2432@13" 292.75 7296 7512 8240 9184 2432 2435 2445 2453 -hsync +vsync + Modeline "7296x2560@12" 283.25 7296 7496 8224 9152 2560 2563 2573 2581 -hsync +vsync + Modeline "7296x2688@12" 299.00 7296 7520 8248 9200 2688 2691 2701 2709 -hsync +vsync + Modeline "7296x2816@11" 285.50 7296 7496 8224 9152 2816 2819 2829 2837 -hsync +vsync + Modeline "7296x2944@11" 300.00 7296 7520 8248 9200 2944 2947 2957 2965 -hsync +vsync + Modeline "7296x3072@10" 282.75 7296 7496 8224 9152 3072 3075 3085 3093 -hsync +vsync + Modeline "7296x3200@10" 295.75 7296 7512 8240 9184 3200 3203 3213 3221 -hsync +vsync + Modeline "7296x3328@9" 274.75 7296 7480 8208 9120 3328 3331 3341 3348 -hsync +vsync + Modeline "7296x3456@9" 286.25 7296 7496 8224 9152 3456 3459 3469 3477 -hsync +vsync + Modeline "7296x3584@9" 298.25 7296 7520 8248 9200 3584 3587 3597 3605 -hsync +vsync + Modeline "7296x3712@8" 272.00 7296 7480 8208 9120 3712 3715 3725 3732 -hsync +vsync + Modeline "7296x3840@8" 282.50 7296 7496 8224 9152 3840 3843 3853 3860 -hsync +vsync + Modeline "7296x3968@8" 293.00 7296 7512 8240 9184 3968 3971 3981 3989 -hsync +vsync + Modeline "7424x2560@12" 288.25 7424 7632 8368 9312 2560 2563 2573 2581 -hsync +vsync + Modeline "7424x2688@12" 304.25 7424 7648 8392 9360 2688 2691 2701 2709 -hsync +vsync + Modeline "7424x2816@11" 290.50 7424 7632 8368 9312 2816 2819 2829 2837 -hsync +vsync + Modeline "7424x2944@10" 274.75 7424 7616 8352 9280 2944 2947 2957 2964 -hsync +vsync + Modeline "7424x3072@10" 287.75 7424 7632 8368 9312 3072 3075 3085 3093 -hsync +vsync + Modeline "7424x3200@10" 301.25 7424 7648 8392 9360 3200 3203 3213 3221 -hsync +vsync + Modeline "7424x3328@9" 279.50 7424 7616 8352 9280 3328 3331 3341 3348 -hsync +vsync + Modeline "7424x3456@9" 291.25 7424 7632 8368 9312 3456 3459 3469 3477 -hsync +vsync + Modeline "7424x3584@9" 303.50 7424 7648 8392 9360 3584 3587 3597 3605 -hsync +vsync + Modeline "7424x3712@8" 277.00 7424 7616 8352 9280 3712 3715 3725 3732 -hsync +vsync + Modeline "7424x3840@8" 287.50 7424 7632 8368 9312 3840 3843 3853 3860 -hsync +vsync + Modeline "7424x3968@8" 298.00 7424 7640 8384 9344 3968 3971 3981 3989 -hsync +vsync + Modeline "7552x2560@12" 293.25 7552 7760 8512 9472 2560 2563 2573 2581 -hsync +vsync + Modeline "7552x2688@11" 281.00 7552 7744 8496 9440 2688 2691 2701 2708 -hsync +vsync + Modeline "7552x2816@11" 295.50 7552 7760 8512 9472 2816 2819 2829 2837 -hsync +vsync + Modeline "7552x2944@10" 279.50 7552 7744 8496 9440 2944 2947 2957 2964 -hsync +vsync + Modeline "7552x3072@10" 292.75 7552 7760 8512 9472 3072 3075 3085 3093 -hsync +vsync + Modeline "7552x3200@9" 273.25 7552 7744 8496 9440 3200 3203 3213 3219 -hsync +vsync + Modeline "7552x3328@9" 284.25 7552 7744 8496 9440 3328 3331 3341 3348 -hsync +vsync + Modeline "7552x3456@9" 296.75 7552 7768 8520 9488 3456 3459 3469 3477 -hsync +vsync + Modeline "7552x3584@8" 272.00 7552 7744 8496 9440 3584 3587 3597 3603 -hsync +vsync + Modeline "7552x3712@8" 281.75 7552 7744 8496 9440 3712 3715 3725 3732 -hsync +vsync + Modeline "7552x3840@8" 292.25 7552 7760 8512 9472 3840 3843 3853 3860 -hsync +vsync + Modeline "7552x3968@8" 303.25 7552 7776 8528 9504 3968 3971 3981 3989 -hsync +vsync + Modeline "7680x2560@12" 298.00 7680 7888 8656 9632 2560 2563 2573 2581 -hsync +vsync + Modeline "7680x2688@11" 285.75 7680 7880 8640 9600 2688 2691 2701 2708 -hsync +vsync + Modeline "7680x2816@11" 300.25 7680 7888 8656 9632 2816 2819 2829 2837 -hsync +vsync + Modeline "7680x2944@10" 284.25 7680 7880 8640 9600 2944 2947 2957 2964 -hsync +vsync + Modeline "7680x3072@10" 297.75 7680 7888 8656 9632 3072 3075 3085 3093 -hsync +vsync + Modeline "7680x3200@9" 278.00 7680 7880 8640 9600 3200 3203 3213 3219 -hsync +vsync + Modeline "7680x3328@9" 289.00 7680 7880 8640 9600 3328 3331 3341 3348 -hsync +vsync + Modeline "7680x3456@9" 301.75 7680 7896 8664 9648 3456 3459 3469 3477 -hsync +vsync + Modeline "7680x3584@8" 276.50 7680 7880 8640 9600 3584 3587 3597 3603 -hsync +vsync + Modeline "7680x3712@8" 286.50 7680 7880 8640 9600 3712 3715 3725 3732 -hsync +vsync + Modeline "7680x3840@8" 297.25 7680 7888 8656 9632 3840 3843 3853 3860 -hsync +vsync + Modeline "7680x3968@7" 267.75 7680 7880 8640 9600 3968 3971 3981 3987 -hsync +vsync + Modeline "7808x2688@11" 290.50 7808 8008 8784 9760 2688 2691 2701 2708 -hsync +vsync + Modeline "7808x2816@10" 276.50 7808 8008 8784 9760 2816 2819 2829 2835 -hsync +vsync + Modeline "7808x2944@10" 289.00 7808 8008 8784 9760 2944 2947 2957 2964 -hsync +vsync + Modeline "7808x3072@10" 302.75 7808 8024 8800 9792 3072 3075 3085 3093 -hsync +vsync + Modeline "7808x3200@9" 282.75 7808 8008 8784 9760 3200 3203 3213 3219 -hsync +vsync + Modeline "7808x3328@9" 294.00 7808 8008 8784 9760 3328 3331 3341 3348 -hsync +vsync + Modeline "7808x3456@8" 271.25 7808 8008 8784 9760 3456 3459 3469 3475 -hsync +vsync + Modeline "7808x3584@8" 281.25 7808 8008 8784 9760 3584 3587 3597 3603 -hsync +vsync + Modeline "7808x3712@8" 291.25 7808 8008 8784 9760 3712 3715 3725 3732 -hsync +vsync + Modeline "7808x3840@8" 302.25 7808 8024 8800 9792 3840 3843 3853 3860 -hsync +vsync + Modeline "7808x3968@7" 272.25 7808 8008 8784 9760 3968 3971 3981 3987 -hsync +vsync + Modeline "7936x2688@11" 295.25 7936 8136 8928 9920 2688 2691 2701 2708 -hsync +vsync + Modeline "7936x2816@10" 281.00 7936 8136 8928 9920 2816 2819 2829 2835 -hsync +vsync + Modeline "7936x2944@10" 293.75 7936 8136 8928 9920 2944 2947 2957 2964 -hsync +vsync + Modeline "7936x3072@9" 275.75 7936 8136 8928 9920 3072 3075 3085 3091 -hsync +vsync + Modeline "7936x3200@9" 287.25 7936 8136 8928 9920 3200 3203 3213 3219 -hsync +vsync + Modeline "7936x3328@9" 298.75 7936 8136 8928 9920 3328 3331 3341 3348 -hsync +vsync + Modeline "7936x3456@8" 275.50 7936 8136 8928 9920 3456 3459 3469 3475 -hsync +vsync + Modeline "7936x3584@8" 285.75 7936 8136 8928 9920 3584 3587 3597 3603 -hsync +vsync + Modeline "7936x3712@8" 296.00 7936 8136 8928 9920 3712 3715 3725 3732 -hsync +vsync + Modeline "7936x3840@7" 267.75 7936 8136 8928 9920 3840 3843 3853 3858 -hsync +vsync + Modeline "7936x3968@7" 276.75 7936 8136 8928 9920 3968 3971 3981 3987 -hsync +vsync + Modeline "8064x2688@11" 300.00 8064 8272 9072 10080 2688 2691 2701 2708 -hsync +vsync + Modeline "8064x2816@10" 285.50 8064 8272 9072 10080 2816 2819 2829 2835 -hsync +vsync + Modeline "8064x2944@10" 298.50 8064 8272 9072 10080 2944 2947 2957 2964 -hsync +vsync + Modeline "8064x3072@9" 280.25 8064 8272 9072 10080 3072 3075 3085 3091 -hsync +vsync + Modeline "8064x3200@9" 292.00 8064 8272 9072 10080 3200 3203 3213 3219 -hsync +vsync + Modeline "8064x3328@8" 269.75 8064 8272 9072 10080 3328 3331 3341 3346 -hsync +vsync + Modeline "8064x3456@8" 280.00 8064 8272 9072 10080 3456 3459 3469 3475 -hsync +vsync + Modeline "8064x3584@8" 290.50 8064 8272 9072 10080 3584 3587 3597 3603 -hsync +vsync + Modeline "8064x3712@8" 300.75 8064 8272 9072 10080 3712 3715 3725 3732 -hsync +vsync + Modeline "8064x3840@7" 272.00 8064 8272 9072 10080 3840 3843 3853 3858 -hsync +vsync + Modeline "8064x3968@7" 281.25 8064 8272 9072 10080 3968 3971 3981 3987 -hsync +vsync + +EndSection + +Section "Screen" + Identifier "dummy_screen" + Device "dummy_videocard" + Monitor "dummy_monitor" + DefaultDepth 24 + SubSection "Display" + Viewport 0 0 + Depth 8 + #requires more ram: + #Modes "16000x15000" "15000x15000" "16384x8192" .. + Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" + #Virtual 16384 16384 + Virtual 8192 4096 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 16 + #requires more ram: + #Modes "16000x15000" "15000x15000" "16384x8192" .. + Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" + #Virtual 16384 16384 + Virtual 8192 4096 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 24 + #requires more ram: + #Modes "16000x15000" "15000x15000" "16384x8192" .. + Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" + #Virtual 16384 16384 + Virtual 8192 4096 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 30 + #requires more ram: + #Modes "16000x15000" "15000x15000" "16384x8192" .. + Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" + #Virtual 16384 16384 + Virtual 8192 4096 + EndSubSection +EndSection + +Section "ServerLayout" + Identifier "dummy_layout" + Screen "dummy_screen" +EndSection diff --git a/rt-base/xpra-entry-point.sh b/rt-base/xpra-entry-point.sh new file mode 100755 index 00000000..555101f0 --- /dev/null +++ b/rt-base/xpra-entry-point.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +set -ex + +nvidia_major=`nvidia-smi --query-gpu=driver_version --format=csv,noheader|cut -d. -f1` + +# Install nvidia driver DKMS matching current host's driver version for Xorg +sudo yum install -y nvidia-driver-branch-$nvidia_major || echo "OK" + +sudo Xorg -config /etc/xpra/xorg.conf :1 vt8 & +export VGL_DISPLAY=:1 +export LIBGL_DEBUG=verbose +export VGL_VERBOSE=1 + +xpra \ + start \ + :100 \ + --daemon=no \ + --terminate-children \ + --exit-with-children=yes \ + --start-child=${ASWF_XPRA_COMMAND} diff --git a/rt-base/xpra.conf b/rt-base/xpra.conf new file mode 100644 index 00000000..46e9a049 --- /dev/null +++ b/rt-base/xpra.conf @@ -0,0 +1,29 @@ +# bind XPRA to all network interfaces on port 14500 for websocket access +bind-ws=0.0.0.0:14500 +# exit XPRA when child is terminated +exit-with-children=yes +# enable HTML5 client +html=on +# disable printing +printing=no +# disable MDNS +mdns=no +# disable notifications +notifications=no +# disable webcam forwarding +webcam=no +start-via-proxy=no +systemd-run=no +dbus-proxy=no +dbus-control=no +dbus-launch=no +socket-dirs=/run/user/1000/xpra +# use SSL certificate +ssl-cert=/etc/xpra/ssl-cert.pem +# disable client certificate authentication +ssl-client-verify-mode=none +# allow session sharing +sharing=yes +# set DPI to 96 +dpi=96 +opengl=yes diff --git a/rt-vfxall-jupyter/Dockerfile b/rt-vfxall-jupyter/Dockerfile index 7c94eced..db2087ee 100644 --- a/rt-vfxall-jupyter/Dockerfile +++ b/rt-vfxall-jupyter/Dockerfile @@ -32,11 +32,22 @@ ENV USER=${NB_USER} \ COPY rt-vfxall-jupyter/jupyter_notebook_config.py /etc/jupyter/ +# Prepare xpra folder for new user +RUN mkdir -p /run/user/${NB_UID}/xpra && \ + mkdir -p /run/xpra && \ + chown ${NB_USER}:${NB_USER} /run/user/${NB_UID}/xpra && \ + chown ${NB_USER}:${NB_USER} /run/xpra && \ + chown ${NB_USER}:${NB_USER} /etc/xpra/ssl-cert.pem + USER ${NB_USER} RUN mkdir /home/${NB_USER}/work WORKDIR /home/${NB_USER}/work +COPY rt-vfxall-jupyter/jupyter-entry-point.sh /usr/local/bin/ + EXPOSE 8888 -ENTRYPOINT [ "jupyter", "lab" ] +ENV ASWF_XPRA_COMMAND=/usr/local/bin/jupyter-entry-point.sh + +#ENTRYPOINT [ "/usr/local/bin/xpra-entry-point.sh" ] diff --git a/rt-vfxall-jupyter/jupyter-entry-point.sh b/rt-vfxall-jupyter/jupyter-entry-point.sh new file mode 100755 index 00000000..746b3632 --- /dev/null +++ b/rt-vfxall-jupyter/jupyter-entry-point.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +set -ex + +export VGL_DISPLAY=:1 + +vglrun -- /opt/VirtualGL/bin/glxinfo -v +vglrun -- jupyter-lab diff --git a/rt-vfxall/Dockerfile b/rt-vfxall/Dockerfile index 2daeeeb7..b3b2fde9 100644 --- a/rt-vfxall/Dockerfile +++ b/rt-vfxall/Dockerfile @@ -1,5 +1,6 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +ARG CUDA_VERSION=10.2 ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG VFXPLATFORM_VERSION=2019 @@ -27,7 +28,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION} as ci-package-part FROM ${ASWF_PKG_ORG}/ci-package-osl:${VFXPLATFORM_VERSION} as ci-package-osl FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION} as ci-package-otio -FROM ${ASWF_ORG}/rt-base:${VFXPLATFORM_VERSION} as builder +FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as builder COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ From ed1b190e478e6e050db240ffb1f2a8107c86786d Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 19 Aug 2020 17:23:39 +1000 Subject: [PATCH 003/132] Added dockerstats command Signed-off-by: Aloys Baillet --- python/aswfdocker/cli/aswfdocker.py | 25 +++++++++++++++++ python/aswfdocker/utils.py | 42 +++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index fe184d00..c77a8bac 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -267,6 +267,31 @@ def images(): click.echo(f"{group}/{image_name}:{version}") +@click.option( + "--sizes", "-s", is_flag=True, help="Display Sizes", +) +@cli.command() +def dockerstats(sizes): + """Lists all known ci images in this format: IMAGEGROUP/IMAGE:VERSION + """ + if sizes: + total_size = 0 + for org, image_type, image in utils.iter_all_images(): + image_name = utils.get_image_name(image_type, image) + for tag, size in utils.get_image_sizes(org, image_name).items(): + click.echo(f"{org}/{image_name}:{tag} size={size}") + total_size += size + click.echo(f"Total size={total_size}") + else: + total_pull = 0 + for org, image_type, image in utils.iter_all_images(): + image_name = utils.get_image_name(image_type, image) + pull_count = utils.get_image_pull_count(org, image_name) + click.echo(f"{org}/{image_name} pull_count={pull_count}") + total_pull += pull_count + click.echo(f"Total pull_count={total_pull}") + + @cli.command() @click.option( "--settings-path", "-p", default="~/.aswfdocker", help="User settings file path.", diff --git a/python/aswfdocker/utils.py b/python/aswfdocker/utils.py index 029e8077..e41af520 100644 --- a/python/aswfdocker/utils.py +++ b/python/aswfdocker/utils.py @@ -8,6 +8,8 @@ import subprocess import datetime import logging +import json +import urllib.request from aswfdocker import constants @@ -119,3 +121,43 @@ def get_group_from_image(image_type: constants.ImageType, image: str): if img == image: return group raise RuntimeError(f"Cannot find group for image {image}") + + +def get_image_pull_count(docker_org, image): + url = f"https://hub.docker.com/v2/repositories/{docker_org}/{image}" + try: + d = json.loads(urllib.request.urlopen(url).read()) + return d["pull_count"] + except urllib.error.HTTPError: + logger.debug("Failed to load data from URL %r", url) + return 0 + + +def get_image_sizes(docker_org, image): + sizes = {} + url = f"https://hub.docker.com/v2/repositories/{docker_org}/{image}/tags/" + try: + d = json.loads(urllib.request.urlopen(url).read()) + except urllib.error.HTTPError: + logger.debug("Failed to load data from URL %r", url) + return sizes + digests = set() + for tag in d["results"]: + digest = tag["images"][0]["digest"] + if digest in digests: + continue + digests.add(digest) + sizes[tag["name"]] = tag["full_size"] + return sizes + + +def iter_all_images(): + for org in (constants.TESTING_DOCKER_ORG, constants.PUBLISH_DOCKER_ORG): + for image_type in ( + constants.ImageType.PACKAGE, + constants.ImageType.CI_IMAGE, + constants.ImageType.RT_IMAGE, + ): + for _, images in constants.GROUPS[image_type].items(): + for image in images: + yield org, image_type, image From 99bd05e07dab5554a7aff101959d38a0a0c1fc2d Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Wed, 23 Sep 2020 20:53:11 +1200 Subject: [PATCH 004/132] Fix incorrect "Jira" url. Signed-off-by: Thomas Mansencal --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6bcbc692..482f7a98 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ The `latest` tag is pointing to the current VFX Platorm year images, e.g. `aswf/ There is another dockerhub organisation with copies of the `aswf` docker images called `aswftesting`, images published there are for general testing and experimentations. Images can be pushed by any fork of the official repo as long as the branch is called `testing`. Images in this org will change without notice and could be broken in many unexpected ways! -To get write access to the `aswftesting` dockerhub organisation you can open a jira issue [there](jira.aswf.io). +To get write access to the `aswftesting` dockerhub organisation you can open a jira issue [there](https://jira.aswf.io). ### Status As of June 2020 there are full 2018, 2019 and 2020 [VFX Platform](https://vfxplatform.com) compliant images. And a preview of 2021 From e626d612553477027fe5cda2d9cf0d78c152764d Mon Sep 17 00:00:00 2001 From: Simran Brucherseifer Date: Sat, 12 Sep 2020 01:01:09 +0200 Subject: [PATCH 005/132] Build clang-tools-extra for clang-tidy Signed-off-by: Simran Brucherseifer --- scripts/common/build_clang.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/common/build_clang.sh b/scripts/common/build_clang.sh index 4d6177d2..324cc214 100755 --- a/scripts/common/build_clang.sh +++ b/scripts/common/build_clang.sh @@ -13,7 +13,7 @@ cd llvm-project-llvmorg-${CLANG_VERSION}/llvm mkdir build cd build -cmake -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;compiler-rt;lld" \ +cmake -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libcxx;libcxxabi;compiler-rt;lld" \ -DCMAKE_BUILD_TYPE=Release \ -G "Unix Makefiles" \ -DGCC_INSTALL_PREFIX=/opt/rh/devtoolset-${DTS_VERSION}/root/usr \ From 597e66f4b107636c751a169bac2cc52f72694c50 Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Tue, 22 Sep 2020 01:45:57 +0200 Subject: [PATCH 006/132] Add tests Signed-off-by: Simran Spiller --- scripts/tests/1/test_common.sh | 6 ++++++ scripts/tests/2/test_common.sh | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/scripts/tests/1/test_common.sh b/scripts/tests/1/test_common.sh index afd003a2..c17b57bb 100755 --- a/scripts/tests/1/test_common.sh +++ b/scripts/tests/1/test_common.sh @@ -10,6 +10,12 @@ then exit 1 fi +clang_tidy_v=`clang-tidy --version` +if [[ $clang_tidy_v != *LLVM\ version\ 7.0* ]] +then + exit 1 +fi + gcc_v=`gcc --version` if [[ $gcc_v != gcc\ \(GCC\)\ 6.3* ]] then diff --git a/scripts/tests/2/test_common.sh b/scripts/tests/2/test_common.sh index 01f4ec8a..31a1a72e 100755 --- a/scripts/tests/2/test_common.sh +++ b/scripts/tests/2/test_common.sh @@ -10,6 +10,12 @@ then exit 1 fi +clang_tidy_v=`clang-tidy --version` +if [[ $clang_tidy_v != *LLVM\ version\ 10.0* ]] +then + exit 1 +fi + gcc_v=`gcc --version` if [[ $gcc_v != gcc\ \(GCC\)\ 9.3* ]] then From 68fb061814e20a6e54e88ad640bf0791556aeb86 Mon Sep 17 00:00:00 2001 From: Simran Brucherseifer Date: Sat, 12 Sep 2020 01:15:29 +0200 Subject: [PATCH 007/132] Enforce LF line endings for .sh files Signed-off-by: Simran Brucherseifer --- .gitattributes | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..2b06c4e9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# Avoid Windows line breaks in shell scripts (bound to fail) +*.sh text eol=lf From 05a5483e257fefbad0c5e5dcf733e3a1ac1c9b8b Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Sun, 27 Sep 2020 23:16:08 +0200 Subject: [PATCH 008/132] ShellCheck Signed-off-by: Simran Spiller --- scripts/base/build_boost.sh | 10 +++++----- scripts/base/build_cppunit.sh | 12 ++++++------ scripts/base/build_glew.sh | 12 ++++++------ scripts/base/build_glfw.sh | 4 ++-- scripts/base/build_log4cplus.sh | 4 ++-- scripts/base/build_pyside.sh | 22 ++++++++++----------- scripts/base/build_python.sh | 22 ++++++++++----------- scripts/base/build_qt.sh | 16 +++++++-------- scripts/base/build_tbb.sh | 12 ++++++------ scripts/base/install_cmake.sh | 6 +++--- scripts/common/before_build.sh | 2 +- scripts/common/build_clang.sh | 14 +++++++------- scripts/common/build_ninja.sh | 8 ++++---- scripts/common/copy_new_files.sh | 2 +- scripts/common/install_ccache.sh | 10 +++++----- scripts/common/install_dev_ccache.sh | 8 ++++---- scripts/common/install_dev_cmake.sh | 6 +++--- scripts/common/install_sonar.sh | 16 +++++++-------- scripts/common/install_yumpackages.sh | 2 +- scripts/tests/1/test_common.sh | 11 +++++------ scripts/tests/2/test_common.sh | 11 +++++------ scripts/tests/2018/test_base.sh | 2 +- scripts/tests/2019/test_base.sh | 2 +- scripts/tests/2020/test_base.sh | 4 ++-- scripts/vfx/build_alembic.sh | 28 +++++++++++++-------------- scripts/vfx/build_blosc.sh | 4 ++-- scripts/vfx/build_ocio.sh | 20 +++++++++---------- scripts/vfx/build_oiio.sh | 6 +++--- scripts/vfx/build_openexr.sh | 20 +++++++++---------- scripts/vfx/build_opensubdiv.sh | 20 +++++++++---------- scripts/vfx/build_openvdb.sh | 24 +++++++++++------------ scripts/vfx/build_osl.sh | 12 ++++++------ scripts/vfx/build_otio.sh | 4 ++-- scripts/vfx/build_partio.sh | 13 ++++++------- scripts/vfx/build_ptex.sh | 12 ++++++------ scripts/vfx/build_usd.sh | 28 +++++++++++++-------------- 36 files changed, 203 insertions(+), 206 deletions(-) diff --git a/scripts/base/build_boost.sh b/scripts/base/build_boost.sh index c69182eb..57ce9474 100755 --- a/scripts/base/build_boost.sh +++ b/scripts/base/build_boost.sh @@ -27,13 +27,13 @@ fi mkdir boost cd boost -if [ ! -f $DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz ]; then - curl --location https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_U}.tar.gz -o $DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz" ]; then + curl --location "https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_U}.tar.gz" -o "$DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz" fi -tar -xzf $DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz +tar -xzf "$DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz" -cd boost_${BOOST_VERSION_U} +cd "boost_${BOOST_VERSION_U}" sh bootstrap.sh ${BOOTSTRAP_ARGS} ./b2 install -j2 variant=release toolset=gcc link=shared \ --with-atomic \ @@ -61,7 +61,7 @@ sh bootstrap.sh ${BOOTSTRAP_ARGS} --with-timer \ --with-type_erasure \ --with-wave \ - --prefix=${ASWF_INSTALL_PREFIX} \ + --prefix="${ASWF_INSTALL_PREFIX}" \ --with-python \ ${BOOST_EXTRA_ARGS} diff --git a/scripts/base/build_cppunit.sh b/scripts/base/build_cppunit.sh index 6bf92481..ebb777c5 100755 --- a/scripts/base/build_cppunit.sh +++ b/scripts/base/build_cppunit.sh @@ -4,16 +4,16 @@ set -ex -if [ ! -f $DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz ]; then - curl --location http://dev-www.libreoffice.org/src/cppunit-${CPPUNIT_VERSION}.tar.gz -o $DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz" ]; then + curl --location "http://dev-www.libreoffice.org/src/cppunit-${CPPUNIT_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz" fi -tar xf $DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz -cd cppunit-${CPPUNIT_VERSION} +tar xf "$DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz" +cd "cppunit-${CPPUNIT_VERSION}" -./configure --prefix=${ASWF_INSTALL_PREFIX} +./configure --prefix="${ASWF_INSTALL_PREFIX}" make -j$(nproc) make install cd .. -rm -rf cppunit-${CPPUNIT_VERSION} +rm -rf "cppunit-${CPPUNIT_VERSION}" diff --git a/scripts/base/build_glew.sh b/scripts/base/build_glew.sh index e9603ed4..fd3ffe64 100755 --- a/scripts/base/build_glew.sh +++ b/scripts/base/build_glew.sh @@ -4,16 +4,16 @@ set -ex -if [ ! -f $DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz ]; then - curl --location https://github.com/nigels-com/glew/releases/download/glew-${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz -o $DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz +if [ ! -f "$DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz" ]; then + curl --location "https://github.com/nigels-com/glew/releases/download/glew-${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz" -o "$DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz" fi -tar xf $DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz +tar xf "$DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz" -cd glew-${GLEW_VERSION}/build -cmake ./cmake -DCMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} +cd "glew-${GLEW_VERSION}/build" +cmake ./cmake -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" make -j$(nproc) make install cd ../.. -rm -rf glew-${GLEW_VERSION} +rm -rf "glew-${GLEW_VERSION}" diff --git a/scripts/base/build_glfw.sh b/scripts/base/build_glfw.sh index 087691e1..0383e540 100755 --- a/scripts/base/build_glfw.sh +++ b/scripts/base/build_glfw.sh @@ -8,13 +8,13 @@ git clone https://github.com/glfw/glfw.git cd glfw if [ "$GLFW_VERSION" != "latest" ]; then - git checkout tags/${GLFW_VERSION} -b ${GLFW_VERSION} + git checkout "tags/${GLFW_VERSION}" -b "${GLFW_VERSION}" fi mkdir build cd build -cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} .. +cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" .. make -j$(nproc) make install diff --git a/scripts/base/build_log4cplus.sh b/scripts/base/build_log4cplus.sh index c00aa0d7..5e328991 100755 --- a/scripts/base/build_log4cplus.sh +++ b/scripts/base/build_log4cplus.sh @@ -13,12 +13,12 @@ git clone https://github.com/log4cplus/log4cplus.git cd log4cplus if [ "$LOG4CPLUS_VERSION" != "latest" ]; then - git checkout tags/REL_${LOG4CPLUS_MAJOR}_${LOG4CPLUS_MINOR}_${LOG4CPLUS_PATCH} -b ${LOG4CPLUS_VERSION} + git checkout "tags/REL_${LOG4CPLUS_MAJOR}_${LOG4CPLUS_MINOR}_${LOG4CPLUS_PATCH}" -b "${LOG4CPLUS_VERSION}" fi mkdir build cd build -cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} .. +cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" .. make -j$(nproc) make install diff --git a/scripts/base/build_pyside.sh b/scripts/base/build_pyside.sh index c365b2d3..40713002 100755 --- a/scripts/base/build_pyside.sh +++ b/scripts/base/build_pyside.sh @@ -18,22 +18,22 @@ Prefix = /tmp/qt5temp EOF if [[ $PYSIDE_VERSION == 2.0.0 ]]; then - curl --location https://www.autodesk.com/content/dam/autodesk/www/Company/files/pyside2-maya2018.4.zip -o $DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.zip - unzip $DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.zip + curl --location "https://www.autodesk.com/content/dam/autodesk/www/Company/files/pyside2-maya2018.4.zip" -o "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.zip" + unzip "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.zip" mv pyside-setup pyside cd pyside - ${ASWF_INSTALL_PREFIX}/bin/python setup.py build install --prefix ${ASWF_INSTALL_PREFIX} + "${ASWF_INSTALL_PREFIX}/bin/python" setup.py build install --prefix "${ASWF_INSTALL_PREFIX}" else if [[ $PYSIDE_VERSION == 5.12.6 ]]; then PYSIDE_URL_NAME=pyside-setup-everywhere-src-${PYSIDE_VERSION} else PYSIDE_URL_NAME=pyside-setup-opensource-src-${PYSIDE_VERSION} fi - if [ ! -f $DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz ]; then - curl --location https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PYSIDE_VERSION}-src/${PYSIDE_URL_NAME}.tar.xz -o $DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz + if [ ! -f "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz" ]; then + curl --location "https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PYSIDE_VERSION}-src/${PYSIDE_URL_NAME}.tar.xz" -o "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz" fi - tar xf $DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz - mv ${PYSIDE_URL_NAME} pyside + tar xf "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz" + mv "${PYSIDE_URL_NAME}" pyside export LLVM_INSTALL_DIR=${ASWF_INSTALL_PREFIX} export CLANG_INSTALL_DIR=${ASWF_INSTALL_PREFIX} @@ -42,19 +42,19 @@ else if [[ $PYSIDE_VERSION == 5.12.6 ]]; then # Apply typing patch - curl --location https://codereview.qt-project.org/changes/pyside%2Fpyside-setup~271412/revisions/4/patch?zip -o typing-patch.zip + curl --location "https://codereview.qt-project.org/changes/pyside%2Fpyside-setup~271412/revisions/4/patch?zip" -o "typing-patch.zip" unzip typing-patch.zip patch -p1 < 28958df.diff fi if [[ $PYSIDE_VERSION == 5.12.6 ]]; then # Apply clang10 patch - curl --location https://codereview.qt-project.org/changes/pyside%2Fpyside-setup~296271/revisions/2/patch?zip -o clang10-patch.zip + curl --location "https://codereview.qt-project.org/changes/pyside%2Fpyside-setup~296271/revisions/2/patch?zip" -o "clang10-patch.zip" unzip clang10-patch.zip patch -p1 < 9ae6382.diff fi - ${ASWF_INSTALL_PREFIX}/bin/python setup.py build --parallel=$(nproc) - ${ASWF_INSTALL_PREFIX}/bin/python setup.py install --prefix ${ASWF_INSTALL_PREFIX} + "${ASWF_INSTALL_PREFIX}/bin/python" setup.py build --parallel=$(nproc) + "${ASWF_INSTALL_PREFIX}/bin/python" setup.py install --prefix "${ASWF_INSTALL_PREFIX}" fi diff --git a/scripts/base/build_python.sh b/scripts/base/build_python.sh index 49c83f99..8abfc6e3 100755 --- a/scripts/base/build_python.sh +++ b/scripts/base/build_python.sh @@ -7,14 +7,14 @@ set -ex mkdir python cd python -curl -C - --location https://www.python.org/ftp/python/${PYTHON_VERSION_FULL}/Python-${PYTHON_VERSION_FULL}.tgz -o $DOWNLOADS_DIR/Python-${PYTHON_VERSION_FULL}.tgz +curl -C - --location "https://www.python.org/ftp/python/${PYTHON_VERSION_FULL}/Python-${PYTHON_VERSION_FULL}.tgz" -o "$DOWNLOADS_DIR/Python-${PYTHON_VERSION_FULL}.tgz" -mkdir -p ${ASWF_INSTALL_PREFIX}/bin +mkdir -p "${ASWF_INSTALL_PREFIX}/bin" echo "PATH=$PATH" # Create script to allow use of system python -cat < ${ASWF_INSTALL_PREFIX}/bin/run-with-system-python +cat < "${ASWF_INSTALL_PREFIX}/bin/run-with-system-python" #!/bin/sh # Unsets all environment variables so that the system python can function normally # To use, just prefix any command with run-with-system-python @@ -25,22 +25,22 @@ export LD_LIBRARY_PATH=/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/ export PATH=/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/sbin:/usr/bin:/sbin:/bin exec "\$@" EOF -chmod a+x ${ASWF_INSTALL_PREFIX}/bin/run-with-system-python +chmod a+x "${ASWF_INSTALL_PREFIX}/bin/run-with-system-python" # Create a yum wrapper that uses the system python -cat < ${ASWF_INSTALL_PREFIX}/bin/yum +cat < "${ASWF_INSTALL_PREFIX}/bin/yum" #!/bin/sh # This runs yum with system python -exec ${ASWF_INSTALL_PREFIX}/bin/run-with-system-python /usr/bin/yum "\$@" +exec "${ASWF_INSTALL_PREFIX}/bin/run-with-system-python" /usr/bin/yum "\$@" EOF -chmod a+x ${ASWF_INSTALL_PREFIX}/bin/yum +chmod a+x "${ASWF_INSTALL_PREFIX}/bin/yum" -tar xf $DOWNLOADS_DIR/Python-${PYTHON_VERSION_FULL}.tgz -cd Python-${PYTHON_VERSION_FULL} +tar xf "$DOWNLOADS_DIR/Python-${PYTHON_VERSION_FULL}.tgz" +cd "Python-${PYTHON_VERSION_FULL}" # Ensure configure, build and install is done with no reference to ${ASWF_INSTALL_PREFIX} as this somehow messes up the system install run-with-system-python ./configure \ - --prefix=${ASWF_INSTALL_PREFIX} \ + --prefix="${ASWF_INSTALL_PREFIX}" \ --enable-unicode=ucs4 \ --enable-shared run-with-system-python make -j$(nproc) @@ -49,7 +49,7 @@ run-with-system-python make install if [[ $PYTHON_VERSION == 3* ]]; then # Create symlink from python3 to python - ln -s python3 ${ASWF_INSTALL_PREFIX}/bin/python + ln -s python3 "${ASWF_INSTALL_PREFIX}/bin/python" export PIP=pip3 else export PIP=pip diff --git a/scripts/base/build_qt.sh b/scripts/base/build_qt.sh index 6c90732c..46c503f1 100755 --- a/scripts/base/build_qt.sh +++ b/scripts/base/build_qt.sh @@ -11,25 +11,25 @@ ccache --max-size=10G #ccache --clear if [[ $QT_VERSION == 5.6.1 ]]; then - if [ ! -f $DOWNLOADS_DIR/qt-${QT_VERSION}.zip ]; then - curl --location https://www.autodesk.com/content/dam/autodesk/www/Company/files/2019/qt561formaya2019.zip -o $DOWNLOADS_DIR/qt-${QT_VERSION}.zip + if [ ! -f "$DOWNLOADS_DIR/qt-${QT_VERSION}.zip" ]; then + curl --location "https://www.autodesk.com/content/dam/autodesk/www/Company/files/2019/qt561formaya2019.zip" -o "$DOWNLOADS_DIR/qt-${QT_VERSION}.zip" fi - unzip $DOWNLOADS_DIR/qt-${QT_VERSION}.zip + unzip "$DOWNLOADS_DIR/qt-${QT_VERSION}.zip" mv qt-adsk-5.6.1-vfx qt-src cd qt-src tar xf ../qt561-webkit.tgz else QT_MAJOR_MINOR=$(echo "${QT_VERSION}" | cut -d. -f-2) - if [ ! -f $DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz ]; then - curl --location http://download.qt.io/official_releases/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/single/qt-everywhere-src-${QT_VERSION}.tar.xz -o $DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz + if [ ! -f "$DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz" ]; then + curl --location "http://download.qt.io/official_releases/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/single/qt-everywhere-src-${QT_VERSION}.tar.xz" -o "$DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz" fi - tar xf $DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz - mv qt-everywhere-src-${QT_VERSION} qt-src + tar xf "$DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz" + mv "qt-everywhere-src-${QT_VERSION}" qt-src cd qt-src fi ./configure \ - --prefix=${ASWF_INSTALL_PREFIX} \ + --prefix="${ASWF_INSTALL_PREFIX}" \ -no-strip \ -no-rpath \ -opensource \ diff --git a/scripts/base/build_tbb.sh b/scripts/base/build_tbb.sh index cf206f32..956e1bcd 100755 --- a/scripts/base/build_tbb.sh +++ b/scripts/base/build_tbb.sh @@ -8,17 +8,17 @@ git clone https://github.com/01org/tbb.git cd tbb if [ "$TBB_VERSION" != "latest" ]; then - git checkout tags/${TBB_VERSION} -b ${TBB_VERSION} + git checkout "tags/${TBB_VERSION}" -b "${TBB_VERSION}" fi make -j$(nproc) -mkdir -p ${ASWF_INSTALL_PREFIX}/include -mkdir -p ${ASWF_INSTALL_PREFIX}/lib +mkdir -p "${ASWF_INSTALL_PREFIX}/include" +mkdir -p "${ASWF_INSTALL_PREFIX}/lib" -cp -r include/serial ${ASWF_INSTALL_PREFIX}/include/. -cp -r include/tbb ${ASWF_INSTALL_PREFIX}/include/. -cp -r build/*/*.so* ${ASWF_INSTALL_PREFIX}/lib/. +cp -r include/serial "${ASWF_INSTALL_PREFIX}/include/." +cp -r include/tbb "${ASWF_INSTALL_PREFIX}/include/." +cp -r build/*/*.so* "${ASWF_INSTALL_PREFIX}/lib/." cd .. rm -rf tbb diff --git a/scripts/base/install_cmake.sh b/scripts/base/install_cmake.sh index 68ef2d90..2aeeb9f0 100755 --- a/scripts/base/install_cmake.sh +++ b/scripts/base/install_cmake.sh @@ -4,8 +4,8 @@ set -ex -if [ ! -f $DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh ]; then - curl --location "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" -o $DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh +if [ ! -f "$DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" ]; then + curl --location "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" -o "$DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" fi -sh $DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh --skip-license --prefix=/usr/local --exclude-subdir +sh "$DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" --skip-license --prefix=/usr/local --exclude-subdir diff --git a/scripts/common/before_build.sh b/scripts/common/before_build.sh index 833865f4..1dc2a53e 100755 --- a/scripts/common/before_build.sh +++ b/scripts/common/before_build.sh @@ -6,5 +6,5 @@ set -ex rm -rf /package -cd ${ASWF_INSTALL_PREFIX} +cd "${ASWF_INSTALL_PREFIX}" find . -type f -o -type l | cut -c3- > /tmp/previous-prefix-files.txt diff --git a/scripts/common/build_clang.sh b/scripts/common/build_clang.sh index 324cc214..8be3e4bd 100755 --- a/scripts/common/build_clang.sh +++ b/scripts/common/build_clang.sh @@ -4,21 +4,21 @@ set -ex -if [ ! -f $DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz ]; then - curl --location https://github.com/llvm/llvm-project/archive/llvmorg-${CLANG_VERSION}.tar.gz -o $DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz" ]; then + curl --location "https://github.com/llvm/llvm-project/archive/llvmorg-${CLANG_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz" fi -tar xf $DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz -cd llvm-project-llvmorg-${CLANG_VERSION}/llvm +tar xf "$DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz" +cd "llvm-project-llvmorg-${CLANG_VERSION}/llvm" mkdir build cd build cmake -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libcxx;libcxxabi;compiler-rt;lld" \ -DCMAKE_BUILD_TYPE=Release \ -G "Unix Makefiles" \ - -DGCC_INSTALL_PREFIX=/opt/rh/devtoolset-${DTS_VERSION}/root/usr \ + -DGCC_INSTALL_PREFIX="/opt/rh/devtoolset-${DTS_VERSION}/root/usr" \ -DLLVM_TARGETS_TO_BUILD="host;NVPTX" \ - -DCMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} \ + -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ -DCLANG_INCLUDE_DOCS=OFF \ -DLIBCXX_INCLUDE_DOCS=OFF \ -DLLVM_BUILD_TESTS=OFF \ @@ -56,4 +56,4 @@ make -j$(nproc) make install cd ../../.. -rm -rf llvm-project-llvmorg-${CLANG_VERSION} +rm -rf "llvm-project-llvmorg-${CLANG_VERSION}" diff --git a/scripts/common/build_ninja.sh b/scripts/common/build_ninja.sh index 59129131..84dc005a 100755 --- a/scripts/common/build_ninja.sh +++ b/scripts/common/build_ninja.sh @@ -4,12 +4,12 @@ set -ex -if [ ! -f $DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz ]; then - curl --location https://github.com/ninja-build/ninja/archive/v${NINJA_VERSION}.tar.gz -o $DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz" ]; then + curl --location "https://github.com/ninja-build/ninja/archive/v${NINJA_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz" fi -tar xf $DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz -cd ninja-${NINJA_VERSION} +tar xf "$DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz" +cd "ninja-${NINJA_VERSION}" ./configure.py --bootstrap diff --git a/scripts/common/copy_new_files.sh b/scripts/common/copy_new_files.sh index e92bc42d..0297ecd2 100755 --- a/scripts/common/copy_new_files.sh +++ b/scripts/common/copy_new_files.sh @@ -6,6 +6,6 @@ set -ex mkdir -p /package -cd ${ASWF_INSTALL_PREFIX} +cd "${ASWF_INSTALL_PREFIX}" find . -type l -o -type f | cut -c3- > /tmp/new-prefix-files.txt rsync -av --files-from=/tmp/new-prefix-files.txt --exclude-from=/tmp/previous-prefix-files.txt . /package/ diff --git a/scripts/common/install_ccache.sh b/scripts/common/install_ccache.sh index b948af7c..b8a103c2 100755 --- a/scripts/common/install_ccache.sh +++ b/scripts/common/install_ccache.sh @@ -7,13 +7,13 @@ set -ex mkdir ccache cd ccache -if [ ! -f $DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz ]; then - curl --location https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz -o $DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" ]; then + curl --location "https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" fi -tar xf $DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz +tar xf "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" -cd ccache-${CCACHE_VERSION} +cd "ccache-${CCACHE_VERSION}" ./configure --prefix=/usr/local make -j$(nproc) make install @@ -29,7 +29,7 @@ ln -s /usr/local/bin/ccache /usr/local/bin/_ccache/clang # Create activate_ccache.sh script cat < /usr/local/bin/activate_ccache.sh #!/usr/bin/env bash -export PATH=/usr/local/bin/_ccache:$PATH +PATH=/usr/local/bin/_ccache:$PATH if [ -z "$CCACHE_DIR"] then export CCACHE_DIR=/tmp/ccache diff --git a/scripts/common/install_dev_ccache.sh b/scripts/common/install_dev_ccache.sh index 40080811..fed9c5ee 100755 --- a/scripts/common/install_dev_ccache.sh +++ b/scripts/common/install_dev_ccache.sh @@ -8,13 +8,13 @@ mkdir ccache cd ccache CCACHE_VERSION=3.7.9 -if [ ! -f $DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz ]; then - curl --location https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz -o $DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" ]; then + curl --location "https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" fi -tar xf $DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz +tar xf "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" -cd ccache-${CCACHE_VERSION} +cd "ccache-${CCACHE_VERSION}" ./configure --prefix=/opt/aswfbuilder make -j$(nproc) make install diff --git a/scripts/common/install_dev_cmake.sh b/scripts/common/install_dev_cmake.sh index 6f69b168..54e41e71 100755 --- a/scripts/common/install_dev_cmake.sh +++ b/scripts/common/install_dev_cmake.sh @@ -4,7 +4,7 @@ set -ex -if [ ! -f $DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh ]; then - curl --location "https://github.com/Kitware/CMake/releases/download/v${PKGS_COMMON_CMAKE_VERSION}/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" -o $DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh +if [ ! -f "$DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" ]; then + curl --location "https://github.com/Kitware/CMake/releases/download/v${PKGS_COMMON_CMAKE_VERSION}/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" -o "$DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" fi -sh $DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh --skip-license --prefix=/opt/aswfbuilder --exclude-subdir +sh "$DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" --skip-license --prefix=/opt/aswfbuilder --exclude-subdir diff --git a/scripts/common/install_sonar.sh b/scripts/common/install_sonar.sh index 5e22b993..40986dd3 100755 --- a/scripts/common/install_sonar.sh +++ b/scripts/common/install_sonar.sh @@ -7,20 +7,20 @@ set -ex mkdir sonar cd sonar -if [ ! -f $DOWNLOADS_DIR/sonar-bw.zip ]; then - curl --location https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip -o $DOWNLOADS_DIR/sonar-bw.zip +if [ ! -f "$DOWNLOADS_DIR/sonar-bw.zip" ]; then + curl --location "https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip" -o "$DOWNLOADS_DIR/sonar-bw.zip" fi -unzip $DOWNLOADS_DIR/sonar-bw.zip +unzip "$DOWNLOADS_DIR/sonar-bw.zip" mv build-wrapper-linux-x86 /var/opt/. ln -s /var/opt/build-wrapper-linux-x86/build-wrapper-linux-x86-64 /usr/bin/build-wrapper-linux-x86-64 echo $(build-wrapper-linux-x86-64 --help) -if [ ! -f $DOWNLOADS_DIR/sonar-scanner.zip ]; then - curl --location https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_VERSION}-linux.zip -o $DOWNLOADS_DIR/sonar-scanner.zip +if [ ! -f "$DOWNLOADS_DIR/sonar-scanner.zip" ]; then + curl --location "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_VERSION}-linux.zip" -o "$DOWNLOADS_DIR/sonar-scanner.zip" fi -unzip $DOWNLOADS_DIR/sonar-scanner.zip -mv sonar-scanner-${SONAR_VERSION}-linux /var/opt/. -ln -s /var/opt/sonar-scanner-${SONAR_VERSION}-linux/bin/sonar-scanner /usr/bin/sonar-scanner +unzip "$DOWNLOADS_DIR/sonar-scanner.zip" +mv "sonar-scanner-${SONAR_VERSION}-linux" /var/opt/. +ln -s "/var/opt/sonar-scanner-${SONAR_VERSION}-linux/bin/sonar-scanner" /usr/bin/sonar-scanner echo $(sonar-scanner --help) cd .. diff --git a/scripts/common/install_yumpackages.sh b/scripts/common/install_yumpackages.sh index 9c52eb98..c31a8825 100755 --- a/scripts/common/install_yumpackages.sh +++ b/scripts/common/install_yumpackages.sh @@ -121,7 +121,7 @@ if [[ $DTS_VERSION == 6 ]]; then fi yum install -y --setopt=tsflags=nodocs \ - devtoolset-$DTS_VERSION-toolchain + "devtoolset-$DTS_VERSION-toolchain" yum install -y epel-release diff --git a/scripts/tests/1/test_common.sh b/scripts/tests/1/test_common.sh index c17b57bb..43b063ec 100755 --- a/scripts/tests/1/test_common.sh +++ b/scripts/tests/1/test_common.sh @@ -4,33 +4,32 @@ set -ex -clang_v=`clang --version` +clang_v=$(clang --version) if [[ $clang_v != clang\ version\ 7.0* ]] then exit 1 fi -clang_tidy_v=`clang-tidy --version` +clang_tidy_v=$(clang-tidy --version) if [[ $clang_tidy_v != *LLVM\ version\ 7.0* ]] then exit 1 fi -gcc_v=`gcc --version` +gcc_v=$(gcc --version) if [[ $gcc_v != gcc\ \(GCC\)\ 6.3* ]] then exit 1 fi -ninja_v=`ninja --version` +ninja_v=$(ninja --version) if [[ $ninja_v != 1.* ]] then exit 1 fi -git_v=`git --version` +git_v=$(git --version) if [[ $git_v != 2.* ]] then exit 1 fi - diff --git a/scripts/tests/2/test_common.sh b/scripts/tests/2/test_common.sh index 31a1a72e..56a00145 100755 --- a/scripts/tests/2/test_common.sh +++ b/scripts/tests/2/test_common.sh @@ -4,33 +4,32 @@ set -ex -clang_v=`clang --version` +clang_v=$(clang --version) if [[ $clang_v != clang\ version\ 10.0* ]] then exit 1 fi -clang_tidy_v=`clang-tidy --version` +clang_tidy_v=$(clang-tidy --version) if [[ $clang_tidy_v != *LLVM\ version\ 10.0* ]] then exit 1 fi -gcc_v=`gcc --version` +gcc_v=$(gcc --version) if [[ $gcc_v != gcc\ \(GCC\)\ 9.3* ]] then exit 1 fi -ninja_v=`ninja --version` +ninja_v=$(ninja --version) if [[ $ninja_v != 1.* ]] then exit 1 fi -git_v=`git --version` +git_v=$(git --version) if [[ $git_v != 2.* ]] then exit 1 fi - diff --git a/scripts/tests/2018/test_base.sh b/scripts/tests/2018/test_base.sh index a0a133a9..05786064 100755 --- a/scripts/tests/2018/test_base.sh +++ b/scripts/tests/2018/test_base.sh @@ -4,7 +4,7 @@ set -ex -pypath=`which python` +pypath=$(which python) if [[ $pypath != /usr/local/bin/python ]] then echo "Wrong python location: $pypath" diff --git a/scripts/tests/2019/test_base.sh b/scripts/tests/2019/test_base.sh index a0a133a9..05786064 100755 --- a/scripts/tests/2019/test_base.sh +++ b/scripts/tests/2019/test_base.sh @@ -4,7 +4,7 @@ set -ex -pypath=`which python` +pypath=$(which python) if [[ $pypath != /usr/local/bin/python ]] then echo "Wrong python location: $pypath" diff --git a/scripts/tests/2020/test_base.sh b/scripts/tests/2020/test_base.sh index a7b3f83f..7c922ff0 100755 --- a/scripts/tests/2020/test_base.sh +++ b/scripts/tests/2020/test_base.sh @@ -4,14 +4,14 @@ set -ex -pypath=`which python` +pypath=$(which python) if [[ $pypath != /usr/local/bin/python ]] then echo "Wrong python location: $pypath" exit 1 fi -pyversion=`python --version` +pyversion=$(python --version) if [[ $pyversion != Python\ 3.7* ]] then echo "Wrong python version: $pyversion" diff --git a/scripts/vfx/build_alembic.sh b/scripts/vfx/build_alembic.sh index c6377c80..2757d0bd 100755 --- a/scripts/vfx/build_alembic.sh +++ b/scripts/vfx/build_alembic.sh @@ -7,14 +7,14 @@ set -ex mkdir alembic cd alembic -if [ ! -f $DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz ]; then - curl --location https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${HDF5_VERSION}/src/hdf5-${HDF5_VERSION}.tar.gz -o $DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz" ]; then + curl --location "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${HDF5_VERSION}/src/hdf5-${HDF5_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz" fi -tar -zxf $DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz -cd hdf5-${HDF5_VERSION} +tar -zxf "$DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz" +cd "hdf5-${HDF5_VERSION}" ./configure \ - --prefix=${ASWF_INSTALL_PREFIX} \ + --prefix="${ASWF_INSTALL_PREFIX}" \ --enable-threadsafe \ --disable-hl \ --with-pthread=/usr/include @@ -23,11 +23,11 @@ make install cd .. -if [ ! -f $DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz ]; then - curl --location https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz -o $DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz" ]; then + curl --location "https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz" fi -tar -zxf $DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz -cd alembic-${ALEMBIC_VERSION} +tar -zxf "$DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz" +cd "alembic-${ALEMBIC_VERSION}" # Boost Python3 not found by cmake for PyAlembic as of Alembic 1.7.12 if [[ $PYTHON_VERSION == 2.7* ]]; then @@ -37,13 +37,13 @@ else fi cmake \ - -D CMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} \ - -D CMAKE_PREFIX_PATH=${ASWF_INSTALL_PREFIX} \ - -D BOOST_ROOT=${ASWF_INSTALL_PREFIX} \ - -D ILMBASE_ROOT=${ASWF_INSTALL_PREFIX} \ + -D CMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ + -D CMAKE_PREFIX_PATH="${ASWF_INSTALL_PREFIX}" \ + -D BOOST_ROOT="${ASWF_INSTALL_PREFIX}" \ + -D ILMBASE_ROOT="${ASWF_INSTALL_PREFIX}" \ -D Python_ADDITIONAL_VERSIONS=3 \ -D USE_PYILMBASE=TRUE \ - -D USE_PYALEMBIC=${USE_PYALEMBIC} \ + -D USE_PYALEMBIC="${USE_PYALEMBIC}" \ -D USE_ARNOLD=FALSE \ -D USE_PRMAN=FALSE \ -D USE_MAYA=FALSE \ diff --git a/scripts/vfx/build_blosc.sh b/scripts/vfx/build_blosc.sh index e95d13b7..567f0192 100755 --- a/scripts/vfx/build_blosc.sh +++ b/scripts/vfx/build_blosc.sh @@ -8,12 +8,12 @@ git clone https://github.com/Blosc/c-blosc.git cd c-blosc if [ "$BLOSC_VERSION" != "latest" ]; then - git checkout tags/v${BLOSC_VERSION} -b v${BLOSC_VERSION} + git checkout "tags/v${BLOSC_VERSION}" -b "v${BLOSC_VERSION}" fi mkdir build cd build -cmake .. -DCMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} +cmake .. -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" make -j$(nproc) make install diff --git a/scripts/vfx/build_ocio.sh b/scripts/vfx/build_ocio.sh index 47b66bb6..8f9f2e45 100755 --- a/scripts/vfx/build_ocio.sh +++ b/scripts/vfx/build_ocio.sh @@ -8,11 +8,11 @@ mkdir ocio cd ocio -if [ ! -f $DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz ]; then - curl --location https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${OCIO_VERSION}.tar.gz -o $DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz" ]; then + curl --location "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${OCIO_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz" fi -tar -zxf $DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz -cd OpenColorIO-${OCIO_VERSION} +tar -zxf "$DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz" +cd "OpenColorIO-${OCIO_VERSION}" if [[ $DTS_VERSION == 9 && $OCIO_VERSION == 1.* ]]; then # Disable warning treated as errors @@ -23,7 +23,7 @@ fi mkdir build cd build cmake \ - -DCMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} \ + -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ -DOCIO_BUILD_STATIC=OFF \ -DOCIO_BUILD_TRUELIGHT=OFF \ -DOCIO_BUILD_APPS=OFF \ @@ -35,13 +35,13 @@ make install cd ../.. -curl --location https://github.com/imageworks/OpenColorIO-Configs/archive/v${OCIO_CONFIGS_VERSION}.tar.gz -o ocio-configs.tar.gz +curl --location "https://github.com/imageworks/OpenColorIO-Configs/archive/v${OCIO_CONFIGS_VERSION}.tar.gz" -o "ocio-configs.tar.gz" tar -zxf ocio-configs.tar.gz -cd OpenColorIO-Configs-${OCIO_CONFIGS_VERSION} +cd "OpenColorIO-Configs-${OCIO_CONFIGS_VERSION}" -mkdir ${ASWF_INSTALL_PREFIX}/openColorIO -cp nuke-default/config.ocio ${ASWF_INSTALL_PREFIX}/openColorIO/ -cp -r nuke-default/luts ${ASWF_INSTALL_PREFIX}/openColorIO/ +mkdir "${ASWF_INSTALL_PREFIX}/openColorIO" +cp nuke-default/config.ocio "${ASWF_INSTALL_PREFIX}/openColorIO/" +cp -r nuke-default/luts "${ASWF_INSTALL_PREFIX}/openColorIO/" cd ../.. rm -rf ocio diff --git a/scripts/vfx/build_oiio.sh b/scripts/vfx/build_oiio.sh index 06083c2f..fd75b97c 100755 --- a/scripts/vfx/build_oiio.sh +++ b/scripts/vfx/build_oiio.sh @@ -8,16 +8,16 @@ git clone https://github.com/OpenImageIO/oiio.git cd oiio if [ "$OIIO_VERSION" != "latest" ]; then - git checkout tags/Release-${OIIO_VERSION} -b Release-${OIIO_VERSION} + git checkout "tags/Release-${OIIO_VERSION}" -b "Release-${OIIO_VERSION}" fi mkdir build cd build -cmake -DCMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} \ +cmake -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ -DOIIO_BUILD_TOOLS=ON \ -DOIIO_BUILD_TESTS=OFF \ -DVERBOSE=ON \ - -DPYTHON_VERSION=${PYTHON_VERSION} \ + -DPYTHON_VERSION="${PYTHON_VERSION}" \ -DBoost_NO_BOOST_CMAKE=ON \ ../. make -j$(nproc) diff --git a/scripts/vfx/build_openexr.sh b/scripts/vfx/build_openexr.sh index 656defac..9d643ac3 100755 --- a/scripts/vfx/build_openexr.sh +++ b/scripts/vfx/build_openexr.sh @@ -4,30 +4,30 @@ set -ex -if [ ! -f $DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz ]; then - curl --location https://github.com/AcademySoftwareFoundation/openexr/archive/v${OPENEXR_VERSION}.tar.gz -o $DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz" ]; then + curl --location "https://github.com/AcademySoftwareFoundation/openexr/archive/v${OPENEXR_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz" fi -tar xf $DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz -cd openexr-${OPENEXR_VERSION} +tar xf "$DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz" +cd "openexr-${OPENEXR_VERSION}" if [[ $OPENEXR_VERSION == 2.2* ]]; then cd IlmBase ./bootstrap - ./configure --prefix=${ASWF_INSTALL_PREFIX} + ./configure --prefix="${ASWF_INSTALL_PREFIX}" make -j$(nproc) make install cd ../OpenEXR ./bootstrap - ./configure --prefix=${ASWF_INSTALL_PREFIX} + ./configure --prefix="${ASWF_INSTALL_PREFIX}" make -j$(nproc) make install cd ../PyIlmBase ./bootstrap - ./configure --prefix=${ASWF_INSTALL_PREFIX} + ./configure --prefix="${ASWF_INSTALL_PREFIX}" make make install else @@ -46,12 +46,12 @@ else mkdir build cd build cmake \ - -DCMAKE_INSTALL_PREFIX=${ASWF_INSTALL_PREFIX} \ - -DOPENEXR_BUILD_PYTHON_LIBS=${BUILD_PYILMBASE} \ + -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ + -DOPENEXR_BUILD_PYTHON_LIBS="${BUILD_PYILMBASE}" \ .. make -j$(nproc) make install fi cd ../.. -rm -rf openexr-${OPENEXR_VERSION} +rm -rf "openexr-${OPENEXR_VERSION}" diff --git a/scripts/vfx/build_opensubdiv.sh b/scripts/vfx/build_opensubdiv.sh index b990495d..6b038a36 100755 --- a/scripts/vfx/build_opensubdiv.sh +++ b/scripts/vfx/build_opensubdiv.sh @@ -7,12 +7,12 @@ set -ex mkdir opensubdiv cd opensubdiv -if [ ! -f $DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz ]; then - curl --location https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${OPENSUBDIV_VERSION}.tar.gz -o $DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz +if [ ! -f "$DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz" ]; then + curl --location "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${OPENSUBDIV_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz" fi -tar -zxf $DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz -cd OpenSubdiv-${OPENSUBDIV_VERSION} +tar -zxf "$DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz" +cd "OpenSubdiv-${OPENSUBDIV_VERSION}" # Apply cmake patch https://github.com/PixarAnimationStudios/OpenSubdiv/pull/952 cat <= 6) #include #pragma weak __cxa_throw_bad_array_new_length @@ -27,7 +27,7 @@ extern "C" void __cxa_throw_bad_array_new_length() { abort(); } -#endif' >> pxr/${VT_SRC_FOLDER}/devtoolset6Workaround.cpp +#endif' >> "pxr/${VT_SRC_FOLDER}/devtoolset6Workaround.cpp" patch -p1 < Date: Mon, 21 Sep 2020 01:32:27 +0200 Subject: [PATCH 009/132] Whitespace Signed-off-by: Simran Spiller --- .github/workflows/python-sonar.yml | 8 ++--- CONTRIBUTING.md | 6 ++-- README.md | 2 +- ci-common/Dockerfile | 1 - packages/Dockerfile | 46 +++++++++++++-------------- scripts/base/build_pyside.sh | 2 +- scripts/common/install_yumpackages.sh | 2 +- scripts/tests/2018/test_openvdb.sh | 2 +- scripts/tests/2019/test_openvdb.sh | 2 +- 9 files changed, 35 insertions(+), 36 deletions(-) diff --git a/.github/workflows/python-sonar.yml b/.github/workflows/python-sonar.yml index a0c7b38d..580d46f1 100644 --- a/.github/workflows/python-sonar.yml +++ b/.github/workflows/python-sonar.yml @@ -19,18 +19,18 @@ jobs: - name: Install pipenv run: pip3 install pipenv - + - name: Install aswfdocker and dev dependencies with pipenv run: pipenv install --dev - + # python unittests with junit XML report and coverage XML Cobertura report for publishing task - name: Run pytest run: pipenv run pytest python/aswfdocker --doctest-modules --junitxml=test-pytest-results.xml --cov=. --cov-report=xml - + # mypy static type checks with junit XML report - name: Run mypy run: pipenv run mypy python/aswfdocker --junit-xml=test-mypy-results.xml - + # prospector linter checks with xunit XML report - name: Run prospector linter run: pipenv run prospector -F python/aswfdocker --output-format xunit > test-prospector-results.xml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7c29337d..58b40c1c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -94,7 +94,7 @@ Documentation](https://git-scm.com/doc). ### Docker Basics -You will also need to understand how Docker images are built and how +You will also need to understand how Docker images are built and how to test them. The `aswfdocker` Python utility wraps many of the complexities of the Docker build process and must be installed locally before starting. Please read the Python [README.md](python/README.md) file for further instructions. @@ -156,7 +156,7 @@ aswf-docker-dev@lists.aswf.io mail list. Contributions should be submitted as Github pull requests. See [Creating a pull request](https://help.github.com/articles/creating-a-pull-request/) -if you're unfamiliar with this concept. +if you're unfamiliar with this concept. The development cycle for a code change should follow this protocol: @@ -248,7 +248,7 @@ tests can be run manually by running `pre-commit run --all-files`. #### Formatting -[Black](https://black.readthedocs.io/en/stable/) is the automatic formatter of choice +[Black](https://black.readthedocs.io/en/stable/) is the automatic formatter of choice for aswf-docker and is required to be run before any commit. #### Naming Conventions diff --git a/README.md b/README.md index 482f7a98..4f904409 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ aswfdocker build -n aswftesting/ci-package-usd:2019 ``` ### Images -Images can be build with recent Docker versions but do not require [buildx](https://docs.docker.com/buildx/working-with-buildx/) +Images can be build with recent Docker versions but do not require [buildx](https://docs.docker.com/buildx/working-with-buildx/) but it is recommended to speed up large builds. To build all images (very unlikely to succeed unless run on a very very powerful machine!): diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index a7da28cc..b9a5e672 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -15,7 +15,6 @@ ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION - LABEL maintainer="aloys.baillet@gmail.com" LABEL org.opencontainers.image.name="$ASWF_ORG/base-ci" diff --git a/packages/Dockerfile b/packages/Dockerfile index 95a8e0d3..0c7f5e68 100644 --- a/packages/Dockerfile +++ b/packages/Dockerfile @@ -69,7 +69,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-clang #################### -# This build target is used to generate a packages of clang that +# This build target is used to generate a packages of clang that # can be placed in a downloadable artifact FROM scratch as ci-package-clang @@ -96,7 +96,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ninja #################### -# This build target is used to generate a packages of ninja that +# This build target is used to generate a packages of ninja that # can be placed in a downloadable artifact FROM scratch as ci-package-ninja @@ -140,7 +140,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-boost #################### -# This build target is used to generate a packages of boost that +# This build target is used to generate a packages of boost that # can be placed in a downloadable artifact FROM scratch as ci-package-python @@ -167,7 +167,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-boost #################### -# This build target is used to generate a packages of boost that +# This build target is used to generate a packages of boost that # can be placed in a downloadable artifact FROM scratch as ci-package-boost @@ -191,7 +191,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-tbb #################### -# This build target is used to generate a packages of tbb that +# This build target is used to generate a packages of tbb that # can be placed in a downloadable artifact FROM scratch as ci-package-tbb @@ -215,7 +215,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-cppunit #################### -# This build target is used to generate a packages of cppunit that +# This build target is used to generate a packages of cppunit that # can be placed in a downloadable artifact FROM scratch as ci-package-cppunit @@ -239,7 +239,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-log4cplus #################### -# This build target is used to generate a packages of log4cplus that +# This build target is used to generate a packages of log4cplus that # can be placed in a downloadable artifact FROM scratch as ci-package-log4cplus @@ -263,7 +263,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-glew #################### -# This build target is used to generate a packages of glew that +# This build target is used to generate a packages of glew that # can be placed in a downloadable artifact FROM scratch as ci-package-glew @@ -288,7 +288,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-glfw #################### -# This build target is used to generate a packages of glfw that +# This build target is used to generate a packages of glfw that # can be placed in a downloadable artifact FROM scratch as ci-package-glfw @@ -312,7 +312,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-qt #################### -# This build target is used to generate a packages of qt that +# This build target is used to generate a packages of qt that # can be placed in a downloadable artifact FROM scratch as ci-package-qt @@ -341,7 +341,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-pyside #################### -# This build target is used to generate a packages of pyside that +# This build target is used to generate a packages of pyside that # can be placed in a downloadable artifact FROM scratch as ci-package-pyside @@ -370,7 +370,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-openexr #################### -# This build target is used to generate a packages of openexr that +# This build target is used to generate a packages of openexr that # can be placed in a downloadable artifact FROM scratch as ci-package-openexr @@ -395,7 +395,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-blosc #################### -# This build target is used to generate a packages of blosc that +# This build target is used to generate a packages of blosc that # can be placed in a downloadable artifact FROM scratch as ci-package-blosc @@ -420,7 +420,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-partio #################### -# This build target is used to generate a packages of partio that +# This build target is used to generate a packages of partio that # can be placed in a downloadable artifact FROM scratch as ci-package-partio @@ -444,7 +444,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-oiio #################### -# This build target is used to generate a packages of oiio that +# This build target is used to generate a packages of oiio that # can be placed in a downloadable artifact FROM scratch as ci-package-oiio @@ -468,7 +468,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ocio #################### -# This build target is used to generate a packages of ocio that +# This build target is used to generate a packages of ocio that # can be placed in a downloadable artifact FROM scratch as ci-package-ocio @@ -496,7 +496,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-osl #################### -# This build target is used to generate a packages of osl that +# This build target is used to generate a packages of osl that # can be placed in a downloadable artifact FROM scratch as ci-package-osl @@ -520,7 +520,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-alembic #################### -# This build target is used to generate a packages of alembic that +# This build target is used to generate a packages of alembic that # can be placed in a downloadable artifact FROM scratch as ci-package-alembic @@ -545,7 +545,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ptex #################### -# This build target is used to generate a packages of ptex that +# This build target is used to generate a packages of ptex that # can be placed in a downloadable artifact FROM scratch as ci-package-ptex @@ -575,7 +575,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-opensubdiv #################### -# This build target is used to generate a packages of opensubdiv that +# This build target is used to generate a packages of opensubdiv that # can be placed in a downloadable artifact FROM scratch as ci-package-opensubdiv @@ -607,7 +607,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-openvdb #################### -# This build target is used to generate a packages of openvdb that +# This build target is used to generate a packages of openvdb that # can be placed in a downloadable artifact FROM scratch as ci-package-openvdb @@ -641,7 +641,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-usd #################### -# This build target is used to generate a packages of usd that +# This build target is used to generate a packages of usd that # can be placed in a downloadable artifact FROM scratch as ci-package-usd @@ -671,7 +671,7 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-otio #################### -# This build target is used to generate a package of otio that +# This build target is used to generate a package of otio that # can be placed in a downloadable artifact FROM scratch as ci-package-otio diff --git a/scripts/base/build_pyside.sh b/scripts/base/build_pyside.sh index 40713002..9554ab87 100755 --- a/scripts/base/build_pyside.sh +++ b/scripts/base/build_pyside.sh @@ -37,7 +37,7 @@ else export LLVM_INSTALL_DIR=${ASWF_INSTALL_PREFIX} export CLANG_INSTALL_DIR=${ASWF_INSTALL_PREFIX} - + cd pyside if [[ $PYSIDE_VERSION == 5.12.6 ]]; then diff --git a/scripts/common/install_yumpackages.sh b/scripts/common/install_yumpackages.sh index c31a8825..2abd69b0 100755 --- a/scripts/common/install_yumpackages.sh +++ b/scripts/common/install_yumpackages.sh @@ -106,7 +106,7 @@ yum install --setopt=tsflags=nodocs -y \ xorg-x11-xkb-utils xorg-x11-xkb-utils-devel \ xorg-x11-server-Xvfb \ xz-devel \ - zlib-devel + zlib-devel # This is needed for Xvfb to function properly. dbus-uuidgen > /etc/machine-id diff --git a/scripts/tests/2018/test_openvdb.sh b/scripts/tests/2018/test_openvdb.sh index 1d1f3d43..ac5f864c 100755 --- a/scripts/tests/2018/test_openvdb.sh +++ b/scripts/tests/2018/test_openvdb.sh @@ -4,7 +4,7 @@ set -ex -git clone https://github.com/AcademySoftwareFoundation/openvdb +git clone https://github.com/AcademySoftwareFoundation/openvdb cd openvdb git checkout b5af82007f869a29f6fa1af729f14763e99f85be # Known working at that commit... diff --git a/scripts/tests/2019/test_openvdb.sh b/scripts/tests/2019/test_openvdb.sh index 1d1f3d43..ac5f864c 100755 --- a/scripts/tests/2019/test_openvdb.sh +++ b/scripts/tests/2019/test_openvdb.sh @@ -4,7 +4,7 @@ set -ex -git clone https://github.com/AcademySoftwareFoundation/openvdb +git clone https://github.com/AcademySoftwareFoundation/openvdb cd openvdb git checkout b5af82007f869a29f6fa1af729f14763e99f85be # Known working at that commit... From 70736e60ed2ebdba8bbc2f0bc6f1af312a09e3ec Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Mon, 21 Sep 2020 01:32:27 +0200 Subject: [PATCH 010/132] Fuse an ENV into another Signed-off-by: Simran Spiller --- ci-common/Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index b9a5e672..f1258aa8 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -39,6 +39,7 @@ WORKDIR /opt/aswf ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ CI_COMMON_VERSION=${CI_COMMON_VERSION} \ + ASWF_ORG=${ASWF_ORG} \ DTS_VERSION=${DTS_VERSION} \ PERL5LIB=/opt/rh/rh-git218/root/usr/share/perl5/vendor_perl \ MANPATH=/opt/rh/rh-git218/root/usr/share/man @@ -50,9 +51,6 @@ COPY scripts/common/install_sonar.sh \ COPY --from=ci-package-clang /. /usr/local/ COPY --from=ci-package-ninja /. /usr/local/ -ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} \ - ASWF_ORG=${ASWF_ORG} - RUN export DOWNLOADS_DIR=/tmp/downloads && \ mkdir /tmp/downloads && \ source /tmp/versions_common.sh && \ From 657f81bf163d3f58a084dd1a4f0792c725eaa7dc Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Tue, 22 Sep 2020 00:12:12 +0200 Subject: [PATCH 011/132] Remove useless echo Signed-off-by: Simran Spiller --- scripts/common/install_sonar.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/common/install_sonar.sh b/scripts/common/install_sonar.sh index 40986dd3..202f3437 100755 --- a/scripts/common/install_sonar.sh +++ b/scripts/common/install_sonar.sh @@ -13,7 +13,7 @@ fi unzip "$DOWNLOADS_DIR/sonar-bw.zip" mv build-wrapper-linux-x86 /var/opt/. ln -s /var/opt/build-wrapper-linux-x86/build-wrapper-linux-x86-64 /usr/bin/build-wrapper-linux-x86-64 -echo $(build-wrapper-linux-x86-64 --help) +build-wrapper-linux-x86-64 --help if [ ! -f "$DOWNLOADS_DIR/sonar-scanner.zip" ]; then curl --location "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_VERSION}-linux.zip" -o "$DOWNLOADS_DIR/sonar-scanner.zip" @@ -21,7 +21,7 @@ fi unzip "$DOWNLOADS_DIR/sonar-scanner.zip" mv "sonar-scanner-${SONAR_VERSION}-linux" /var/opt/. ln -s "/var/opt/sonar-scanner-${SONAR_VERSION}-linux/bin/sonar-scanner" /usr/bin/sonar-scanner -echo $(sonar-scanner --help) +sonar-scanner --help cd .. rm -rf sonar From ed8a8ad9186f7fd02bef8e5c74e56e8b782a3259 Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Wed, 23 Sep 2020 15:03:20 +0200 Subject: [PATCH 012/132] Revert accidental removal of export Signed-off-by: Simran Spiller --- scripts/common/install_ccache.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/common/install_ccache.sh b/scripts/common/install_ccache.sh index b8a103c2..12616cfb 100755 --- a/scripts/common/install_ccache.sh +++ b/scripts/common/install_ccache.sh @@ -29,7 +29,7 @@ ln -s /usr/local/bin/ccache /usr/local/bin/_ccache/clang # Create activate_ccache.sh script cat < /usr/local/bin/activate_ccache.sh #!/usr/bin/env bash -PATH=/usr/local/bin/_ccache:$PATH +export PATH=/usr/local/bin/_ccache:$PATH if [ -z "$CCACHE_DIR"] then export CCACHE_DIR=/tmp/ccache From 36de366d9a43e70128ac140732962d43e840dacd Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Fri, 25 Sep 2020 01:41:05 +0200 Subject: [PATCH 013/132] Suppress non-zero exit code of Sonar build-wrapper again Signed-off-by: Simran Spiller --- scripts/common/install_sonar.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/common/install_sonar.sh b/scripts/common/install_sonar.sh index 202f3437..4d4e3b86 100755 --- a/scripts/common/install_sonar.sh +++ b/scripts/common/install_sonar.sh @@ -13,7 +13,8 @@ fi unzip "$DOWNLOADS_DIR/sonar-bw.zip" mv build-wrapper-linux-x86 /var/opt/. ln -s /var/opt/build-wrapper-linux-x86/build-wrapper-linux-x86-64 /usr/bin/build-wrapper-linux-x86-64 -build-wrapper-linux-x86-64 --help +# Returns with non-zero exit code, catch error with $() +echo $(build-wrapper-linux-x86-64 --help) if [ ! -f "$DOWNLOADS_DIR/sonar-scanner.zip" ]; then curl --location "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_VERSION}-linux.zip" -o "$DOWNLOADS_DIR/sonar-scanner.zip" From 957e2a8b61f69a3e0507f7a807578aba99d43b4e Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Fri, 25 Sep 2020 02:15:47 +0200 Subject: [PATCH 014/132] The build-wrapper doesn't have a --help or --version option Signed-off-by: Simran Spiller --- scripts/common/install_sonar.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/common/install_sonar.sh b/scripts/common/install_sonar.sh index 4d4e3b86..3426fffc 100755 --- a/scripts/common/install_sonar.sh +++ b/scripts/common/install_sonar.sh @@ -14,7 +14,7 @@ unzip "$DOWNLOADS_DIR/sonar-bw.zip" mv build-wrapper-linux-x86 /var/opt/. ln -s /var/opt/build-wrapper-linux-x86/build-wrapper-linux-x86-64 /usr/bin/build-wrapper-linux-x86-64 # Returns with non-zero exit code, catch error with $() -echo $(build-wrapper-linux-x86-64 --help) +echo $(build-wrapper-linux-x86-64) if [ ! -f "$DOWNLOADS_DIR/sonar-scanner.zip" ]; then curl --location "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_VERSION}-linux.zip" -o "$DOWNLOADS_DIR/sonar-scanner.zip" From cc63adfae0eb7e468b2f1de799c63d773a35f6f2 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 28 Sep 2020 17:29:34 +1000 Subject: [PATCH 015/132] Fix yum devtoolset install error Signed-off-by: Aloys Baillet --- scripts/common/install_yumpackages.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/common/install_yumpackages.sh b/scripts/common/install_yumpackages.sh index 2abd69b0..441befd3 100755 --- a/scripts/common/install_yumpackages.sh +++ b/scripts/common/install_yumpackages.sh @@ -113,13 +113,16 @@ dbus-uuidgen > /etc/machine-id yum -y groupinstall "Development Tools" -yum install -y --setopt=tsflags=nodocs centos-release-scl-rh yum-utils +yum install -y --setopt=tsflags=nodocs centos-release-scl-rh if [[ $DTS_VERSION == 6 ]]; then # Use the centos vault as the original devtoolset-6 is not part of CentOS-7 anymore sed -i 's/7/7.6.1810/g; s|^#\s*\(baseurl=http://\)mirror|\1vault|g; /mirrorlist/d' /etc/yum.repos.d/CentOS-SCLo-*.repo fi +# Workaround for occasional error: "Not using downloaded centos-sclo-rh/repomd.xml because it is older than what we have" +yum clean all + yum install -y --setopt=tsflags=nodocs \ "devtoolset-$DTS_VERSION-toolchain" From 4ad7fe4851f8985695baae4e75cb976177041a81 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 28 Sep 2020 20:11:15 +1000 Subject: [PATCH 016/132] Added new clang variants for ci-common, ci-osl and ci-openvdb Signed-off-by: Aloys Baillet --- ci-common/Dockerfile | 15 +-- ci-openvdb/Dockerfile | 3 +- ci-osl/Dockerfile | 3 +- packages/Dockerfile | 6 +- python/aswfdocker/builder.py | 8 +- python/aswfdocker/constants.py | 49 +-------- python/aswfdocker/index.py | 21 +++- python/aswfdocker/migrater.py | 2 +- python/aswfdocker/tests/test_builder.py | 50 +++++++++- python/aswfdocker/tests/test_index.py | 8 +- python/aswfdocker/tests/test_utils.py | 4 + python/aswfdocker/versioninfo.py | 30 +++--- scripts/1/versions_common.sh | 10 ++ scripts/2/versions_common.sh | 6 +- versions.yaml | 126 +++++++++++++++++++++++- 15 files changed, 257 insertions(+), 84 deletions(-) diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index f1258aa8..4144ea3f 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -5,8 +5,9 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG DTS_VERSION=6 +ARG CLANG_MAJOR_VERSION=7 -FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION} as ci-package-clang +FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-package-clang FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION} as ci-package-ninja FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-common @@ -14,6 +15,8 @@ FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-common ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION +ARG CLANG_MAJOR_VERSION + LABEL maintainer="aloys.baillet@gmail.com" @@ -30,8 +33,8 @@ COPY scripts/${CI_COMMON_VERSION}/versions_common.sh \ scripts/common/install_yumpackages.sh \ /tmp/ -RUN source /tmp/versions_common.sh && \ - /tmp/install_yumpackages.sh +ENV DTS_VERSION=${DTS_VERSION} +RUN /tmp/install_yumpackages.sh RUN mkdir /opt/aswf WORKDIR /opt/aswf @@ -39,10 +42,10 @@ WORKDIR /opt/aswf ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ CI_COMMON_VERSION=${CI_COMMON_VERSION} \ - ASWF_ORG=${ASWF_ORG} \ - DTS_VERSION=${DTS_VERSION} \ + CLANG_MAJOR_VERSION=${CLANG_MAJOR_VERSION} \ PERL5LIB=/opt/rh/rh-git218/root/usr/share/perl5/vendor_perl \ - MANPATH=/opt/rh/rh-git218/root/usr/share/man + MANPATH=/opt/rh/rh-git218/root/usr/share/man \ + ASWF_ORG=${ASWF_ORG} COPY scripts/common/install_sonar.sh \ scripts/common/install_ccache.sh \ diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 4327c6d5..dd257c15 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -4,6 +4,7 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb @@ -14,7 +15,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION} as ci-package-blosc -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-openvdb +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openvdb ARG ASWF_ORG ARG VFXPLATFORM_VERSION diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 0c08f76a..9c663fe1 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -4,6 +4,7 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost @@ -13,7 +14,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-ope FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION} as ci-package-partio -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-osl +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-osl ARG ASWF_ORG ARG VFXPLATFORM_VERSION diff --git a/packages/Dockerfile b/packages/Dockerfile index 0c7f5e68..edf56183 100644 --- a/packages/Dockerfile +++ b/packages/Dockerfile @@ -9,9 +9,10 @@ ARG PYTHON_VERSION=2.7 ARG CUDA_VERSION=10.2 ARG DTS_VERSION=6 ARG ASWF_ORG=aswftesting +ARG CLANG_MAJOR_VERSION=7 # Required base packages built in previous passes to speed things up -FROM ${ASWF_ORG}/ci-package-clang:${CI_COMMON_VERSION} as ci-package-clang-external +FROM ${ASWF_ORG}/ci-package-clang:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-package-clang-external FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python-external FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost-external FROM ${ASWF_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt-external @@ -32,10 +33,10 @@ COPY ../scripts/common/install_yumpackages.sh \ /tmp/ RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ - source /tmp/versions_common.sh && \ /tmp/install_yumpackages.sh ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} \ + CLANG_MAJOR_VERSION=${CLANG_MAJOR_VERSION} \ DOWNLOADS_DIR=/tmp/downloads \ CCACHE_DIR=/tmp/ccache \ ASWF_INSTALL_PREFIX=/usr/local \ @@ -52,6 +53,7 @@ RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ FROM ci-centos7-gl-packages as ci-clang-builder ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION COPY ../scripts/${CI_COMMON_VERSION}/versions_common.sh \ ../scripts/common/build_clang.sh \ diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index 8882b51f..ceedef4c 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -10,7 +10,7 @@ import tempfile import typing -from aswfdocker import constants, aswfinfo, utils, groupinfo +from aswfdocker import constants, aswfinfo, utils, groupinfo, index logger = logging.getLogger(__name__) @@ -28,6 +28,7 @@ def __init__( self.push = push self.build_info = build_info self.group_info = group_info + self.index = index.Index() def make_bake_dict(self) -> typing.Dict[str, dict]: root: typing.Dict[str, dict] = {} @@ -39,7 +40,7 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: docker_file = f"{image}/Dockerfile" major_version = utils.get_major_version(version) - version_info = constants.VERSION_INFO[major_version] + version_info = self.index.version_info(major_version) tags = version_info.get_tags(version, self.build_info.docker_org, image) target_dict = { "context": ".", @@ -50,8 +51,9 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: "ASWF_VERSION": version, "CI_COMMON_VERSION": version_info.ci_common_version, "PYTHON_VERSION": version_info.python_version, - "VFXPLATFORM_VERSION": major_version, + "VFXPLATFORM_VERSION": version_info.major_version, "DTS_VERSION": version_info.dts_version, + "CLANG_MAJOR_VERSION": version_info.clang_major_version, }, "labels": { "org.opencontainers.image.created": self.build_info.build_date, diff --git a/python/aswfdocker/constants.py b/python/aswfdocker/constants.py index ef8e7c45..6ebca3f7 100644 --- a/python/aswfdocker/constants.py +++ b/python/aswfdocker/constants.py @@ -5,8 +5,6 @@ """ import enum -from aswfdocker import versioninfo - class ImageType(enum.Enum): CI_IMAGE = "ci-image" @@ -40,51 +38,6 @@ class ImageType(enum.Enum): }, } -VERSION_INFO = { - "1": versioninfo.VersionInfo( - major_version="1", - label="latest", - ci_common_version="1", - python_version="2.7", - dts_version="6", - ), - "2": versioninfo.VersionInfo( - major_version="2", - label="preview", - ci_common_version="2", - python_version="3.7", - dts_version="9", - ), - "2018": versioninfo.VersionInfo( - major_version="2018", - label=None, - ci_common_version="1", - python_version="2.7", - dts_version="6", - ), - "2019": versioninfo.VersionInfo( - major_version="2019", - label="latest", - ci_common_version="1", - python_version="2.7", - dts_version="6", - ), - "2020": versioninfo.VersionInfo( - major_version="2020", - label="preview", - ci_common_version="1", - python_version="3.7", - dts_version="6", - ), - "2021": versioninfo.VersionInfo( - major_version="2021", - label="alpha", - ci_common_version="2", - python_version="3.7", - dts_version="9", - ), -} - PUBLISH_DOCKER_ORG = "aswf" TESTING_DOCKER_ORG = "aswftesting" # this org is not valid, but this ensures that the test will not accidently pull an existing image @@ -101,4 +54,4 @@ class ImageType(enum.Enum): f"https://github.com/{MAIN_GITHUB_ASWF_ORG}/{MAIN_GITHUB_REPO_NAME}" ) -IMAGE_NAME_REGEX = r"(refs/tags/)?(?P[a-z]+)/(?Pci-)?(?Prt-)?(?Ppackage\-)?(?P[a-z0-9\-]+)[:/](?P[0-9\.]+)" +IMAGE_NAME_REGEX = r"(refs/tags/)?(?P[a-z]+)/(?Pci-)?(?Prt-)?(?Ppackage\-)?(?P[a-z0-9\-]+)[:/](?P[0-9\.a-z\-]+)" diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index d3cbe0da..f145314c 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -7,7 +7,7 @@ import yaml -from aswfdocker import constants, utils +from aswfdocker import constants, utils, versioninfo class Index: @@ -41,3 +41,22 @@ def iter_versions(self, image_type: constants.ImageType, name: str): """ for version in self._versions[self._get_key(image_type)][name]: yield version + + def iter_version_info(self): + for v in self._versions["versions"]: + yield versioninfo.VersionInfo( + version=v.get("version"), + major_version=v.get("major_version"), + tags=v.get("tags", []), + ci_common_version=v.get("ci_common_version"), + python_version=v.get("python_version"), + dts_version=v.get("dts_version"), + clang_major_version=v.get("clang_major_version"), + use_major_version_as_tag=v.get("use_major_version_as_tag", True), + ) + + def version_info(self, version): + for vi in self.iter_version_info(): + if version == vi.version: + return vi + raise ValueError("VersionInfo not found for version {}".format(version)) diff --git a/python/aswfdocker/migrater.py b/python/aswfdocker/migrater.py index d02666c2..001ff165 100644 --- a/python/aswfdocker/migrater.py +++ b/python/aswfdocker/migrater.py @@ -57,7 +57,7 @@ def migrate(self, dry_run: bool): self.cmds.append(f"docker push {minfo.destination}") major_version = utils.get_major_version(minfo.version) - version_info = constants.VERSION_INFO[major_version] + version_info = self.index.version_info(major_version) tags = version_info.get_tags(minfo.version, self.to_org, minfo.image) if len(tags) > 1: for tag in tags: diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index c9301c9c..02bfb362 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -47,6 +47,7 @@ def test_package_baseqt_2019_dict(self): "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": qt_version, "CI_COMMON_VERSION": "1", + "CLANG_MAJOR_VERSION": "7", "DTS_VERSION": "6", "PYTHON_VERSION": "2.7", "VFXPLATFORM_VERSION": "2019", @@ -93,6 +94,7 @@ def test_image_base_2019_dict(self): "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": base_version, "CI_COMMON_VERSION": "1", + "CLANG_MAJOR_VERSION": "7", "DTS_VERSION": "6", "PYTHON_VERSION": "2.7", "VFXPLATFORM_VERSION": "2019", @@ -112,6 +114,51 @@ def test_image_base_2019_dict(self): }, ) + def test_image_base_2019clang_dict(self): + b = builder.Builder( + self.build_info, + groupinfo.GroupInfo( + names=["vfx1"], + versions=["2019-clang9"], + type_=constants.ImageType.IMAGE, + targets=["openvdb"], + ), + ) + openvdb_version = list( + index.Index().iter_versions(constants.ImageType.IMAGE, "openvdb") + )[5] + self.assertEqual( + b.make_bake_dict(), + { + "group": {"default": {"targets": ["ci-openvdb-2019-clang9"]}}, + "target": { + "ci-openvdb-2019-clang9": { + "context": ".", + "dockerfile": "ci-openvdb/Dockerfile", + "args": { + "ASWF_ORG": "aswflocaltesting", + "ASWF_PKG_ORG": "aswftesting", + "ASWF_VERSION": openvdb_version, + "CI_COMMON_VERSION": "1", + "CLANG_MAJOR_VERSION": "9", + "DTS_VERSION": "6", + "PYTHON_VERSION": "2.7", + "VFXPLATFORM_VERSION": "2019", + }, + "labels": { + "org.opencontainers.image.created": constants.DEV_BUILD_DATE, + "org.opencontainers.image.revision": constants.DEV_BUILD_DATE, + }, + "tags": [ + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-openvdb:2019-clang9", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-openvdb:{openvdb_version}", + ], + "output": ["type=docker"], + } + }, + }, + ) + def test_image_base_2019_2020_dict(self): b = builder.Builder( self.build_info, @@ -138,6 +185,7 @@ def test_image_base_2019_2020_dict(self): "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": base_versions[2], "CI_COMMON_VERSION": "1", + "CLANG_MAJOR_VERSION": "7", "DTS_VERSION": "6", "PYTHON_VERSION": "3.7", "VFXPLATFORM_VERSION": "2020", @@ -149,7 +197,6 @@ def test_image_base_2019_2020_dict(self): "tags": [ f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:2020", f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:{base_versions[2]}", - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:preview", ], "output": ["type=docker"], }, @@ -161,6 +208,7 @@ def test_image_base_2019_2020_dict(self): "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": base_versions[1], "CI_COMMON_VERSION": "1", + "CLANG_MAJOR_VERSION": "7", "DTS_VERSION": "6", "PYTHON_VERSION": "2.7", "VFXPLATFORM_VERSION": "2019", diff --git a/python/aswfdocker/tests/test_index.py b/python/aswfdocker/tests/test_index.py index d4e64baa..bde5c050 100644 --- a/python/aswfdocker/tests/test_index.py +++ b/python/aswfdocker/tests/test_index.py @@ -32,4 +32,10 @@ def test_get_versions(self): self.index.iter_versions(constants.ImageType.CI_IMAGE, ciimages[0]) ) self.assertGreaterEqual(len(versions), 1) - self.assertTrue(versions[0].startswith("1.")) + print(versions[0]) + self.assertTrue(versions[0].startswith("1-clang")) + + def test_version_info(self): + vi = self.index.version_info("2019") + self.assertTrue(vi) + self.assertEqual(vi.version, "2019") diff --git a/python/aswfdocker/tests/test_utils.py b/python/aswfdocker/tests/test_utils.py index f92a24aa..7fedaf03 100644 --- a/python/aswfdocker/tests/test_utils.py +++ b/python/aswfdocker/tests/test_utils.py @@ -85,6 +85,10 @@ def test_image_def_from_name(self): utils.get_image_spec("refs/tags/aswf/ci-package-openexr/2018"), ("aswf", constants.ImageType.PACKAGE, "openexr", "2018"), ) + self.assertEqual( + utils.get_image_spec("aswf/ci-package-clang:1-clang6"), + ("aswf", constants.ImageType.PACKAGE, "clang", "1-clang6"), + ) def test_group_from_image(self): self.assertEqual( diff --git a/python/aswfdocker/versioninfo.py b/python/aswfdocker/versioninfo.py index 3dc3940d..e69c4682 100644 --- a/python/aswfdocker/versioninfo.py +++ b/python/aswfdocker/versioninfo.py @@ -4,6 +4,7 @@ Docker Image Version information """ import typing +from aswfdocker import constants class VersionInfo: @@ -13,32 +14,35 @@ class VersionInfo: def __init__( # noqa too many arguments self, + version: str, major_version: str, - label: typing.Optional[str], + tags: typing.List[str], ci_common_version: str, python_version: str, dts_version: str, + clang_major_version: str, + use_major_version_as_tag=True, ): + self.version = version self.major_version = major_version self.ci_common_version = ci_common_version - self.label = label + self.tags = tags self.python_version = python_version self.dts_version = dts_version + self.clang_major_version = clang_major_version + self.use_major_version_as_tag = use_major_version_as_tag def get_tags( self, aswf_version: str, docker_org: str, image_name: str ) -> typing.List[str]: - tags = [ - self.major_version, - aswf_version, - ] - if self.label: - tags.append(self.label) - - # @TODO nicer tag generation without cyclic import - # pylint: disable=cyclic-import - # pylint: disable=import-outside-toplevel - from aswfdocker import constants + if self.use_major_version_as_tag: + tags = [self.major_version] + if self.major_version != self.version: + tags.append(self.version) + else: + tags = [self.version] + tags.append(aswf_version) + tags.extend(self.tags) return list( map( diff --git a/scripts/1/versions_common.sh b/scripts/1/versions_common.sh index 1120e5e4..9f17ecff 100644 --- a/scripts/1/versions_common.sh +++ b/scripts/1/versions_common.sh @@ -10,3 +10,13 @@ export CLANG_VERSION=7.0.1 export NINJA_VERSION=1.10.0 export SONAR_VERSION=3.3.0.1492 export PKGS_COMMON_CMAKE_VERSION=3.12.4 # Only used to build common packages + +if [[ $CLANG_MAJOR_VERSION == 6 ]]; then + export CLANG_VERSION=6.0.1 +elif [[ $CLANG_MAJOR_VERSION == 7 ]]; then + export CLANG_VERSION=7.0.1 +elif [[ $CLANG_MAJOR_VERSION == 8 ]]; then + export CLANG_VERSION=8.0.1 +elif [[ $CLANG_MAJOR_VERSION == 9 ]]; then + export CLANG_VERSION=9.0.1 +fi diff --git a/scripts/2/versions_common.sh b/scripts/2/versions_common.sh index d5184459..765a620d 100644 --- a/scripts/2/versions_common.sh +++ b/scripts/2/versions_common.sh @@ -6,7 +6,11 @@ set -ex export DTS_VERSION=9 export CCACHE_VERSION=3.7.9 -export CLANG_VERSION=10.0.0 +export CLANG_VERSION=10.0.1 export NINJA_VERSION=1.10.0 export SONAR_VERSION=3.3.0.1492 export PKGS_COMMON_CMAKE_VERSION=3.12.4 # Only used to build common packages + +if [[ $CLANG_MAJOR_VERSION == 10 ]]; then + export CLANG_VERSION=10.0.1 +fi diff --git a/versions.yaml b/versions.yaml index 4e0a075b..378679ab 100644 --- a/versions.yaml +++ b/versions.yaml @@ -3,10 +3,118 @@ # This file contains all the CI Docker package and image versions +versions: + - version: "1-clang6" + major_version: "1-clang6" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "6" + - version: "1-clang7" + major_version: "1-clang7" + tags: ["latest"] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "7" + - version: "1-clang8" + major_version: "1-clang8" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "8" + - version: "1-clang9" + major_version: "1-clang9" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "9" + - version: "2-clang10" + major_version: "2-clang10" + tags: ["preview"] + ci_common_version: "2" + python_version: "3.7" + dts_version: "9" + clang_major_version: "10" + - version: "2018" + major_version: "2018" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "7" + - version: "2019" + major_version: "2019" + tags: ["latest"] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "7" + - version: "2019-clang6" + major_version: "2019" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "6" + use_major_version_as_tag: false + - version: "2019-clang7" + major_version: "2019" + tags: ["latest"] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "7" + use_major_version_as_tag: true + - version: "2019-clang8" + major_version: "2019" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "8" + use_major_version_as_tag: false + - version: "2019-clang9" + major_version: "2019" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "9" + use_major_version_as_tag: false + - version: "2020" + major_version: "2020" + tags: [] + ci_common_version: "1" + python_version: "3.7" + dts_version: "6" + clang_major_version: "7" + - version: "2021" + major_version: "2021" + tags: ["preview"] + ci_common_version: "2" + python_version: "3.7" + dts_version: "9" + clang_major_version: "10" + - version: "2021-clang10" + major_version: "2021" + tags: ["preview"] + ci_common_version: "2" + python_version: "3.7" + dts_version: "9" + clang_major_version: "10" + use_major_version_as_tag: true + ci-packages: clang: - - "1.1" - - "2.0" + - "1-clang6.1" + - "1-clang7.1" + - "1-clang8.1" + - "1-clang9.1" + - "2-clang10.1" ninja: - "1.2" - "2.0" @@ -115,8 +223,11 @@ ci-packages: ci-images: common: - - "1.5" - - "2.1" + - "1-clang6.5" + - "1-clang7.5" + - "1-clang8.5" + - "1-clang9.5" + - "2-clang10.1" base: - "2018.5" - "2019.5" @@ -129,9 +240,14 @@ ci-images: - "2021.1" openvdb: - "2018.5" - - "2019.5" + - "2018.5" + - "2019-clang6.5" + - "2019-clang7.5" + - "2019-clang8.5" + - "2019-clang9.5" - "2020.5" - "2021.1" + - "2021-clang10.5" ocio: - "2018.6" - "2019.6" From ed9533c7f6da843c773c5221bedae21b5640dc99 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Tue, 29 Sep 2020 10:08:13 +1000 Subject: [PATCH 017/132] Fixing build Signed-off-by: Aloys Baillet --- .github/workflows/docker-builds.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index 6106478a..c4e1d5ca 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -26,53 +26,53 @@ jobs: - group: img-common-1 type: CI_IMAGE name: common - version: 1 + version: 1-clang7 test: common - group: img-common-2 type: CI_IMAGE name: common - version: 2 + version: 2-clang10 test: common - group: pkg-base-2018 type: PACKAGE name: base1 - common_version: 1 + common_version: 1-clang7 version: 2018 test: "" - group: pkg-base-2021 type: PACKAGE name: base1 - common_version: 2 + common_version: 2-clang10 version: 2021 test: "" - group: img-base-2021 type: CI_IMAGE name: base - common_version: 2 + common_version: 2-clang10 version: 2021 test: base - group: img-vfx1-2021 type: CI_IMAGE name: vfx1 - common_version: 2 + common_version: 2-clang10 version: 2021 test: openvdb - group: img-vfx2-2021 type: CI_IMAGE name: vfx2 - common_version: 2 + common_version: 2-clang10 version: 2021 test: "" - group: img-usd-2021 type: CI_IMAGE name: usd - common_version: 2 + common_version: 2-clang10 version: 2021 test: "" - group: img-vfxall-2021 type: CI_IMAGE name: vfxall - common_version: 2 + common_version: 2-clang10 version: 2021 test: "" From 2928fe4c361c993579c8c80d253daf8d0fe70b8a Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Tue, 29 Sep 2020 14:01:03 +1000 Subject: [PATCH 018/132] Lock pre-commit black to same version as pipenv Signed-off-by: Aloys Baillet --- .pre-commit-config.yaml | 2 +- python/aswfdocker/aswfinfo.py | 3 +-- python/aswfdocker/builder.py | 3 +-- python/aswfdocker/cli/aswfdocker.py | 27 +++++++++------------------ python/aswfdocker/releaser.py | 3 +-- 5 files changed, 13 insertions(+), 25 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bd4aac80..7a137f05 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/ambv/black - rev: stable + rev: 19.10b0 hooks: - id: black language_version: python3.7 diff --git a/python/aswfdocker/aswfinfo.py b/python/aswfdocker/aswfinfo.py index 428f6a4a..aa73e22d 100644 --- a/python/aswfdocker/aswfinfo.py +++ b/python/aswfdocker/aswfinfo.py @@ -7,8 +7,7 @@ class ASWFInfo: - """Information about the current state of the ASWF repository - """ + """Information about the current state of the ASWF repository""" def __init__( self, diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index ceedef4c..92adde92 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -16,8 +16,7 @@ class Builder: - """Builder generates a "docker buildx bake" json file to drive the parallel builds of docker images. - """ + """Builder generates a "docker buildx bake" json file to drive the parallel builds of docker images.""" def __init__( self, diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index c77a8bac..09e187bb 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -44,8 +44,7 @@ @click.version_option("1.0") @click.pass_context def cli(ctx, repo_root, repo_uri, source_branch, verbose): - """aswfdocker is a command line interface to build ASWF Docker packages and ci images - """ + """aswfdocker is a command line interface to build ASWF Docker packages and ci images""" if verbose: logging.basicConfig(level=logging.DEBUG) else: @@ -154,8 +153,7 @@ def build( dry_run, progress, ): - """Builds a ci-package or ci-image docker image. - """ + """Builds a ci-package or ci-image docker image.""" if push == "YES": pushb = True elif push == "AUTO": @@ -185,8 +183,7 @@ def build( ) @click.option("--dry-run", "-d", is_flag=True) def migrate(from_org, to_org, package, version, dry_run): - """Migrates packages from a dockerhub org to another. - """ + """Migrates packages from a dockerhub org to another.""" m = migrater.Migrater(from_org, to_org) m.gather(package, version) if not click.confirm( @@ -204,8 +201,7 @@ def migrate(from_org, to_org, package, version, dry_run): @cli.command() @pass_build_info def getdockerorg(build_info): - """Prints the current dockerhub organisation to use according to the current repo uri and branch name - """ + """Prints the current dockerhub organisation to use according to the current repo uri and branch name""" click.echo( utils.get_docker_org(build_info.repo_uri, build_info.source_branch), nl=False ) @@ -214,8 +210,7 @@ def getdockerorg(build_info): @cli.command() @pass_build_info def getdockerpush(build_info): - """Prints if the images should be pushed according to the current repo uri and branch name - """ + """Prints if the images should be pushed according to the current repo uri and branch name""" click.echo( "true" if utils.get_docker_push(build_info.repo_uri, build_info.source_branch) @@ -236,16 +231,14 @@ def getdockerpush(build_info): ) @pass_build_info def download(build_info, docker_org, package, version): - """Downloads and extracts a ci-package into the packages folder. - """ + """Downloads and extracts a ci-package into the packages folder.""" path = utils.download_package(build_info.repo_root, docker_org, package, version) click.echo(path, nl=False) @cli.command() def packages(): - """Lists all known ci packages in this format: PACKAGEGROUP/ci-package-PACKAGE:VERSION - """ + """Lists all known ci packages in this format: PACKAGEGROUP/ci-package-PACKAGE:VERSION""" for group, packages in constants.GROUPS[constants.ImageType.PACKAGE].items(): for package in packages: image_name = utils.get_image_name(constants.ImageType.PACKAGE, package) @@ -302,8 +295,7 @@ def dockerstats(sizes): help="GitHub access token generated from https://github.com/settings/tokens", ) def settings(settings_path, github_access_token): - """Sets user settings - """ + """Sets user settings""" s = aswf_settings.Settings(settings_path=settings_path) s.github_access_token = github_access_token s.save() @@ -346,8 +338,7 @@ def release( message, dry_run, ): - """Creates a GitHub release for a ci-package or ci-image docker image. - """ + """Creates a GitHub release for a ci-package or ci-image docker image.""" # Disable SSL unclosed ResourceWarning coming from GitHub warnings.filterwarnings( diff --git a/python/aswfdocker/releaser.py b/python/aswfdocker/releaser.py index f38d18ab..ce7438ca 100644 --- a/python/aswfdocker/releaser.py +++ b/python/aswfdocker/releaser.py @@ -44,8 +44,7 @@ def create_release(self, sha, tag, release_message, prerelease): class Releaser: - """Releaser creates GitHub releases for each docker image. - """ + """Releaser creates GitHub releases for each docker image.""" def __init__( # pylint: disable=too-many-arguments self, From c79e16f20bd1c4041a166ca612e4cb77bc7aeee8 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Tue, 29 Sep 2020 21:22:28 +1000 Subject: [PATCH 019/132] Fixed ci-common tags Signed-off-by: Aloys Baillet --- versions.yaml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/versions.yaml b/versions.yaml index 378679ab..e09eff89 100644 --- a/versions.yaml +++ b/versions.yaml @@ -5,40 +5,45 @@ versions: - version: "1-clang6" - major_version: "1-clang6" + major_version: "1" tags: [] ci_common_version: "1" python_version: "2.7" dts_version: "6" clang_major_version: "6" + use_major_version_as_tag: false - version: "1-clang7" - major_version: "1-clang7" + major_version: "1" tags: ["latest"] ci_common_version: "1" python_version: "2.7" dts_version: "6" clang_major_version: "7" + use_major_version_as_tag: true - version: "1-clang8" - major_version: "1-clang8" + major_version: "1" tags: [] ci_common_version: "1" python_version: "2.7" dts_version: "6" clang_major_version: "8" + use_major_version_as_tag: false - version: "1-clang9" - major_version: "1-clang9" + major_version: "1" tags: [] ci_common_version: "1" python_version: "2.7" dts_version: "6" clang_major_version: "9" + use_major_version_as_tag: false - version: "2-clang10" - major_version: "2-clang10" + major_version: "2" tags: ["preview"] ci_common_version: "2" python_version: "3.7" dts_version: "9" clang_major_version: "10" + use_major_version_as_tag: true - version: "2018" major_version: "2018" tags: [] From 81db3ac60e801b1ed854dc9ab0550b7df4253a93 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 30 Sep 2020 22:19:33 +1000 Subject: [PATCH 020/132] Revert black semi-upgrade by locking it down Signed-off-by: Aloys Baillet --- Pipfile | 2 +- Pipfile.lock | 359 ++++++++++++++------------ python/aswfdocker/aswfinfo.py | 3 +- python/aswfdocker/builder.py | 3 +- python/aswfdocker/cli/aswfdocker.py | 27 +- python/aswfdocker/releaser.py | 3 +- python/aswfdocker/tests/test_index.py | 1 - 7 files changed, 217 insertions(+), 181 deletions(-) diff --git a/Pipfile b/Pipfile index 3cd626af..17914561 100644 --- a/Pipfile +++ b/Pipfile @@ -7,7 +7,7 @@ verify_ssl = true pytest = "*" pytest-cov = "*" prospector = "*" -black = "*" +black = "==19.10b0" mypy = "*" pre-commit = "*" pipenv-setup = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 66e1616a..089bfd52 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "37fd326a7f6f231c53e923ec569b753c8cc0147a3e6a63a55c8ee1fe27a8f5ad" + "sha256": "57145b1291f1dece5a23df1433851780c25e3c3657109153f9ddeb08d2118044" }, "pipfile-spec": 6, "requires": { @@ -47,6 +47,7 @@ "sha256:525ba66fb5f90b07169fdd48b6373c18f1ee12728ca277ca44567a367d9d7f74", "sha256:a766c1dccb30c5f6eb2b203f87edd1d8588847709c78589e1521d769addc8218" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.2.10" }, "idna": { @@ -54,6 +55,7 @@ "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb", "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9" }, "pygithub": { @@ -90,9 +92,11 @@ }, "requests": { "hashes": [ + "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6", "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", - "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" + "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==2.23.0" }, "urllib3": { @@ -100,6 +104,7 @@ "sha256:3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527", "sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", "version": "==1.25.9" }, "wrapt": { @@ -122,14 +127,16 @@ "sha256:4c17cea3e592c21b6e222f673868961bad77e1f985cb1694ed077475a89229c1", "sha256:d8506842a3faf734b81599c8b98dcc423de863adcc1999248480b18bd31a0f38" ], + "markers": "python_version >= '3.5'", "version": "==2.4.1" }, "attrs": { "hashes": [ - "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", - "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72" + "sha256:26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594", + "sha256:fce7fc47dfc976152e82d53ff92fa0407700c21acd20886a13777a0d20e655dc" ], - "version": "==19.3.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==20.2.0" }, "black": { "hashes": [ @@ -141,10 +148,10 @@ }, "cached-property": { "hashes": [ - "sha256:3a026f1a54135677e7da5ce819b0c690f156f37976f3e30c5430740725203d7f", - "sha256:9217a59f14a5682da7c4b8829deadbfc194ac22e9908ccf7c8820234e80a1504" + "sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130", + "sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0" ], - "version": "==1.5.1" + "version": "==1.5.2" }, "cerberus": { "hashes": [ @@ -161,10 +168,11 @@ }, "cfgv": { "hashes": [ - "sha256:1ccf53320421aeeb915275a196e23b3b8ae87dea8ac6698b1638001d4a486d53", - "sha256:c8e8f552ffcc6194f4e18dd4f68d9aef0c0d58ae7e7be8c82bee3c5e9edfa513" + "sha256:32e43d604bbe7896fe7c248a9c2276447dbef840feb28fe20494f62af110211d", + "sha256:cf22deb93d4bcf92f345a5c3cd39d3d41d6340adc60c78bbbd6588c384fda6a1" ], - "version": "==3.1.0" + "markers": "python_full_version >= '3.6.1'", + "version": "==3.2.0" }, "chardet": { "hashes": [ @@ -186,49 +194,55 @@ "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff", "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==0.4.3" }, "coverage": { "hashes": [ - "sha256:00f1d23f4336efc3b311ed0d807feb45098fc86dee1ca13b3d6768cdab187c8a", - "sha256:01333e1bd22c59713ba8a79f088b3955946e293114479bbfc2e37d522be03355", - "sha256:0cb4be7e784dcdc050fc58ef05b71aa8e89b7e6636b99967fadbdba694cf2b65", - "sha256:0e61d9803d5851849c24f78227939c701ced6704f337cad0a91e0972c51c1ee7", - "sha256:1601e480b9b99697a570cea7ef749e88123c04b92d84cedaa01e117436b4a0a9", - "sha256:2742c7515b9eb368718cd091bad1a1b44135cc72468c731302b3d641895b83d1", - "sha256:2d27a3f742c98e5c6b461ee6ef7287400a1956c11421eb574d843d9ec1f772f0", - "sha256:402e1744733df483b93abbf209283898e9f0d67470707e3c7516d84f48524f55", - "sha256:5c542d1e62eece33c306d66fe0a5c4f7f7b3c08fecc46ead86d7916684b36d6c", - "sha256:5f2294dbf7875b991c381e3d5af2bcc3494d836affa52b809c91697449d0eda6", - "sha256:6402bd2fdedabbdb63a316308142597534ea8e1895f4e7d8bf7476c5e8751fef", - "sha256:66460ab1599d3cf894bb6baee8c684788819b71a5dc1e8fa2ecc152e5d752019", - "sha256:782caea581a6e9ff75eccda79287daefd1d2631cc09d642b6ee2d6da21fc0a4e", - "sha256:79a3cfd6346ce6c13145731d39db47b7a7b859c0272f02cdb89a3bdcbae233a0", - "sha256:7a5bdad4edec57b5fb8dae7d3ee58622d626fd3a0be0dfceda162a7035885ecf", - "sha256:8fa0cbc7ecad630e5b0f4f35b0f6ad419246b02bc750de7ac66db92667996d24", - "sha256:a027ef0492ede1e03a8054e3c37b8def89a1e3c471482e9f046906ba4f2aafd2", - "sha256:a3f3654d5734a3ece152636aad89f58afc9213c6520062db3978239db122f03c", - "sha256:a82b92b04a23d3c8a581fc049228bafde988abacba397d57ce95fe95e0338ab4", - "sha256:acf3763ed01af8410fc36afea23707d4ea58ba7e86a8ee915dfb9ceff9ef69d0", - "sha256:adeb4c5b608574a3d647011af36f7586811a2c1197c861aedb548dd2453b41cd", - "sha256:b83835506dfc185a319031cf853fa4bb1b3974b1f913f5bb1a0f3d98bdcded04", - "sha256:bb28a7245de68bf29f6fb199545d072d1036a1917dca17a1e75bbb919e14ee8e", - "sha256:bf9cb9a9fd8891e7efd2d44deb24b86d647394b9705b744ff6f8261e6f29a730", - "sha256:c317eaf5ff46a34305b202e73404f55f7389ef834b8dbf4da09b9b9b37f76dd2", - "sha256:dbe8c6ae7534b5b024296464f387d57c13caa942f6d8e6e0346f27e509f0f768", - "sha256:de807ae933cfb7f0c7d9d981a053772452217df2bf38e7e6267c9cbf9545a796", - "sha256:dead2ddede4c7ba6cb3a721870f5141c97dc7d85a079edb4bd8d88c3ad5b20c7", - "sha256:dec5202bfe6f672d4511086e125db035a52b00f1648d6407cc8e526912c0353a", - "sha256:e1ea316102ea1e1770724db01998d1603ed921c54a86a2efcb03428d5417e489", - "sha256:f90bfc4ad18450c80b024036eaf91e4a246ae287701aaa88eaebebf150868052" - ], - "version": "==5.1" + "sha256:0203acd33d2298e19b57451ebb0bed0ab0c602e5cf5a818591b4918b1f97d516", + "sha256:0f313707cdecd5cd3e217fc68c78a960b616604b559e9ea60cc16795c4304259", + "sha256:1c6703094c81fa55b816f5ae542c6ffc625fec769f22b053adb42ad712d086c9", + "sha256:1d44bb3a652fed01f1f2c10d5477956116e9b391320c94d36c6bf13b088a1097", + "sha256:280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0", + "sha256:29a6272fec10623fcbe158fdf9abc7a5fa032048ac1d8631f14b50fbfc10d17f", + "sha256:2b31f46bf7b31e6aa690d4c7a3d51bb262438c6dcb0d528adde446531d0d3bb7", + "sha256:2d43af2be93ffbad25dd959899b5b809618a496926146ce98ee0b23683f8c51c", + "sha256:381ead10b9b9af5f64646cd27107fb27b614ee7040bb1226f9c07ba96625cbb5", + "sha256:47a11bdbd8ada9b7ee628596f9d97fbd3851bd9999d398e9436bd67376dbece7", + "sha256:4d6a42744139a7fa5b46a264874a781e8694bb32f1d76d8137b68138686f1729", + "sha256:50691e744714856f03a86df3e2bff847c2acede4c191f9a1da38f088df342978", + "sha256:530cc8aaf11cc2ac7430f3614b04645662ef20c348dce4167c22d99bec3480e9", + "sha256:582ddfbe712025448206a5bc45855d16c2e491c2dd102ee9a2841418ac1c629f", + "sha256:63808c30b41f3bbf65e29f7280bf793c79f54fb807057de7e5238ffc7cc4d7b9", + "sha256:71b69bd716698fa62cd97137d6f2fdf49f534decb23a2c6fc80813e8b7be6822", + "sha256:7858847f2d84bf6e64c7f66498e851c54de8ea06a6f96a32a1d192d846734418", + "sha256:78e93cc3571fd928a39c0b26767c986188a4118edc67bc0695bc7a284da22e82", + "sha256:7f43286f13d91a34fadf61ae252a51a130223c52bfefb50310d5b2deb062cf0f", + "sha256:86e9f8cd4b0cdd57b4ae71a9c186717daa4c5a99f3238a8723f416256e0b064d", + "sha256:8f264ba2701b8c9f815b272ad568d555ef98dfe1576802ab3149c3629a9f2221", + "sha256:9342dd70a1e151684727c9c91ea003b2fb33523bf19385d4554f7897ca0141d4", + "sha256:9361de40701666b034c59ad9e317bae95c973b9ff92513dd0eced11c6adf2e21", + "sha256:9669179786254a2e7e57f0ecf224e978471491d660aaca833f845b72a2df3709", + "sha256:aac1ba0a253e17889550ddb1b60a2063f7474155465577caa2a3b131224cfd54", + "sha256:aef72eae10b5e3116bac6957de1df4d75909fc76d1499a53fb6387434b6bcd8d", + "sha256:bd3166bb3b111e76a4f8e2980fa1addf2920a4ca9b2b8ca36a3bc3dedc618270", + "sha256:c1b78fb9700fc961f53386ad2fd86d87091e06ede5d118b8a50dea285a071c24", + "sha256:c3888a051226e676e383de03bf49eb633cd39fc829516e5334e69b8d81aae751", + "sha256:c5f17ad25d2c1286436761b462e22b5020d83316f8e8fcb5deb2b3151f8f1d3a", + "sha256:c851b35fc078389bc16b915a0a7c1d5923e12e2c5aeec58c52f4aa8085ac8237", + "sha256:cb7df71de0af56000115eafd000b867d1261f786b5eebd88a0ca6360cccfaca7", + "sha256:cedb2f9e1f990918ea061f28a0f0077a07702e3819602d3507e2ff98c8d20636", + "sha256:e8caf961e1b1a945db76f1b5fa9c91498d15f545ac0ababbe575cfab185d3bd8" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", + "version": "==5.3" }, "distlib": { "hashes": [ - "sha256:2e166e231a26b36d6dfe35a48c4464346620f8645ed0ace01ee31822b288de21" + "sha256:8c09de2c67b3e7deef7184574fc060ab8a793e7adbb183d942c389c8b13c52fb", + "sha256:edf6116872c863e1aa9d5bb7cb5e05a022c519a4594dc703843343a9ddd9bff1" ], - "version": "==0.3.0" + "version": "==0.3.1" }, "dodgy": { "hashes": [ @@ -246,10 +260,11 @@ }, "flake8": { "hashes": [ - "sha256:c69ac1668e434d37a2d2880b3ca9aafd54b3a10a3ac1ab101d22f29e29cf8634", - "sha256:ccaa799ef9893cebe69fdfefed76865aeaefbb94cb8545617b2298786a4de9a5" + "sha256:15e351d19611c887e482fb960eae4d44845013cc142d42896e9862f775d8cf5c", + "sha256:f04b9fcbac03b0a3e58c0ab3a0ecc462e023a9faf046d57794184028123aa208" ], - "version": "==3.8.2" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==3.8.3" }, "flake8-polyfill": { "hashes": [ @@ -260,31 +275,41 @@ }, "identify": { "hashes": [ - "sha256:249ebc7e2066d6393d27c1b1be3b70433f824a120b1d8274d362f1eb419e3b52", - "sha256:781fd3401f5d2b17b22a8b18b493a48d5d948e3330634e82742e23f9c20234ef" + "sha256:7c22c384a2c9b32c5cc891d13f923f6b2653aa83e2d75d8f79be240d6c86c4f4", + "sha256:da683bfb7669fa749fc7731f378229e2dbf29a1d1337cbde04106f02236eb29d" ], - "version": "==1.4.19" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.5.5" }, "idna": { "hashes": [ "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb", "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9" }, "importlib-metadata": { "hashes": [ - "sha256:0505dd08068cfec00f53a74a0ad927676d7757da81b7436a6eefe4c7cf75c545", - "sha256:15ec6c0fd909e893e3a08b3a7c76ecb149122fb14b7efe1199ddd4c7c57ea958" + "sha256:90bb658cdbbf6d1735b6341ce708fc7024a3e14e99ffdc5783edea9f9b077f83", + "sha256:dc15b2969b4ce36305c51eebe62d418ac7791e9a157911d58bfb1f9ccd8e2070" ], "markers": "python_version < '3.8'", - "version": "==1.6.1" + "version": "==1.7.0" + }, + "iniconfig": { + "hashes": [ + "sha256:80cf40c597eb564e86346103f609d74efce0f6b4d4f30ec8ce9e2c26411ba437", + "sha256:e5f92f89355a67de0595932a6c6c02ab4afddc6fcdc0bfc5becd0d60884d3f69" + ], + "version": "==1.0.1" }, "isort": { "hashes": [ "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1", "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==4.3.21" }, "lazy-object-proxy": { @@ -311,6 +336,7 @@ "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4", "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.4.3" }, "mccabe": { @@ -320,32 +346,25 @@ ], "version": "==0.6.1" }, - "more-itertools": { - "hashes": [ - "sha256:558bb897a2232f5e4f8e2399089e35aecb746e1f9191b6584a151647e89267be", - "sha256:7818f596b1e87be009031c7653d01acc46ed422e6656b394b0f765ce66ed4982" - ], - "version": "==8.3.0" - }, "mypy": { "hashes": [ - "sha256:00cb1964a7476e871d6108341ac9c1a857d6bd20bf5877f4773ac5e9d92cd3cd", - "sha256:127de5a9b817a03a98c5ae8a0c46a20dc44442af6dcfa2ae7f96cb519b312efa", - "sha256:1f3976a945ad7f0a0727aafdc5651c2d3278e3c88dee94e2bf75cd3386b7b2f4", - "sha256:2f8c098f12b402c19b735aec724cc9105cc1a9eea405d08814eb4b14a6fb1a41", - "sha256:4ef13b619a289aa025f2273e05e755f8049bb4eaba6d703a425de37d495d178d", - "sha256:5d142f219bf8c7894dfa79ebfb7d352c4c63a325e75f10dfb4c3db9417dcd135", - "sha256:62eb5dd4ea86bda8ce386f26684f7f26e4bfe6283c9f2b6ca6d17faf704dcfad", - "sha256:64c36eb0936d0bfb7d8da49f92c18e312ad2e3ed46e5548ae4ca997b0d33bd59", - "sha256:75eed74d2faf2759f79c5f56f17388defd2fc994222312ec54ee921e37b31ad4", - "sha256:974bebe3699b9b46278a7f076635d219183da26e1a675c1f8243a69221758273", - "sha256:a5e5bb12b7982b179af513dddb06fca12285f0316d74f3964078acbfcf4c68f2", - "sha256:d31291df31bafb997952dc0a17ebb2737f802c754aed31dd155a8bfe75112c57", - "sha256:d3b4941de44341227ece1caaf5b08b23e42ad4eeb8b603219afb11e9d4cfb437", - "sha256:eadb865126da4e3c4c95bdb47fe1bb087a3e3ea14d39a3b13224b8a4d9f9a102" + "sha256:2c6cde8aa3426c1682d35190b59b71f661237d74b053822ea3d748e2c9578a7c", + "sha256:3fdda71c067d3ddfb21da4b80e2686b71e9e5c72cca65fa216d207a358827f86", + "sha256:5dd13ff1f2a97f94540fd37a49e5d255950ebcdf446fb597463a40d0df3fac8b", + "sha256:6731603dfe0ce4352c555c6284c6db0dc935b685e9ce2e4cf220abe1e14386fd", + "sha256:6bb93479caa6619d21d6e7160c552c1193f6952f0668cdda2f851156e85186fc", + "sha256:81c7908b94239c4010e16642c9102bfc958ab14e36048fa77d0be3289dda76ea", + "sha256:9c7a9a7ceb2871ba4bac1cf7217a7dd9ccd44c27c2950edbc6dc08530f32ad4e", + "sha256:a4a2cbcfc4cbf45cd126f531dedda8485671545b43107ded25ce952aac6fb308", + "sha256:b7fbfabdbcc78c4f6fc4712544b9b0d6bf171069c6e0e3cb82440dd10ced3406", + "sha256:c05b9e4fb1d8a41d41dec8786c94f3b95d3c5f528298d769eb8e73d293abc48d", + "sha256:d7df6eddb6054d21ca4d3c6249cae5578cb4602951fd2b6ee2f5510ffb098707", + "sha256:e0b61738ab504e656d1fe4ff0c0601387a5489ca122d55390ade31f9ca0e252d", + "sha256:eff7d4a85e9eea55afa34888dfeaccde99e7520b51f867ac28a48492c0b1130c", + "sha256:f05644db6779387ccdb468cc47a44b4356fc2ffa9287135d05b70a98dc83b89a" ], "index": "pypi", - "version": "==0.780" + "version": "==0.782" }, "mypy-extensions": { "hashes": [ @@ -356,9 +375,10 @@ }, "nodeenv": { "hashes": [ - "sha256:4b0b77afa3ba9b54f4b6396e60b0c83f59eaeb2d63dc3cc7a70f7f4af96c82bc" + "sha256:5304d424c529c997bc888453aeaa6362d242b6b4631e90f3d4bf1b290f1c84a9", + "sha256:ab45090ae383b716c4ef89e690c41ff8c2b257b85b309f01f3654df3d084bd7c" ], - "version": "==1.4.0" + "version": "==1.5.0" }, "orderedmultidict": { "hashes": [ @@ -369,10 +389,11 @@ }, "packaging": { "hashes": [ - "sha256:28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47", - "sha256:d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108" + "sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8", + "sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181" ], - "version": "==19.2" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==20.4" }, "pathspec": { "hashes": [ @@ -397,18 +418,19 @@ }, "pip-shims": { "hashes": [ - "sha256:39193b8c4aa5e4cb82e250be58df4d5eaebe931a33b0df43b369f4ae92ee5753", - "sha256:423978c27d0e24e8ecb3e82b4a6c1f607e2e364153e73d0803c671d48b23195e" + "sha256:05b00ade9d1e686a98bb656dd9b0608a933897283dc21913fad6ea5409ff7e91", + "sha256:16ca9f87485667b16b978b68a1aae4f9cc082c0fa018aed28567f9f34a590569" ], - "version": "==0.5.2" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.5.3" }, "pipenv-setup": { "hashes": [ - "sha256:18ce5474261bab22b9a3cd919d70909b578b57438d452ebb88dbe22ca70f2ef2", - "sha256:5b69f8a91dd922806577d4e0c84acda1ce274657aab800749f088b46fcfe76cb" + "sha256:8a439aff7b16e18d7e07702c9186fc5fe86156679eace90e10c2578a43bd7af1", + "sha256:e1bfd55c1152024e762f1c17f6189fcb073166509e7c0228870f7ea160355648" ], "index": "pypi", - "version": "==3.0.1" + "version": "==3.1.1" }, "pipfile": { "hashes": [ @@ -424,6 +446,7 @@ "sha256:46402c03e36d6eadddad2a5125990e322dd74f98160c8f2dcd832b2291858a26", "sha256:d6c9b96981b347bddd333910b753b6091a2c1eb2ef85bb373b4a67c9d91dca16" ], + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.2.3" }, "pluggy": { @@ -431,49 +454,54 @@ "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0", "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.13.1" }, "pre-commit": { "hashes": [ - "sha256:5559e09afcac7808933951ffaf4ff9aac524f31efbc3f24d021540b6c579813c", - "sha256:703e2e34cbe0eedb0d319eff9f7b83e2022bb5a3ab5289a6a8841441076514d0" + "sha256:810aef2a2ba4f31eed1941fc270e72696a1ad5590b9751839c90807d0fff6b9a", + "sha256:c54fd3e574565fe128ecc5e7d2f91279772ddb03f8729645fa812fe809084a70" ], "index": "pypi", - "version": "==2.4.0" + "version": "==2.7.1" }, "prospector": { "hashes": [ - "sha256:95ec8c92c493ad12e07f279c5f74f4789272e4c72e853f2a5307556bdc2b5bfc" + "sha256:43e5e187c027336b0e4c4aa6a82d66d3b923b5ec5b51968126132e32f9d14a2f" ], "index": "pypi", - "version": "==1.3.0.dev4" + "version": "==1.3.0" }, "py": { "hashes": [ - "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa", - "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0" + "sha256:366389d1db726cd2fcfc79732e75410e5fe4d31db13692115529d34069a043c2", + "sha256:9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342" ], - "version": "==1.8.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.9.0" }, "pycodestyle": { "hashes": [ "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367", "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.6.0" }, "pydocstyle": { "hashes": [ - "sha256:da7831660b7355307b32778c4a0dbfb137d89254ef31a2b2978f50fc0b4d7586", - "sha256:f4f5d210610c2d153fae39093d44224c17429e2ad7da12a8b419aba5c2f614b5" + "sha256:19b86fa8617ed916776a11cd8bc0197e5b9856d5433b777f51a3defe13075325", + "sha256:aca749e190a01726a4fb472dd4ef23b5c9da7b9205c0a7857c06533de13fd678" ], - "version": "==5.0.2" + "markers": "python_version >= '3.5'", + "version": "==5.1.1" }, "pyflakes": { "hashes": [ "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92", "sha256:35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.2.0" }, "pylint": { @@ -481,6 +509,7 @@ "sha256:b95e31850f3af163c2283ed40432f053acbc8fc6eba6a069cb518d9dbf71848c", "sha256:dd506acce0427e9e08fb87274bcaa953d38b50a58207170dbf5b36cf3e16957b" ], + "markers": "python_version >= '3.5'", "version": "==2.5.2" }, "pylint-celery": { @@ -511,32 +540,34 @@ }, "pyparsing": { "hashes": [ - "sha256:67199f0c41a9c702154efb0e7a8cc08accf830eb003b4d9fa42c4059002e2492", - "sha256:700d17888d441604b0bd51535908dcb297561b040819cccde647a92439db5a2a" + "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", + "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" ], - "version": "==3.0.0a1" + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.4.7" }, "pytest": { "hashes": [ - "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1", - "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8" + "sha256:1cd09785c0a50f9af72220dd12aa78cfa49cbffc356c61eab009ca189e018a33", + "sha256:d010e24666435b39a4cf48740b039885642b6c273a3f77be3e7e03554d2806b7" ], "index": "pypi", - "version": "==5.4.3" + "version": "==6.1.0" }, "pytest-cov": { "hashes": [ - "sha256:b6a814b8ed6247bd81ff47f038511b57fe1ce7f4cc25b9106f1a4b106f1d9322", - "sha256:c87dfd8465d865655a8213859f1b4749b43448b5fae465cb981e16d52a811424" + "sha256:45ec2d5182f89a81fc3eb29e3d1ed3113b9e9a873bcddb2a71faaab066110191", + "sha256:47bd0ce14056fdd79f93e1713f88fad7bdcc583dcd7783da86ef2f085a0bb88e" ], "index": "pypi", - "version": "==2.9.0" + "version": "==2.10.1" }, "python-dateutil": { "hashes": [ "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.8.1" }, "pyyaml": { @@ -558,35 +589,37 @@ }, "regex": { "hashes": [ - "sha256:150125da109fccdcc8fec3b0b386b2a5d6ca7cff076f8b622486d1ca868b0c10", - "sha256:163bc0805e46acfa098dfc8c0b07f371577d505f603e48afc425ff475cdac3a5", - "sha256:20c513893ff80bdbe4b4ce11ea2e93d49481f05b270595d82af69ffc402010a6", - "sha256:21fc17cb868c4264f0813f992f46f9ae6fc8c309d4741091de4153bd1f6a6176", - "sha256:2c928bc8e0c453d73dffa3193a6e37ee752ea36df0dd4601e21024d98274dfad", - "sha256:2d9beca70e36f9c60d679e108c5fe49f3d4da79d13a13f91e5e759443bd954f9", - "sha256:5735f26cacdb50b3d6d35ebf8fdeb504bd8b381e2d079d2d9f12ce534fc14ecd", - "sha256:6edc5c190248d3b612f2cca45448cf8ebc3621d41afcd1c5708853cbb1dbb3b3", - "sha256:7606dba82435429641efe4fbc580574942f89cf2b9c5c1f8bc1eab2bacbf7e8b", - "sha256:8d1ee3796795e609ef7a3a5a35eaf4728038d986aa12c06b3fd1b92ee81911f4", - "sha256:8d9bb2d90e23c51aacbc58c1a11320f49b335cd67a91986cdbebcc3e843e4de8", - "sha256:97d414c41f19fd2362e493810caa8445c05e0a2d63a14081c972aad66284a8d2", - "sha256:9e37502817225ee99d91d8418f5119e98c380b00e772d06915690c05290f32ee", - "sha256:af7209b2fcc79ee2b0ad4ea080d70bb748450ec4f282cc9e864861e469b1072e", - "sha256:c0849b0864ff451f04c8afb5fc28e9ed592262e03debdd227cf0f53e04a55dcd", - "sha256:c4ac9215650688e78dea29b46adbdafb7b85058eebe92ef6ea848e14466c915f", - "sha256:dcda6d4e1bbfc939b177c237aee41c9678eaaf71df482688f8986e8251e12345", - "sha256:dd8501b8d9ea1aba53c4bc7d47bc72933f9b4213d534cf400f16c1431f51c8ba", - "sha256:ec0e509ed1877ff1cbc6f0864689bb60384a303502c4d72d9a635f8a4676fd3f", - "sha256:f6c8c3f56fef719180464855346e6e80971b86dfd9e5a0e356664b5baca53072", - "sha256:ffd4f80602490a309064cf2b203e220d581c51660e01055c64bf5da450485ee6" - ], - "version": "==2020.6.7" + "sha256:088afc8c63e7bd187a3c70a94b9e50ab3f17e1d3f52a32750b5b77dbe99ef5ef", + "sha256:1fe0a41437bbd06063aa184c34804efa886bcc128222e9916310c92cd54c3b4c", + "sha256:41bb65f54bba392643557e617316d0d899ed5b4946dccee1cb6696152b29844b", + "sha256:4318d56bccfe7d43e5addb272406ade7a2274da4b70eb15922a071c58ab0108c", + "sha256:4707f3695b34335afdfb09be3802c87fa0bc27030471dbc082f815f23688bc63", + "sha256:5533a959a1748a5c042a6da71fe9267a908e21eded7a4f373efd23a2cbdb0ecc", + "sha256:5f18875ac23d9aa2f060838e8b79093e8bb2313dbaaa9f54c6d8e52a5df097be", + "sha256:60b0e9e6dc45683e569ec37c55ac20c582973841927a85f2d8a7d20ee80216ab", + "sha256:84e9407db1b2eb368b7ecc283121b5e592c9aaedbe8c78b1a2f1102eb2e21d19", + "sha256:8d69cef61fa50c8133382e61fd97439de1ae623fe943578e477e76a9d9471637", + "sha256:9a02d0ae31d35e1ec12a4ea4d4cca990800f66a917d0fb997b20fbc13f5321fc", + "sha256:9bc13e0d20b97ffb07821aa3e113f9998e84994fe4d159ffa3d3a9d1b805043b", + "sha256:a6f32aea4260dfe0e55dc9733ea162ea38f0ea86aa7d0f77b15beac5bf7b369d", + "sha256:ae91972f8ac958039920ef6e8769277c084971a142ce2b660691793ae44aae6b", + "sha256:c570f6fa14b9c4c8a4924aaad354652366577b4f98213cf76305067144f7b100", + "sha256:d23a18037313714fb3bb5a94434d3151ee4300bae631894b1ac08111abeaa4a3", + "sha256:eaf548d117b6737df379fdd53bdde4f08870e66d7ea653e230477f071f861121", + "sha256:ebbe29186a3d9b0c591e71b7393f1ae08c83cb2d8e517d2a822b8f7ec99dfd8b", + "sha256:eda4771e0ace7f67f58bc5b560e27fb20f32a148cbc993b0c3835970935c2707", + "sha256:f1b3afc574a3db3b25c89161059d857bd4909a1269b0b3cb3c904677c8c4a3f7", + "sha256:f2388013e68e750eaa16ccbea62d4130180c26abb1d8e5d584b9baf69672b30f" + ], + "version": "==2020.9.27" }, "requests": { "hashes": [ + "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6", "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", - "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" + "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==2.23.0" }, "requirements-detector": { @@ -597,10 +630,11 @@ }, "requirementslib": { "hashes": [ - "sha256:3dea8f577be1f7f5aafb66007cb49ef659f9249649aa11312a903fa4205a7350", - "sha256:6acae5ba27c9a1a45d120d74e0b922b202e0c614591880ae060d06c1e77eff66" + "sha256:cdf8aa652ac52216d156cee2b89c3c9ee53373dded0035184d0b9af569a0f10c", + "sha256:fd98ea873effaede6b3394725a232bcbd3fe3985987e226109a841c85a69e2e3" ], - "version": "==1.5.11" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==1.5.13" }, "setoptconf": { "hashes": [ @@ -613,6 +647,7 @@ "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.15.0" }, "snowballstemmer": { @@ -631,10 +666,11 @@ }, "tomlkit": { "hashes": [ - "sha256:74f976908030ff164c0aa1edabe3bf83ea004b3daa5b0940b9c86a060c004e9a", - "sha256:e5d5f20809c2b09276a6c5d98fb0202325aee441a651db84ac12e0812ab7e569" + "sha256:6babbd33b17d5c9691896b0e68159215a9387ebfa938aa3ac42f4a4beeb2b831", + "sha256:ac57f29693fab3e309ea789252fcce3061e19110085aa31af5446ca749325618" ], - "version": "==0.6.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.7.0" }, "typed-ast": { "hashes": [ @@ -660,59 +696,48 @@ "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4", "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7" ], - "markers": "implementation_name == 'cpython' and python_version < '3.8'", + "markers": "python_version < '3.8' and implementation_name == 'cpython'", "version": "==1.4.1" }, - "typing": { - "hashes": [ - "sha256:91dfe6f3f706ee8cc32d38edbbf304e9b7583fb37108fef38229617f8b3eba23", - "sha256:c8cabb5ab8945cd2f54917be357d134db9cc1eb039e59d1606dc1e60cb1d9d36", - "sha256:f38d83c5a7a7086543a0f649564d661859c5146a85775ab90c0d2f93ffaa9714" - ], - "version": "==3.7.4.1" - }, "typing-extensions": { "hashes": [ - "sha256:6e95524d8a547a91e08f404ae485bbb71962de46967e1b71a0cb89af24e761c5", - "sha256:79ee589a3caca649a9bfd2a8de4709837400dfa00b6cc81962a1e6a1815969ae", - "sha256:f8d2bd89d25bc39dabe7d23df520442fa1d8969b82544370e03d88b5a591c392" + "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918", + "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c", + "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f" ], - "version": "==3.7.4.2" + "version": "==3.7.4.3" }, "urllib3": { "hashes": [ "sha256:3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527", "sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", "version": "==1.25.9" }, "virtualenv": { "hashes": [ - "sha256:a116629d4e7f4d03433b8afa27f43deba09d48bc48f5ecefa4f015a178efb6cf", - "sha256:a730548b27366c5e6cbdf6f97406d861cccece2e22275e8e1a757aeff5e00c70" + "sha256:43add625c53c596d38f971a465553f6318decc39d98512bc100fa1b1e839c8dc", + "sha256:e0305af10299a7fb0d69393d8f04cb2965dda9351140d11ac8db4e5e3970451b" ], - "version": "==20.0.21" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==20.0.31" }, "vistir": { "hashes": [ "sha256:a37079cdbd85d31a41cdd18457fe521e15ec08b255811e81aa061fd5f48a20fb", "sha256:eff1d19ef50c703a329ed294e5ec0b0fbb35b96c1b3ee6dcdb266dddbe1e935a" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.5.2" }, - "wcwidth": { - "hashes": [ - "sha256:980fbf4f3c196c0f329cdcd1e84c554d6a211f18e252e525a0cf4223154a41d6", - "sha256:edbc2b718b4db6cdf393eefe3a420183947d6aa312505ce6754516f458ff8830" - ], - "version": "==0.2.3" - }, "wheel": { "hashes": [ - "sha256:8788e9155fe14f54164c1b9eb0a319d98ef02c160725587ad60f14ddc57b6f96", - "sha256:df277cb51e61359aba502208d680f90c0493adec6f0e848af94948778aed386e" + "sha256:497add53525d16c173c2c1c733b8f655510e909ea78cc0e29d374243544b77a2", + "sha256:99a22d87add3f634ff917310a3d87e499f19e663413a52eb9232c447aa646c9f" ], - "version": "==0.34.2" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.35.1" }, "wrapt": { "hashes": [ @@ -722,11 +747,11 @@ }, "zipp": { "hashes": [ - "sha256:aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b", - "sha256:c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96" + "sha256:43f4fa8d8bb313e65d8323a3952ef8756bf40f9a5c3ea7334be23ee4ec8278b6", + "sha256:b52f22895f4cfce194bc8172f3819ee8de7540aa6d873535a8668b730b8b411f" ], "markers": "python_version < '3.8'", - "version": "==3.1.0" + "version": "==3.2.0" } } } diff --git a/python/aswfdocker/aswfinfo.py b/python/aswfdocker/aswfinfo.py index aa73e22d..428f6a4a 100644 --- a/python/aswfdocker/aswfinfo.py +++ b/python/aswfdocker/aswfinfo.py @@ -7,7 +7,8 @@ class ASWFInfo: - """Information about the current state of the ASWF repository""" + """Information about the current state of the ASWF repository + """ def __init__( self, diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index 92adde92..ceedef4c 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -16,7 +16,8 @@ class Builder: - """Builder generates a "docker buildx bake" json file to drive the parallel builds of docker images.""" + """Builder generates a "docker buildx bake" json file to drive the parallel builds of docker images. + """ def __init__( self, diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index 09e187bb..c77a8bac 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -44,7 +44,8 @@ @click.version_option("1.0") @click.pass_context def cli(ctx, repo_root, repo_uri, source_branch, verbose): - """aswfdocker is a command line interface to build ASWF Docker packages and ci images""" + """aswfdocker is a command line interface to build ASWF Docker packages and ci images + """ if verbose: logging.basicConfig(level=logging.DEBUG) else: @@ -153,7 +154,8 @@ def build( dry_run, progress, ): - """Builds a ci-package or ci-image docker image.""" + """Builds a ci-package or ci-image docker image. + """ if push == "YES": pushb = True elif push == "AUTO": @@ -183,7 +185,8 @@ def build( ) @click.option("--dry-run", "-d", is_flag=True) def migrate(from_org, to_org, package, version, dry_run): - """Migrates packages from a dockerhub org to another.""" + """Migrates packages from a dockerhub org to another. + """ m = migrater.Migrater(from_org, to_org) m.gather(package, version) if not click.confirm( @@ -201,7 +204,8 @@ def migrate(from_org, to_org, package, version, dry_run): @cli.command() @pass_build_info def getdockerorg(build_info): - """Prints the current dockerhub organisation to use according to the current repo uri and branch name""" + """Prints the current dockerhub organisation to use according to the current repo uri and branch name + """ click.echo( utils.get_docker_org(build_info.repo_uri, build_info.source_branch), nl=False ) @@ -210,7 +214,8 @@ def getdockerorg(build_info): @cli.command() @pass_build_info def getdockerpush(build_info): - """Prints if the images should be pushed according to the current repo uri and branch name""" + """Prints if the images should be pushed according to the current repo uri and branch name + """ click.echo( "true" if utils.get_docker_push(build_info.repo_uri, build_info.source_branch) @@ -231,14 +236,16 @@ def getdockerpush(build_info): ) @pass_build_info def download(build_info, docker_org, package, version): - """Downloads and extracts a ci-package into the packages folder.""" + """Downloads and extracts a ci-package into the packages folder. + """ path = utils.download_package(build_info.repo_root, docker_org, package, version) click.echo(path, nl=False) @cli.command() def packages(): - """Lists all known ci packages in this format: PACKAGEGROUP/ci-package-PACKAGE:VERSION""" + """Lists all known ci packages in this format: PACKAGEGROUP/ci-package-PACKAGE:VERSION + """ for group, packages in constants.GROUPS[constants.ImageType.PACKAGE].items(): for package in packages: image_name = utils.get_image_name(constants.ImageType.PACKAGE, package) @@ -295,7 +302,8 @@ def dockerstats(sizes): help="GitHub access token generated from https://github.com/settings/tokens", ) def settings(settings_path, github_access_token): - """Sets user settings""" + """Sets user settings + """ s = aswf_settings.Settings(settings_path=settings_path) s.github_access_token = github_access_token s.save() @@ -338,7 +346,8 @@ def release( message, dry_run, ): - """Creates a GitHub release for a ci-package or ci-image docker image.""" + """Creates a GitHub release for a ci-package or ci-image docker image. + """ # Disable SSL unclosed ResourceWarning coming from GitHub warnings.filterwarnings( diff --git a/python/aswfdocker/releaser.py b/python/aswfdocker/releaser.py index ce7438ca..f38d18ab 100644 --- a/python/aswfdocker/releaser.py +++ b/python/aswfdocker/releaser.py @@ -44,7 +44,8 @@ def create_release(self, sha, tag, release_message, prerelease): class Releaser: - """Releaser creates GitHub releases for each docker image.""" + """Releaser creates GitHub releases for each docker image. + """ def __init__( # pylint: disable=too-many-arguments self, diff --git a/python/aswfdocker/tests/test_index.py b/python/aswfdocker/tests/test_index.py index bde5c050..b6f3b332 100644 --- a/python/aswfdocker/tests/test_index.py +++ b/python/aswfdocker/tests/test_index.py @@ -32,7 +32,6 @@ def test_get_versions(self): self.index.iter_versions(constants.ImageType.CI_IMAGE, ciimages[0]) ) self.assertGreaterEqual(len(versions), 1) - print(versions[0]) self.assertTrue(versions[0].startswith("1-clang")) def test_version_info(self): From 2a6c343677c9b03f0882e4972b7dafa04b88638f Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 30 Sep 2020 22:41:37 +1000 Subject: [PATCH 021/132] Updated versions and changelog Signed-off-by: Aloys Baillet --- CHANGELOG.md | 23 +++++++++++++++ versions.yaml | 81 ++++++++++++++++++++++++++------------------------- 2 files changed, 64 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8d10ebb..328e8255 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,29 @@ # Changelog All notable changes to this project will be documented in this file. +## 2020-09-30 +### Added +* Added `clang-tidy` into all clang images: [#71](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/71) +* New `ci-common:1-clang6`, `ci-common:1-clang7` (similar to `ci-common:1`), `ci-common:1-clang8`, `ci-common:1-clang9` and `ci-common:2-clang10` +* New `ci-openvdb:2019-clang6`, `ci-openvdb:2019-clang7` (similar to `ci-openvdb:2019`), `ci-openvdb:2019-clang8`, `ci-openvdb:2019-clang9` and `ci-openvdb:2021-clang10` + +### Changed +* Cleanup of shell scripts: [#74](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/74) +* Internal changes to python `aswfdocker` utility to allow for clang variants. + +### New CI Images: +* `ci-common:1-clang6.6`, `ci-common:1-clang7.6`, `ci-common:1-clang8.6`, `ci-common:1-clang9.6`, `ci-common:2-clang10.2` +* `ci-base:2018.6`, `ci-base:2019.6`, `ci-base:2020.6`, `ci-base:2021.2` +* `ci-openexr:2018.6`, `ci-openexr:2019.6`, `ci-openexr:2020.6`, `ci-openexr:2021.2` +* `ci-openvdb:2018-clang7.6`, `ci-openvdb:2019-clang6.6`, `ci-openvdb:2019-clang7.6`, `ci-openvdb:2019-clang8.6`, `ci-openvdb:2019-clang9.6`, `ci-openvdb:2020-clang7.6`, `ci-openvdb:2021-clang10.2` +* `ci-ocio:2018.7`, `ci-ocio:2019.7`, `ci-ocio:2020.6`, `ci-ocio:2021.2` +* `ci-opencue:2018.6`, `ci-opencue:2019.6`, `ci-opencue:2020.6`, `ci-opencue:2021.2` +* `ci-usd:2019.7`, `ci-usd:2020.6`, `ci-usd:2021.2` +* `ci-osl:2018-clang7.2`, `ci-osl:2019-clang6.2`, `ci-osl:2019-clang7.2`, `ci-osl:2019-clang8.2`, `ci-osl:2019-clang9.2`, `ci-osl:2020-clang7.2`, `ci-osl:2021-clang10.2` +* `ci-otio:2019.1`, `ci-otio:2020.1`, `ci-otio:2021.1` +* `ci-vfxall:2019.10`, `ci-vfxall:2020.8`, `ci-vfxall:2021.3` + + ## 2020-08-01 ### Added diff --git a/versions.yaml b/versions.yaml index e09eff89..ee4bb736 100644 --- a/versions.yaml +++ b/versions.yaml @@ -228,58 +228,59 @@ ci-packages: ci-images: common: - - "1-clang6.5" - - "1-clang7.5" - - "1-clang8.5" - - "1-clang9.5" - - "2-clang10.1" + - "1-clang6.6" + - "1-clang7.6" + - "1-clang8.6" + - "1-clang9.6" + - "2-clang10.2" base: - - "2018.5" - - "2019.5" - - "2020.5" - - "2021.1" + - "2018.6" + - "2019.6" + - "2020.6" + - "2021.2" openexr: - - "2018.5" - - "2019.5" - - "2020.5" - - "2021.1" + - "2018.6" + - "2019.6" + - "2020.6" + - "2021.2" openvdb: - - "2018.5" - - "2018.5" - - "2019-clang6.5" - - "2019-clang7.5" - - "2019-clang8.5" - - "2019-clang9.5" - - "2020.5" - - "2021.1" - - "2021-clang10.5" + - "2018-clang7.6" + - "2019-clang6.6" + - "2019-clang7.6" + - "2019-clang8.6" + - "2019-clang9.6" + - "2020-clang7.6" + - "2021-clang10.2" ocio: + - "2018.7" + - "2019.7" + - "2020.6" + - "2021.2" + opencue: - "2018.6" - "2019.6" - - "2020.5" - - "2021.1" - opencue: - - "2018.5" - - "2019.5" - - "2020.5" - - "2021.1" + - "2020.6" + - "2021.2" usd: - - "2019.6" - - "2020.5" - - "2021.1" + - "2019.7" + - "2020.6" + - "2021.2" osl: - - "2018.1" + - "2018-clang7.2" + - "2019-clang6.2" + - "2019-clang7.2" + - "2019-clang8.2" + - "2019-clang9.2" + - "2020-clang7.2" + - "2021-clang10.2" + otio: - "2019.1" - "2020.1" - "2021.1" - otio: - - "2019.0" - - "2020.0" - - "2021.0" vfxall: - - "2019.9" - - "2020.7" - - "2021.2" + - "2019.10" + - "2020.8" + - "2021.3" rt-images: base: From 2296869ce843e6da6279cf96342f435b621483c0 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Fri, 9 Oct 2020 07:19:45 +1100 Subject: [PATCH 022/132] Fixed test Signed-off-by: Aloys Baillet --- python/aswfdocker/tests/test_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 02bfb362..23a0e389 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -126,7 +126,7 @@ def test_image_base_2019clang_dict(self): ) openvdb_version = list( index.Index().iter_versions(constants.ImageType.IMAGE, "openvdb") - )[5] + )[4] self.assertEqual( b.make_bake_dict(), { From d2862e260e6466fc059e39c78e68c0b997ac95dd Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 14 Oct 2020 06:40:01 +1100 Subject: [PATCH 023/132] Updated clang7 from clang-7.0.1 to clang-7.1.0 Signed-off-by: Aloys Baillet --- CHANGELOG.md | 1 + scripts/1/versions_common.sh | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 328e8255..5fe4a98d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. * Added `clang-tidy` into all clang images: [#71](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/71) * New `ci-common:1-clang6`, `ci-common:1-clang7` (similar to `ci-common:1`), `ci-common:1-clang8`, `ci-common:1-clang9` and `ci-common:2-clang10` * New `ci-openvdb:2019-clang6`, `ci-openvdb:2019-clang7` (similar to `ci-openvdb:2019`), `ci-openvdb:2019-clang8`, `ci-openvdb:2019-clang9` and `ci-openvdb:2021-clang10` +* Updated clang7 from clang-7.0.1 to clang-7.1.0 ### Changed * Cleanup of shell scripts: [#74](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/74) diff --git a/scripts/1/versions_common.sh b/scripts/1/versions_common.sh index 9f17ecff..689636ad 100644 --- a/scripts/1/versions_common.sh +++ b/scripts/1/versions_common.sh @@ -6,7 +6,7 @@ set -ex export DTS_VERSION=6 export CCACHE_VERSION=3.7.4 -export CLANG_VERSION=7.0.1 +export CLANG_VERSION=7.1.0 export NINJA_VERSION=1.10.0 export SONAR_VERSION=3.3.0.1492 export PKGS_COMMON_CMAKE_VERSION=3.12.4 # Only used to build common packages @@ -14,7 +14,7 @@ export PKGS_COMMON_CMAKE_VERSION=3.12.4 # Only used to build common packages if [[ $CLANG_MAJOR_VERSION == 6 ]]; then export CLANG_VERSION=6.0.1 elif [[ $CLANG_MAJOR_VERSION == 7 ]]; then - export CLANG_VERSION=7.0.1 + export CLANG_VERSION=7.1.0 elif [[ $CLANG_MAJOR_VERSION == 8 ]]; then export CLANG_VERSION=8.0.1 elif [[ $CLANG_MAJOR_VERSION == 9 ]]; then From 0a75f13d30c48d588a70650147d6e4717bd87487 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 14 Oct 2020 06:40:52 +1100 Subject: [PATCH 024/132] Updated tests Signed-off-by: Aloys Baillet --- scripts/tests/1/test_common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/tests/1/test_common.sh b/scripts/tests/1/test_common.sh index 43b063ec..70827b04 100755 --- a/scripts/tests/1/test_common.sh +++ b/scripts/tests/1/test_common.sh @@ -5,13 +5,13 @@ set -ex clang_v=$(clang --version) -if [[ $clang_v != clang\ version\ 7.0* ]] +if [[ $clang_v != clang\ version\ 7.1* ]] then exit 1 fi clang_tidy_v=$(clang-tidy --version) -if [[ $clang_tidy_v != *LLVM\ version\ 7.0* ]] +if [[ $clang_tidy_v != *LLVM\ version\ 7.1* ]] then exit 1 fi From 858cef588760043241201af1c383a5714fcef722 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 17 Oct 2020 14:22:12 +1100 Subject: [PATCH 025/132] Added missing version info for 2018-clang7 and 2020-clang7 Signed-off-by: Aloys Baillet --- versions.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/versions.yaml b/versions.yaml index ee4bb736..4d3f8949 100644 --- a/versions.yaml +++ b/versions.yaml @@ -51,6 +51,13 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "7" + - version: "2018-clang7" + major_version: "2018" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "7" - version: "2019" major_version: "2019" tags: ["latest"] @@ -97,6 +104,13 @@ versions: python_version: "3.7" dts_version: "6" clang_major_version: "7" + - version: "2020-clang7" + major_version: "2020" + tags: [] + ci_common_version: "1" + python_version: "3.7" + dts_version: "6" + clang_major_version: "7" - version: "2021" major_version: "2021" tags: ["preview"] From b1688b2c52a16ec9d4063ccb7145a4d94ebc467c Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 17 Oct 2020 14:36:18 +1100 Subject: [PATCH 026/132] Added clang variants to vfxall Signed-off-by: Aloys Baillet --- versions.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/versions.yaml b/versions.yaml index 4d3f8949..e0ffe0d9 100644 --- a/versions.yaml +++ b/versions.yaml @@ -292,9 +292,12 @@ ci-images: - "2020.1" - "2021.1" vfxall: - - "2019.10" - - "2020.8" - - "2021.3" + - "2019-clang6.10" + - "2019-clang7.10" + - "2019-clang8.10" + - "2019-clang9.10" + - "2020-clang7.8" + - "2021-clang10.3" rt-images: base: From 2c57641c837f3befb26ce953d6138010379dd1ae Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 17 Oct 2020 14:40:23 +1100 Subject: [PATCH 027/132] Updated changelog Signed-off-by: Aloys Baillet --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fe4a98d..55caedb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. * Added `clang-tidy` into all clang images: [#71](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/71) * New `ci-common:1-clang6`, `ci-common:1-clang7` (similar to `ci-common:1`), `ci-common:1-clang8`, `ci-common:1-clang9` and `ci-common:2-clang10` * New `ci-openvdb:2019-clang6`, `ci-openvdb:2019-clang7` (similar to `ci-openvdb:2019`), `ci-openvdb:2019-clang8`, `ci-openvdb:2019-clang9` and `ci-openvdb:2021-clang10` +* New `ci-vfxall:2019-clang6`, `ci-vfxall:2019-clang7`, `ci-vfxall:2019-clang8`, `ci-vfxall:2019-clang9`, `ci-vfxall:2020-clang7`, `ci-vfxall:2021-clang10` * Updated clang7 from clang-7.0.1 to clang-7.1.0 ### Changed @@ -22,7 +23,7 @@ All notable changes to this project will be documented in this file. * `ci-usd:2019.7`, `ci-usd:2020.6`, `ci-usd:2021.2` * `ci-osl:2018-clang7.2`, `ci-osl:2019-clang6.2`, `ci-osl:2019-clang7.2`, `ci-osl:2019-clang8.2`, `ci-osl:2019-clang9.2`, `ci-osl:2020-clang7.2`, `ci-osl:2021-clang10.2` * `ci-otio:2019.1`, `ci-otio:2020.1`, `ci-otio:2021.1` -* `ci-vfxall:2019.10`, `ci-vfxall:2020.8`, `ci-vfxall:2021.3` +* `ci-vfxall:2019-clang6.10`, `ci-vfxall:2019-clang7.10`, `ci-vfxall:2019-clang8.10`, `ci-vfxall:2019-clang9.10`, `ci-vfxall:2020-clang7.8`, `ci-vfxall:2021-clang10.3` ## 2020-08-01 From 075a3368bb59125da470432adb297a3a7f1d44fb Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 17 Oct 2020 16:36:26 +1100 Subject: [PATCH 028/132] Updated OpenVDB and USD to latest Signed-off-by: Aloys Baillet --- scripts/2020/versions_vfx.sh | 4 ++-- scripts/2021/versions_vfx.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/2020/versions_vfx.sh b/scripts/2020/versions_vfx.sh index 6987b598..a9fa267d 100644 --- a/scripts/2020/versions_vfx.sh +++ b/scripts/2020/versions_vfx.sh @@ -13,8 +13,8 @@ export HDF5_VERSION=1.8.21 export ALEMBIC_VERSION=1.7.12 export PTEX_VERSION=2.3.2 export OPENSUBDIV_VERSION=3_4_3 -export OPENVDB_VERSION=7.0.0 -export USD_VERSION=20.05 +export OPENVDB_VERSION=7.1.0 +export USD_VERSION=20.11 export OSL_VERSION=1.10.10 export OTIO_VERSION=0.12.1 export PARTIO_VERSION=1.10.1 diff --git a/scripts/2021/versions_vfx.sh b/scripts/2021/versions_vfx.sh index 6987b598..a9fa267d 100644 --- a/scripts/2021/versions_vfx.sh +++ b/scripts/2021/versions_vfx.sh @@ -13,8 +13,8 @@ export HDF5_VERSION=1.8.21 export ALEMBIC_VERSION=1.7.12 export PTEX_VERSION=2.3.2 export OPENSUBDIV_VERSION=3_4_3 -export OPENVDB_VERSION=7.0.0 -export USD_VERSION=20.05 +export OPENVDB_VERSION=7.1.0 +export USD_VERSION=20.11 export OSL_VERSION=1.10.10 export OTIO_VERSION=0.12.1 export PARTIO_VERSION=1.10.1 From e82cc267161b702294fb1a1a8a40184a988d744c Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 17 Oct 2020 17:19:16 +1100 Subject: [PATCH 029/132] Updated changelog Signed-off-by: Aloys Baillet --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55caedb6..cf8a9353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ All notable changes to this project will be documented in this file. ### Changed * Cleanup of shell scripts: [#74](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/74) * Internal changes to python `aswfdocker` utility to allow for clang variants. +* Updated OpenVDB from `7.0.0` to `7.1.0`. +* Updated USD from `20.05` to `20.11`. ### New CI Images: * `ci-common:1-clang6.6`, `ci-common:1-clang7.6`, `ci-common:1-clang8.6`, `ci-common:1-clang9.6`, `ci-common:2-clang10.2` From c6db97ae34d3dd39ebb7d2ff30cf6c084734f5c4 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 17 Oct 2020 17:25:21 +1100 Subject: [PATCH 030/132] Fixed 'most most' typo Signed-off-by: Aloys Baillet --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4f904409..6f7cb8f9 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,10 @@ Each image (apart from `ci-common`) is available for multiple VFX Platform Years | ------ | ----- | ----------- | | [aswf/ci-common:1](https://hub.docker.com/r/aswf/ci-common/tags?name=1) ![Image Version](https://img.shields.io/docker/v/aswf/ci-common/latest) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-common/latest) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-common) | A base CentOS-7 image with devtoolset-6 (GCC-6.3.1), clang-7 and cuda. | | [aswf/ci-common:2](https://hub.docker.com/r/aswf/ci-common/tags?name=2) ![Image Version](https://img.shields.io/docker/v/aswf/ci-common/preview) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-common/preview) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-common) | A base CentOS-7 image with devtoolset-9.1 (GCC-9.3.1), clang-10 and cuda. | -| [aswf/ci-base:2018](https://hub.docker.com/r/aswf/ci-base/tags?name=2018) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2018) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2018) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most most VFX Platform requirements pre-installed. | -| [aswf/ci-base:2019](https://hub.docker.com/r/aswf/ci-base/tags?name=2019) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2019) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2019) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most most VFX Platform requirements pre-installed. | -| [aswf/ci-base:2020](https://hub.docker.com/r/aswf/ci-base/tags?name=2020) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2020) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2020) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most most VFX Platform requirements pre-installed. | -| [aswf/ci-base:2021](https://hub.docker.com/r/aswf/ci-base/tags?name=2021) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2021) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2021) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:2` with most most VFX Platform requirements pre-installed. | +| [aswf/ci-base:2018](https://hub.docker.com/r/aswf/ci-base/tags?name=2018) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2018) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2018) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most VFX Platform requirements pre-installed. | +| [aswf/ci-base:2019](https://hub.docker.com/r/aswf/ci-base/tags?name=2019) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2019) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2019) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most VFX Platform requirements pre-installed. | +| [aswf/ci-base:2020](https://hub.docker.com/r/aswf/ci-base/tags?name=2020) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2020) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2020) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most VFX Platform requirements pre-installed. | +| [aswf/ci-base:2021](https://hub.docker.com/r/aswf/ci-base/tags?name=2021) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2021) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2021) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:2` with most VFX Platform requirements pre-installed. | | [aswf/ci-openexr:2018](https://hub.docker.com/r/aswf/ci-openexr/tags?name=2018) ![Image Version](https://img.shields.io/docker/v/aswf/ci-openexr/2018) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-openexr/2018) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-openexr) | Based on `aswf/ci-common:1`, comes with all OpenEXR upstream dependencies pre-installed. | | [aswf/ci-openexr:2019](https://hub.docker.com/r/aswf/ci-openexr/tags?name=2019) ![Image Version](https://img.shields.io/docker/v/aswf/ci-openexr/2019) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-openexr/2019) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-openexr) | Based on `aswf/ci-common:1`, comes with all OpenEXR upstream dependencies pre-installed. | | [aswf/ci-openexr:2020](https://hub.docker.com/r/aswf/ci-openexr/tags?name=2020) ![Image Version](https://img.shields.io/docker/v/aswf/ci-openexr/2020) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-openexr/2020) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-openexr) | Based on `aswf/ci-common:1`, comes with all OpenEXR upstream dependencies pre-installed. | From a8f084d5850e7fdb6e27545e7447e5c471f6cc1c Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 17 Oct 2020 17:25:36 +1100 Subject: [PATCH 031/132] Fixed location of Signed-off-by: Aloys Baillet --- python/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/README.md b/python/README.md index 4aa2ad15..f2f2c8c2 100644 --- a/python/README.md +++ b/python/README.md @@ -8,7 +8,7 @@ The `aswfdocker` command line tool is available to help with package and image b ### For users: ```bash git clone https://github.com/AcademySoftwareFoundation/aswf-docker -cd aswf-docker/python +cd aswf-docker python3 setup.py install ``` From 75e226ceab06cb0d68548331e1f841f750477f19 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Tue, 20 Oct 2020 21:14:03 +1100 Subject: [PATCH 032/132] Adding more clang combos and clang-11 Signed-off-by: Aloys Baillet --- scripts/1/versions_common.sh | 4 ++++ scripts/2/versions_common.sh | 2 ++ versions.yaml | 22 ++++++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/scripts/1/versions_common.sh b/scripts/1/versions_common.sh index 689636ad..3a42f9c4 100644 --- a/scripts/1/versions_common.sh +++ b/scripts/1/versions_common.sh @@ -19,4 +19,8 @@ elif [[ $CLANG_MAJOR_VERSION == 8 ]]; then export CLANG_VERSION=8.0.1 elif [[ $CLANG_MAJOR_VERSION == 9 ]]; then export CLANG_VERSION=9.0.1 +elif [[ $CLANG_MAJOR_VERSION == 10 ]]; then + export CLANG_VERSION=10.0.1 +elif [[ $CLANG_MAJOR_VERSION == 11 ]]; then + export CLANG_VERSION=11.0.0 fi diff --git a/scripts/2/versions_common.sh b/scripts/2/versions_common.sh index 765a620d..3adecca0 100644 --- a/scripts/2/versions_common.sh +++ b/scripts/2/versions_common.sh @@ -13,4 +13,6 @@ export PKGS_COMMON_CMAKE_VERSION=3.12.4 # Only used to build common packages if [[ $CLANG_MAJOR_VERSION == 10 ]]; then export CLANG_VERSION=10.0.1 +elif [[ $CLANG_MAJOR_VERSION == 11 ]]; then + export CLANG_VERSION=11.0.0 fi diff --git a/versions.yaml b/versions.yaml index e0ffe0d9..18223678 100644 --- a/versions.yaml +++ b/versions.yaml @@ -36,6 +36,14 @@ versions: dts_version: "6" clang_major_version: "9" use_major_version_as_tag: false + - version: "1-clang10" + major_version: "1" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "10" + use_major_version_as_tag: false - version: "2-clang10" major_version: "2" tags: ["preview"] @@ -44,6 +52,14 @@ versions: dts_version: "9" clang_major_version: "10" use_major_version_as_tag: true + - version: "2-clang11" + major_version: "2" + tags: [] + ci_common_version: "2" + python_version: "3.7" + dts_version: "9" + clang_major_version: "11" + use_major_version_as_tag: true - version: "2018" major_version: "2018" tags: [] @@ -133,7 +149,9 @@ ci-packages: - "1-clang7.1" - "1-clang8.1" - "1-clang9.1" + - "1-clang10.1" - "2-clang10.1" + - "2-clang11.1" ninja: - "1.2" - "2.0" @@ -246,7 +264,9 @@ ci-images: - "1-clang7.6" - "1-clang8.6" - "1-clang9.6" + - "1-clang10.6" - "2-clang10.2" + - "2-clang11.2" base: - "2018.6" - "2019.6" @@ -286,7 +306,9 @@ ci-images: - "2019-clang8.2" - "2019-clang9.2" - "2020-clang7.2" + - "2020-clang10.2" - "2021-clang10.2" + - "2021-clang11.2" otio: - "2019.1" - "2020.1" From de5bffb4dced14c324b048cc1e543d80a20cec38 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Tue, 20 Oct 2020 22:48:30 +1100 Subject: [PATCH 033/132] Fixed missing clang version for vfxall Signed-off-by: Aloys Baillet --- ci-vfxall/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 787f55c3..47aacce0 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -4,6 +4,7 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb @@ -28,7 +29,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION} as ci-package-part FROM ${ASWF_PKG_ORG}/ci-package-osl:${VFXPLATFORM_VERSION} as ci-package-osl FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION} as ci-package-otio -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-vfxall +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-vfxall ARG ASWF_ORG ARG VFXPLATFORM_VERSION From 98cc83895f68d42c808fd9198763057a016c2e6f Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 21 Oct 2020 08:52:05 +1100 Subject: [PATCH 034/132] --amend Signed-off-by: Aloys Baillet --- ci-base/Dockerfile | 3 ++- ci-baseqt/Dockerfile | 3 ++- ci-ocio/Dockerfile | 3 ++- ci-opencue/Dockerfile | 3 ++- ci-openexr/Dockerfile | 3 ++- ci-otio/Dockerfile | 3 ++- ci-usd/Dockerfile | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 7a10ac98..46742c82 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -4,6 +4,7 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb @@ -13,7 +14,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION} as ci-package-l FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-base +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base ARG ASWF_ORG ARG VFXPLATFORM_VERSION diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index 2fd20263..febea6b9 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -4,6 +4,7 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb @@ -15,7 +16,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-baseqt +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-baseqt ARG ASWF_ORG ARG VFXPLATFORM_VERSION diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index 2beca797..167b92fa 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -4,6 +4,7 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb @@ -14,7 +15,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-ocio +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-ocio ARG ASWF_ORG ARG VFXPLATFORM_VERSION diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index e17b46e0..fc4db2f8 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -4,10 +4,11 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-opencue +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-opencue ARG ASWF_ORG ARG VFXPLATFORM_VERSION diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index 21496320..f6c384ba 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -4,11 +4,12 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-openexr +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openexr ARG ASWF_ORG ARG VFXPLATFORM_VERSION diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index 86062801..c48fe491 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -4,12 +4,13 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-otio +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-otio ARG ASWF_ORG ARG VFXPLATFORM_VERSION diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index 9d08f7a4..f406f939 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -4,6 +4,7 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 +ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb @@ -24,7 +25,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION} as ci-package- FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION} as ci-package-ptex FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION} as ci-package-openvdb -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION} as ci-usd +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-usd ARG ASWF_ORG ARG VFXPLATFORM_VERSION From f47589c6054ccd3a1b66fed573f8eb024a3e6d9d Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 21 Oct 2020 20:58:03 +1100 Subject: [PATCH 035/132] Added changelog Signed-off-by: Aloys Baillet --- CHANGELOG.md | 12 ++++++++++++ versions.yaml | 18 +++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf8a9353..3f9d2f13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,18 @@ # Changelog All notable changes to this project will be documented in this file. +## 2020-10-21 +### Added +* Added `clang-11.0.0` package. + +### Fixed +* All clang variants of `ci-vfxall` actually contained `clang7`. + +### New CI Images: +* `ci-common:2-clang11.2` +* `ci-osl:2019-clang10.2`, `ci-osl:2021-clang11.2` + + ## 2020-09-30 ### Added * Added `clang-tidy` into all clang images: [#71](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/71) diff --git a/versions.yaml b/versions.yaml index 18223678..1c5ec97c 100644 --- a/versions.yaml +++ b/versions.yaml @@ -113,6 +113,14 @@ versions: dts_version: "6" clang_major_version: "9" use_major_version_as_tag: false + - version: "2019-clang10" + major_version: "2019" + tags: [] + ci_common_version: "1" + python_version: "2.7" + dts_version: "6" + clang_major_version: "10" + use_major_version_as_tag: false - version: "2020" major_version: "2020" tags: [] @@ -142,6 +150,14 @@ versions: dts_version: "9" clang_major_version: "10" use_major_version_as_tag: true + - version: "2021-clang11" + major_version: "2021" + tags: ["preview"] + ci_common_version: "2" + python_version: "3.7" + dts_version: "9" + clang_major_version: "11" + use_major_version_as_tag: true ci-packages: clang: @@ -305,8 +321,8 @@ ci-images: - "2019-clang7.2" - "2019-clang8.2" - "2019-clang9.2" + - "2019-clang10.2" - "2020-clang7.2" - - "2020-clang10.2" - "2021-clang10.2" - "2021-clang11.2" otio: From 7a8c4d85a2a21f54dd675da284f334151391f84e Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 29 Aug 2020 16:50:49 +1000 Subject: [PATCH 036/132] Added CUDA_VERSION build argument Signed-off-by: Aloys Baillet --- python/aswfdocker/builder.py | 1 + python/aswfdocker/tests/test_builder.py | 4 ++++ python/aswfdocker/versioninfo.py | 2 ++ 3 files changed, 7 insertions(+) diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index ceedef4c..90b4cb8d 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -54,6 +54,7 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: "VFXPLATFORM_VERSION": version_info.major_version, "DTS_VERSION": version_info.dts_version, "CLANG_MAJOR_VERSION": version_info.clang_major_version, + "CUDA_VERSION": version_info.cuda_version, }, "labels": { "org.opencontainers.image.created": self.build_info.build_date, diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 23a0e389..29dda8b9 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -48,6 +48,7 @@ def test_package_baseqt_2019_dict(self): "ASWF_VERSION": qt_version, "CI_COMMON_VERSION": "1", "CLANG_MAJOR_VERSION": "7", + "CUDA_VERSION": "10.2", "DTS_VERSION": "6", "PYTHON_VERSION": "2.7", "VFXPLATFORM_VERSION": "2019", @@ -95,6 +96,7 @@ def test_image_base_2019_dict(self): "ASWF_VERSION": base_version, "CI_COMMON_VERSION": "1", "CLANG_MAJOR_VERSION": "7", + "CUDA_VERSION": "10.2", "DTS_VERSION": "6", "PYTHON_VERSION": "2.7", "VFXPLATFORM_VERSION": "2019", @@ -186,6 +188,7 @@ def test_image_base_2019_2020_dict(self): "ASWF_VERSION": base_versions[2], "CI_COMMON_VERSION": "1", "CLANG_MAJOR_VERSION": "7", + "CUDA_VERSION": "10.2", "DTS_VERSION": "6", "PYTHON_VERSION": "3.7", "VFXPLATFORM_VERSION": "2020", @@ -209,6 +212,7 @@ def test_image_base_2019_2020_dict(self): "ASWF_VERSION": base_versions[1], "CI_COMMON_VERSION": "1", "CLANG_MAJOR_VERSION": "7", + "CUDA_VERSION": "10.2", "DTS_VERSION": "6", "PYTHON_VERSION": "2.7", "VFXPLATFORM_VERSION": "2019", diff --git a/python/aswfdocker/versioninfo.py b/python/aswfdocker/versioninfo.py index e69c4682..ceaf6c41 100644 --- a/python/aswfdocker/versioninfo.py +++ b/python/aswfdocker/versioninfo.py @@ -22,6 +22,7 @@ def __init__( # noqa too many arguments dts_version: str, clang_major_version: str, use_major_version_as_tag=True, + cuda_version: str, ): self.version = version self.major_version = major_version @@ -31,6 +32,7 @@ def __init__( # noqa too many arguments self.dts_version = dts_version self.clang_major_version = clang_major_version self.use_major_version_as_tag = use_major_version_as_tag + self.cuda_version = cuda_version def get_tags( self, aswf_version: str, docker_org: str, image_name: str From ea642e5d5fce0d3970b34bc08780abf131a2d05a Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 29 Aug 2020 16:59:21 +1000 Subject: [PATCH 037/132] Updated gl-dependent docker image versions with cuda-11 Signed-off-by: Aloys Baillet --- CHANGELOG.md | 16 ++++++++++- README.md | 4 +-- python/aswfdocker/index.py | 1 + python/aswfdocker/tests/test_builder.py | 1 + python/aswfdocker/versioninfo.py | 4 +-- versions.yaml | 36 +++++++++++++++++++------ 6 files changed, 49 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f9d2f13..75449d37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog All notable changes to this project will be documented in this file. +<<<<<<< HEAD ## 2020-10-21 ### Added * Added `clang-11.0.0` package. @@ -39,11 +40,24 @@ All notable changes to this project will be documented in this file. * `ci-otio:2019.1`, `ci-otio:2020.1`, `ci-otio:2021.1` * `ci-vfxall:2019-clang6.10`, `ci-vfxall:2019-clang7.10`, `ci-vfxall:2019-clang8.10`, `ci-vfxall:2019-clang9.10`, `ci-vfxall:2020-clang7.8`, `ci-vfxall:2021-clang10.3` +======= +## 2020-09 + +### Changed +* Updated `ci-common:2` to cuda-11 + +### New CI Images +* `aswf/ci-common:2021.2` +* `aswf/ci-ocio:2021.2` +* `aswf/ci-usd:2021.2` +* `aswf/ci-osl:2021.2` +* `aswf/ci-vfxall:2021.3` +>>>>>>> Updated gl-dependent docker image versions ## 2020-08-01 ### Added -* New `ci:otio` docker image +* New `ci-otio` docker image * Added OpenTimelineIO 0.12 to `ci-vfxall` ### New CI Images: diff --git a/README.md b/README.md index 6f7cb8f9..d6ccf806 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ Each image (apart from `ci-common`) is available for multiple VFX Platform Years | Image | Stats | Description | | ------ | ----- | ----------- | -| [aswf/ci-common:1](https://hub.docker.com/r/aswf/ci-common/tags?name=1) ![Image Version](https://img.shields.io/docker/v/aswf/ci-common/latest) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-common/latest) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-common) | A base CentOS-7 image with devtoolset-6 (GCC-6.3.1), clang-7 and cuda. | -| [aswf/ci-common:2](https://hub.docker.com/r/aswf/ci-common/tags?name=2) ![Image Version](https://img.shields.io/docker/v/aswf/ci-common/preview) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-common/preview) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-common) | A base CentOS-7 image with devtoolset-9.1 (GCC-9.3.1), clang-10 and cuda. | +| [aswf/ci-common:1](https://hub.docker.com/r/aswf/ci-common/tags?name=1) ![Image Version](https://img.shields.io/docker/v/aswf/ci-common/latest) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-common/latest) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-common) | A base CentOS-7 image with devtoolset-6 (GCC-6.3.1), clang-7 and cuda-10.2. | +| [aswf/ci-common:2](https://hub.docker.com/r/aswf/ci-common/tags?name=2) ![Image Version](https://img.shields.io/docker/v/aswf/ci-common/preview) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-common/preview) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-common) | A base CentOS-7 image with devtoolset-9.1 (GCC-9.3.1), clang-10 and cuda-11. | | [aswf/ci-base:2018](https://hub.docker.com/r/aswf/ci-base/tags?name=2018) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2018) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2018) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most VFX Platform requirements pre-installed. | | [aswf/ci-base:2019](https://hub.docker.com/r/aswf/ci-base/tags?name=2019) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2019) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2019) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most VFX Platform requirements pre-installed. | | [aswf/ci-base:2020](https://hub.docker.com/r/aswf/ci-base/tags?name=2020) ![Image Version](https://img.shields.io/docker/v/aswf/ci-base/2020) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-base/2020) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-base) | Based on `aswf/ci-common:1` with most VFX Platform requirements pre-installed. | diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index f145314c..5b3e28fe 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -52,6 +52,7 @@ def iter_version_info(self): python_version=v.get("python_version"), dts_version=v.get("dts_version"), clang_major_version=v.get("clang_major_version"), + cuda_version=v.get("cuda_version"), use_major_version_as_tag=v.get("use_major_version_as_tag", True), ) diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 29dda8b9..243f02ad 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -143,6 +143,7 @@ def test_image_base_2019clang_dict(self): "ASWF_VERSION": openvdb_version, "CI_COMMON_VERSION": "1", "CLANG_MAJOR_VERSION": "9", + "CUDA_VERSION": "10.2", "DTS_VERSION": "6", "PYTHON_VERSION": "2.7", "VFXPLATFORM_VERSION": "2019", diff --git a/python/aswfdocker/versioninfo.py b/python/aswfdocker/versioninfo.py index ceaf6c41..317b76d9 100644 --- a/python/aswfdocker/versioninfo.py +++ b/python/aswfdocker/versioninfo.py @@ -21,8 +21,8 @@ def __init__( # noqa too many arguments python_version: str, dts_version: str, clang_major_version: str, - use_major_version_as_tag=True, cuda_version: str, + use_major_version_as_tag=True, ): self.version = version self.major_version = major_version @@ -31,8 +31,8 @@ def __init__( # noqa too many arguments self.python_version = python_version self.dts_version = dts_version self.clang_major_version = clang_major_version - self.use_major_version_as_tag = use_major_version_as_tag self.cuda_version = cuda_version + self.use_major_version_as_tag = use_major_version_as_tag def get_tags( self, aswf_version: str, docker_org: str, image_name: str diff --git a/versions.yaml b/versions.yaml index 1c5ec97c..0cbd6ac4 100644 --- a/versions.yaml +++ b/versions.yaml @@ -11,6 +11,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "6" + cuda_version: "10.2" use_major_version_as_tag: false - version: "1-clang7" major_version: "1" @@ -19,6 +20,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "7" + cuda_version: "10.2" use_major_version_as_tag: true - version: "1-clang8" major_version: "1" @@ -27,6 +29,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "8" + cuda_version: "10.2" use_major_version_as_tag: false - version: "1-clang9" major_version: "1" @@ -35,6 +38,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "9" + cuda_version: "10.2" use_major_version_as_tag: false - version: "1-clang10" major_version: "1" @@ -43,6 +47,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "10" + cuda_version: "10.2" use_major_version_as_tag: false - version: "2-clang10" major_version: "2" @@ -51,6 +56,7 @@ versions: python_version: "3.7" dts_version: "9" clang_major_version: "10" + cuda_version: "11.1" use_major_version_as_tag: true - version: "2-clang11" major_version: "2" @@ -58,7 +64,8 @@ versions: ci_common_version: "2" python_version: "3.7" dts_version: "9" - clang_major_version: "11" + clang_major_version: "11.1" + cuda_version: "11.1" use_major_version_as_tag: true - version: "2018" major_version: "2018" @@ -67,6 +74,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "7" + cuda_version: "10.2" - version: "2018-clang7" major_version: "2018" tags: [] @@ -74,6 +82,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "7" + cuda_version: "10.2" - version: "2019" major_version: "2019" tags: ["latest"] @@ -81,6 +90,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "7" + cuda_version: "10.2" - version: "2019-clang6" major_version: "2019" tags: [] @@ -88,6 +98,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "6" + cuda_version: "10.2" use_major_version_as_tag: false - version: "2019-clang7" major_version: "2019" @@ -96,6 +107,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "7" + cuda_version: "10.2" use_major_version_as_tag: true - version: "2019-clang8" major_version: "2019" @@ -104,6 +116,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "8" + cuda_version: "10.2" use_major_version_as_tag: false - version: "2019-clang9" major_version: "2019" @@ -112,6 +125,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "9" + cuda_version: "10.2" use_major_version_as_tag: false - version: "2019-clang10" major_version: "2019" @@ -120,6 +134,7 @@ versions: python_version: "2.7" dts_version: "6" clang_major_version: "10" + cuda_version: "10.2" use_major_version_as_tag: false - version: "2020" major_version: "2020" @@ -127,6 +142,7 @@ versions: ci_common_version: "1" python_version: "3.7" dts_version: "6" + cuda_version: "10.2" clang_major_version: "7" - version: "2020-clang7" major_version: "2020" @@ -134,6 +150,7 @@ versions: ci_common_version: "1" python_version: "3.7" dts_version: "6" + cuda_version: "10.2" clang_major_version: "7" - version: "2021" major_version: "2021" @@ -141,6 +158,7 @@ versions: ci_common_version: "2" python_version: "3.7" dts_version: "9" + cuda_version: "11.1" clang_major_version: "10" - version: "2021-clang10" major_version: "2021" @@ -149,6 +167,7 @@ versions: python_version: "3.7" dts_version: "9" clang_major_version: "10" + cuda_version: "11.1" use_major_version_as_tag: true - version: "2021-clang11" major_version: "2021" @@ -157,6 +176,7 @@ versions: python_version: "3.7" dts_version: "9" clang_major_version: "11" + cuda_version: "11.1" use_major_version_as_tag: true ci-packages: @@ -195,12 +215,12 @@ ci-packages: - "2018.1" - "2019.1" - "2020.1" - - "2021.0" + - "2021.1" glfw: - "2018.1" - "2019.1" - "2020.1" - - "2021.0" + - "2021.1" log4cplus: - "2018.1" - "2019.1" @@ -235,17 +255,17 @@ ci-packages: - "2018.1" - "2019.1" - "2020.1" - - "2021.0" + - "2021.1" oiio: - "2018.1" - "2019.1" - "2020.1" - - "2021.0" + - "2021.1" opensubdiv: - "2018.1" - "2019.1" - "2020.1" - - "2021.0" + - "2021.1" ptex: - "2018.1" - "2019.1" @@ -258,7 +278,7 @@ ci-packages: usd: - "2019.2" - "2020.1" - - "2021.0" + - "2021.1" partio: - "2018.0" - "2019.0" @@ -268,7 +288,7 @@ ci-packages: - "2018.0" - "2019.0" - "2020.0" - - "2021.0" + - "2021.1" otio: - "2019.0" - "2020.0" From bab0df9797575241182fc7a9fa43b7c28082782a Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 31 Oct 2020 16:08:31 +1100 Subject: [PATCH 038/132] Exposing package versions to docker images Signed-off-by: Aloys Baillet --- ci-base/Dockerfile | 71 ++++-- ci-baseqt/Dockerfile | 14 +- ci-common/Dockerfile | 22 +- ci-ocio/Dockerfile | 16 +- ci-opencue/Dockerfile | 15 +- ci-openexr/Dockerfile | 15 +- ci-openvdb/Dockerfile | 16 +- ci-osl/Dockerfile | 19 +- ci-otio/Dockerfile | 16 +- ci-usd/Dockerfile | 20 +- ci-vfxall/Dockerfile | 18 +- packages/Dockerfile | 166 ++++++++----- python/aswfdocker/builder.py | 20 +- python/aswfdocker/index.py | 34 ++- python/aswfdocker/tests/test_builder.py | 177 ++++++++----- python/aswfdocker/versioninfo.py | 21 +- scripts/1/versions_common.sh | 26 -- scripts/2/versions_common.sh | 18 -- scripts/2018/patchup.sh | 7 - scripts/2018/versions_base.sh | 18 -- scripts/2018/versions_vfx.sh | 19 -- scripts/2019/patchup.sh | 7 - scripts/2019/versions_base.sh | 18 -- scripts/2019/versions_vfx.sh | 20 -- scripts/2020/patchup.sh | 7 - scripts/2020/versions_base.sh | 18 -- scripts/2020/versions_vfx.sh | 20 -- scripts/2021/patchup.sh | 7 - scripts/2021/versions_base.sh | 18 -- scripts/2021/versions_vfx.sh | 20 -- scripts/base/build_python.sh | 6 +- scripts/common/install_ccache.sh | 6 +- scripts/common/install_dev_ccache.sh | 7 +- scripts/common/install_dev_cmake.sh | 2 + versions.yaml | 314 ++++++++++++++---------- 35 files changed, 545 insertions(+), 673 deletions(-) delete mode 100644 scripts/1/versions_common.sh delete mode 100644 scripts/2/versions_common.sh delete mode 100755 scripts/2018/patchup.sh delete mode 100644 scripts/2018/versions_base.sh delete mode 100644 scripts/2018/versions_vfx.sh delete mode 100755 scripts/2019/patchup.sh delete mode 100644 scripts/2019/versions_base.sh delete mode 100644 scripts/2019/versions_vfx.sh delete mode 100755 scripts/2020/patchup.sh delete mode 100644 scripts/2020/versions_base.sh delete mode 100644 scripts/2020/versions_vfx.sh delete mode 100755 scripts/2021/patchup.sh delete mode 100644 scripts/2021/versions_base.sh delete mode 100644 scripts/2021/versions_vfx.sh diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 46742c82..4a2c5b11 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -5,42 +5,75 @@ ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG VFXPLATFORM_VERSION=2019 ARG CLANG_MAJOR_VERSION=7 +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG LOG4CPLUS_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG TBB_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION} as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}=${LOG4CPLUS_VERSION} as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base ARG ASWF_ORG ARG VFXPLATFORM_VERSION ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 + +ARG BOOST_VERSION +ENV BOOST_VERSION=${BOOST_VERSION} +ARG CMAKE_VERSION +ENV CMAKE_VERSION=${CMAKE_VERSION} +ARG CPPUNIT_VERSION +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} +ARG GLEW_VERSION +ENV GLEW_VERSION=${GLEW_VERSION} +ARG GLFW_VERSION +ENV GLFW_VERSION=${GLFW_VERSION} +ARG LOG4CPLUS_VERSION +ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} +ARG NUMPY_VERSION +ENV NUMPY_VERSION=${NUMPY_VERSION} +ARG PYTHON_VERSION +ENV PYTHON_VERSION=${PYTHON_VERSION} +ARG TBB_VERSION +ENV TBB_VERSION=${TBB_VERSION} LABEL maintainer="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-ci" -LABEL org.opencontainers.image.description="Base CI Docker Image" +LABEL org.opencontainers.image.title="Base CI Docker Image" +LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and base libraries" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$ASWF_VERSION +LABEL org.opencontainers.image.version=${ASWF_VERSION} +LABEL io.aswf.docker.versions.boost=${BOOST_VERSION} +LABEL io.aswf.docker.versions.cmake=${CMAKE_VERSION} +LABEL io.aswf.docker.versions.cppunit=${CPPUNIT_VERSION} +LABEL io.aswf.docker.versions.glew=${GLEW_VERSION} +LABEL io.aswf.docker.versions.glfw=${GLFW_VERSION} +LABEL io.aswf.docker.versions.log4cplus=${LOG4CPLUS_VERSION} +LABEL io.aswf.docker.versions.numpy=${NUMPY_VERSION} +LABEL io.aswf.docker.versions.python=${PYTHON_VERSION} +LABEL io.aswf.docker.versions.tbb=${TBB_VERSION} ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/*.sh \ - /tmp/ - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ @@ -48,10 +81,4 @@ COPY --from=ci-package-cppunit /. /usr/local/ COPY --from=ci-package-log4cplus /. /usr/local/ COPY --from=ci-package-glew /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads +COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index febea6b9..8f87fd81 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -15,6 +15,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-baseqt @@ -38,11 +39,6 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/*.sh \ - /tmp/ - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ @@ -52,10 +48,4 @@ COPY --from=ci-package-glew /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads +COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index 4144ea3f..8f56da4d 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -5,27 +5,36 @@ ARG ASWF_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting ARG CI_COMMON_VERSION=1 ARG DTS_VERSION=6 -ARG CLANG_MAJOR_VERSION=7 +ARG CLANG_VERSION +ARG NINJA_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-package-clang -FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION} as ci-package-ninja +FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION}-${CLANG_VERSION} as ci-package-clang +FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION}-${NINJA_VERSION} as ci-package-ninja FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-common ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG CLANG_MAJOR_VERSION +ARG CLANG_VERSION +ENV CLANG_VERSION=${CLANG_VERSION} + +ARG NINJA_VERSION +ENV NINJA_VERSION=${NINJA_VERSION} LABEL maintainer="aloys.baillet@gmail.com" LABEL org.opencontainers.image.name="$ASWF_ORG/base-ci" -LABEL org.opencontainers.image.description="Common CI Docker Image" +LABEL org.opencontainers.image.title="Common CI Docker Image" +LABEL org.opencontainers.image.description="Contains: clang:${CLANG_VERSION}, ninja:${NINJA_VERSION}" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/ci-common/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.version="1.0" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.clang="${CLANG_VERSION}" +LABEL io.aswf.docker.versions.ninja="${NINJA_VERSION}" USER root @@ -42,7 +51,6 @@ WORKDIR /opt/aswf ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ CI_COMMON_VERSION=${CI_COMMON_VERSION} \ - CLANG_MAJOR_VERSION=${CLANG_MAJOR_VERSION} \ PERL5LIB=/opt/rh/rh-git218/root/usr/share/perl5/vendor_perl \ MANPATH=/opt/rh/rh-git218/root/usr/share/man \ ASWF_ORG=${ASWF_ORG} diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index 167b92fa..2fc90bd1 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -11,7 +11,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw - +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio @@ -36,22 +36,10 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/install_cmake.sh \ - /tmp/ - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-glew /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-oiio /. /usr/local/ - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads +COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index fc4db2f8..7a1347a1 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -7,6 +7,7 @@ ARG VFXPLATFORM_VERSION=2019 ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-opencue @@ -30,20 +31,8 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/install_cmake.sh \ - /tmp/ - COPY --from=ci-package-python /. /usr/local/ - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads +COPY --from=ci-package-cmake /. /usr/local/ RUN yum -y install \ java-1.8.0-openjdk.x86_64 \ diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index f6c384ba..8d171b74 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -8,6 +8,7 @@ ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openexr @@ -31,18 +32,6 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/*.sh \ - /tmp/ - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads +COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index dd257c15..7e9d2b17 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -11,7 +11,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION} as ci-package-cppunit FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw - +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION} as ci-package-blosc @@ -37,12 +37,6 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/install_cmake.sh \ - /tmp/ - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ @@ -50,10 +44,4 @@ COPY --from=ci-package-cppunit /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads +COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 9c663fe1..09119c34 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -9,7 +9,7 @@ ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt - +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION} as ci-package-partio @@ -35,25 +35,10 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/l ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/install_cmake.sh \ - /tmp/ - - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ - +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-oiio /. /usr/local/ COPY --from=ci-package-partio /. /usr/local/ - - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index c48fe491..c0b2e4c9 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -9,6 +9,7 @@ ARG CLANG_MAJOR_VERSION=7 FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-otio @@ -31,20 +32,7 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/l ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/install_cmake.sh \ - /tmp/ - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - pip install flake8 tox urllib3 && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads +COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index f406f939..f4e418bf 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -15,7 +15,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside - +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION} as ci-package-blosc FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION} as ci-package-alembic @@ -46,13 +46,6 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/install_cmake.sh \ - /tmp/ - - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ @@ -61,7 +54,7 @@ COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-log4cplus /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ - +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-oiio /. /usr/local/ COPY --from=ci-package-ocio /. /usr/local/ @@ -71,11 +64,4 @@ COPY --from=ci-package-alembic /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ COPY --from=ci-package-openvdb /. /usr/local/ - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - sudo pip install jinja2 PyOpenGL && \ - rm -rf /tmp/downloads +RUN sudo pip install jinja2 PyOpenGL diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 47aacce0..0d44c95b 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -15,7 +15,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside - +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION} as ci-package-blosc FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION} as ci-package-alembic @@ -50,12 +50,6 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/l ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} -COPY scripts/$VFXPLATFORM_VERSION/versions_base.sh \ - scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - scripts/$VFXPLATFORM_VERSION/patchup.sh \ - scripts/base/install_cmake.sh \ - /tmp/ - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ @@ -66,7 +60,7 @@ COPY --from=ci-package-glew /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ - +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ COPY --from=ci-package-alembic /. /usr/local/ @@ -79,11 +73,3 @@ COPY --from=ci-package-usd /. /usr/local/ COPY --from=ci-package-partio /. /usr/local/ COPY --from=ci-package-osl /. /usr/local/ COPY --from=ci-package-otio /. /usr/local/ - - -RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh && \ - /tmp/patchup.sh && \ - rm -rf /tmp/downloads diff --git a/packages/Dockerfile b/packages/Dockerfile index edf56183..a48ad5e8 100644 --- a/packages/Dockerfile +++ b/packages/Dockerfile @@ -9,14 +9,43 @@ ARG PYTHON_VERSION=2.7 ARG CUDA_VERSION=10.2 ARG DTS_VERSION=6 ARG ASWF_ORG=aswftesting -ARG CLANG_MAJOR_VERSION=7 +ARG CLANG_VERSION +ARG NINJA_VERSION +ARG SONAR_VERSION +ARG CCACHE_VERSION +ARG PKGS_COMMON_CMAKE_VERSION +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG LOG4CPLUS_VERSION +ARG NUMPY_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG QT_VERSION +ARG TBB_VERSION +ARG BLOSC_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION +ARG OCIO_VERSION +ARG OCIO_CONFIGS_VERSION +ARG HDF5_VERSION +ARG ALEMBIC_VERSION +ARG PTEX_VERSION +ARG OPENSUBDIV_VERSION +ARG OPENVDB_VERSION +ARG USD_VERSION +ARG OSL_VERSION +ARG OTIO_VERSION +ARG PARTIO_VERSION # Required base packages built in previous passes to speed things up -FROM ${ASWF_ORG}/ci-package-clang:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-package-clang-external -FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python-external -FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost-external -FROM ${ASWF_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt-external -FROM ${ASWF_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside-external +FROM ${ASWF_ORG}/ci-package-clang:${CI_COMMON_VERSION}-${CLANG_VERSION} as ci-package-clang-external +FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external +FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost-external +FROM ${ASWF_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt-external +FROM ${ASWF_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside-external #################### ci-centos7-gl-packages #################### FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-centos7-gl-packages @@ -24,19 +53,25 @@ FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-centos7-gl-packages ARG CI_COMMON_VERSION ARG DTS_VERSION ARG CUDA_VERSION +ARG CLANG_VERSION +ARG NINJA_VERSION +ARG SONAR_VERSION +ARG CCACHE_VERSION +ARG PKGS_COMMON_CMAKE_VERSION COPY ../scripts/common/install_yumpackages.sh \ - ../scripts/${CI_COMMON_VERSION}/versions_common.sh \ - ../scripts/common/install_dev_ccache.sh \ - ../scripts/common/before_build.sh \ - ../scripts/common/copy_new_files.sh \ /tmp/ RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ /tmp/install_yumpackages.sh +COPY ../scripts/common/install_dev_ccache.sh \ + ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + ../scripts/common/install_dev_cmake.sh \ + /tmp/ + ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} \ - CLANG_MAJOR_VERSION=${CLANG_MAJOR_VERSION} \ DOWNLOADS_DIR=/tmp/downloads \ CCACHE_DIR=/tmp/ccache \ ASWF_INSTALL_PREFIX=/usr/local \ @@ -45,7 +80,7 @@ ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} \ CUDA_VERSION=${CUDA_VERSION} RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_common.sh && \ + /tmp/install_dev_cmake.sh && \ /tmp/install_dev_ccache.sh @@ -53,16 +88,14 @@ RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ FROM ci-centos7-gl-packages as ci-clang-builder ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION +ARG CLANG_VERSION +ENV CLANG_VERSION=${CLANG_VERSION} -COPY ../scripts/${CI_COMMON_VERSION}/versions_common.sh \ - ../scripts/common/build_clang.sh \ - ../scripts/common/install_dev_cmake.sh \ +COPY ../scripts/common/build_clang.sh \ /tmp/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,target=/tmp/downloads \ - source /tmp/versions_common.sh && \ /tmp/install_dev_cmake.sh && \ /tmp/before_build.sh && \ /tmp/build_clang.sh && \ @@ -75,6 +108,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-clang +ARG CLANG_VERSION +ENV CLANG_VERSION=${CLANG_VERSION} COPY --from=ci-clang-builder /package/. / @@ -83,14 +118,14 @@ COPY --from=ci-clang-builder /package/. / FROM ci-centos7-gl-packages as ci-ninja-builder ARG CI_COMMON_VERSION +ARG NINJA_VERSION +ENV NINJA_VERSION=${NINJA_VERSION} -COPY ../scripts/${CI_COMMON_VERSION}/versions_common.sh \ - ../scripts/common/build_ninja.sh \ +COPY ../scripts/common/build_ninja.sh \ /tmp/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,target=/tmp/downloads \ - source /tmp/versions_common.sh && \ /tmp/before_build.sh && \ /tmp/build_ninja.sh && \ /tmp/copy_new_files.sh && \ @@ -102,12 +137,43 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-ninja +ARG NINJA_VERSION +ENV NINJA_VERSION=${NINJA_VERSION} COPY --from=ci-ninja-builder /package/. / +#################### ci-cmake-builder #################### +FROM ci-centos7-gl-packages as ci-cmake-builder + +ARG CI_COMMON_VERSION +ARG CMAKE_VERSION +ENV CMAKE_VERSION=${CMAKE_VERSION} + +COPY ../scripts/base/install_cmake.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/install_cmake.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-cmake #################### +# This build target is used to generate a packages of cmake that +# can be placed in a downloadable artifact + +FROM scratch as ci-package-cmake +ARG CMAKE_VERSION +ENV CMAKE_VERSION=${CMAKE_VERSION} + +COPY --from=ci-cmake-builder /package/. / + + #################### ci-base-builder #################### -FROM ci-centos7-gl-packages as ci-base-builder +FROM ci-cmake-builder as ci-base-builder ARG VFXPLATFORM_VERSION ARG PYTHON_VERSION @@ -115,37 +181,33 @@ ARG PYTHON_VERSION ENV PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -COPY ../scripts/${VFXPLATFORM_VERSION}/versions_base.sh \ - ../scripts/base/install_cmake.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ - /tmp/install_cmake.sh - #################### ci-python-builder #################### FROM ci-base-builder as ci-python-builder +ARG PYTHON_VERSION +ENV PYTHON_VERSION=${PYTHON_VERSION} +ARG NUMPY_VERSION +ENV NUMPY_VERSION=${NUMPY_VERSION} -COPY ../scripts/${VFXPLATFORM_VERSION}/versions_base.sh \ - ../scripts/base/build_python.sh \ +COPY ../scripts/base/build_python.sh \ /tmp/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_python.sh && \ /tmp/copy_new_files.sh && \ ccache --show-stats -#################### ci-package-boost #################### -# This build target is used to generate a packages of boost that +#################### ci-package-python #################### +# This build target is used to generate a packages of python that # can be placed in a downloadable artifact - FROM scratch as ci-package-python +ARG PYTHON_VERSION +ENV PYTHON_VERSION=${PYTHON_VERSION} +ARG NUMPY_VERSION +ENV NUMPY_VERSION=${NUMPY_VERSION} COPY --from=ci-python-builder /package/. / @@ -161,7 +223,6 @@ COPY ../scripts/base/build_boost.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_boost.sh && \ /tmp/copy_new_files.sh && \ @@ -185,7 +246,6 @@ COPY ../scripts/base/build_tbb.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_tbb.sh && \ /tmp/copy_new_files.sh && \ @@ -209,7 +269,6 @@ COPY ../scripts/base/build_cppunit.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_cppunit.sh && \ /tmp/copy_new_files.sh && \ @@ -233,7 +292,6 @@ COPY ../scripts/base/build_log4cplus.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_log4cplus.sh && \ /tmp/copy_new_files.sh && \ @@ -257,7 +315,6 @@ COPY ../scripts/base/build_glew.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_glew.sh && \ /tmp/copy_new_files.sh && \ @@ -282,7 +339,6 @@ COPY ../scripts/base/build_glfw.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_glfw.sh && \ /tmp/copy_new_files.sh && \ @@ -306,7 +362,6 @@ COPY ../scripts/base/build_qt.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_qt.sh && \ /tmp/copy_new_files.sh && \ @@ -335,7 +390,6 @@ COPY --from=ci-package-clang-external /. /usr/local/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_base.sh && \ /tmp/before_build.sh && \ /tmp/build_pyside.sh && \ /tmp/copy_new_files.sh && \ @@ -358,13 +412,11 @@ FROM ci-base-builder as ci-openexr-builder COPY --from=ci-package-python-external /. /usr/local/ COPY --from=ci-package-boost-external /. /usr/local/ -COPY ../scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - ../scripts/vfx/build_openexr.sh \ +COPY ../scripts/vfx/build_openexr.sh \ /tmp/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_openexr.sh && \ /tmp/copy_new_files.sh && \ @@ -383,13 +435,11 @@ COPY --from=ci-openexr-builder /package/. / #################### ci-blosc-builder #################### FROM ci-python-builder as ci-blosc-builder -COPY ../scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - ../scripts/vfx/build_blosc.sh \ +COPY ../scripts/vfx/build_blosc.sh \ /tmp/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_blosc.sh && \ /tmp/copy_new_files.sh && \ @@ -408,13 +458,11 @@ COPY --from=ci-blosc-builder /package/. / #################### ci-partio-builder #################### FROM ci-python-builder as ci-partio-builder -COPY ../scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - ../scripts/vfx/build_partio.sh \ +COPY ../scripts/vfx/build_partio.sh \ /tmp/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_partio.sh && \ /tmp/copy_new_files.sh && \ @@ -438,7 +486,6 @@ COPY ../scripts/vfx/build_oiio.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_oiio.sh && \ /tmp/copy_new_files.sh && \ @@ -462,7 +509,6 @@ COPY ../scripts/vfx/build_ocio.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_ocio.sh && \ /tmp/copy_new_files.sh && \ @@ -490,7 +536,6 @@ COPY ../scripts/vfx/build_osl.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_osl.sh && \ /tmp/copy_new_files.sh && \ @@ -514,7 +559,6 @@ COPY ../scripts/vfx/build_alembic.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_alembic.sh && \ /tmp/copy_new_files.sh && \ @@ -539,7 +583,6 @@ COPY ../scripts/vfx/build_ptex.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_ptex.sh && \ /tmp/copy_new_files.sh && \ @@ -569,7 +612,6 @@ COPY --from=ci-package-glfw /. /usr/local/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_opensubdiv.sh && \ /tmp/copy_new_files.sh && \ @@ -601,7 +643,6 @@ COPY --from=ci-package-blosc /. /usr/local/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_openvdb.sh && \ /tmp/copy_new_files.sh && \ @@ -635,7 +676,6 @@ COPY ../scripts/vfx/build_usd.sh \ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_usd.sh && \ /tmp/copy_new_files.sh && \ @@ -659,13 +699,11 @@ COPY --from=ci-package-clang-external /. /usr/local/ COPY --from=ci-package-qt-external /. /usr/local/ COPY --from=ci-package-pyside-external /. /usr/local/ -COPY ../scripts/$VFXPLATFORM_VERSION/versions_vfx.sh \ - ../scripts/vfx/build_otio.sh \ +COPY ../scripts/vfx/build_otio.sh \ /tmp/ RUN --mount=type=cache,target=/tmp/ccache \ --mount=type=cache,sharing=private,target=/tmp/downloads \ - source /tmp/versions_vfx.sh && \ /tmp/before_build.sh && \ /tmp/build_otio.sh && \ /tmp/copy_new_files.sh && \ diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index 90b4cb8d..e11954dd 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -34,14 +34,21 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: root: typing.Dict[str, dict] = {} root["target"] = {} for image, version in self.group_info.iter_images_versions(): + major_version = utils.get_major_version(version) + version_info = self.index.version_info(major_version) if self.group_info.type == constants.ImageType.PACKAGE: + tags = version_info.get_tags( + version, + self.build_info.docker_org, + image, + extra_suffix=version_info.package_versions.get( + image.replace("ci-package-", "").upper() + "_VERSION" + ), + ) docker_file = "packages/Dockerfile" else: + tags = version_info.get_tags(version, self.build_info.docker_org, image) docker_file = f"{image}/Dockerfile" - - major_version = utils.get_major_version(version) - version_info = self.index.version_info(major_version) - tags = version_info.get_tags(version, self.build_info.docker_org, image) target_dict = { "context": ".", "dockerfile": docker_file, @@ -50,11 +57,7 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: "ASWF_PKG_ORG": self.build_info.package_org, "ASWF_VERSION": version, "CI_COMMON_VERSION": version_info.ci_common_version, - "PYTHON_VERSION": version_info.python_version, "VFXPLATFORM_VERSION": version_info.major_version, - "DTS_VERSION": version_info.dts_version, - "CLANG_MAJOR_VERSION": version_info.clang_major_version, - "CUDA_VERSION": version_info.cuda_version, }, "labels": { "org.opencontainers.image.created": self.build_info.build_date, @@ -63,6 +66,7 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: "tags": tags, "output": ["type=registry,push=true" if self.push else "type=docker"], } + target_dict["args"].update(version_info.all_package_versions) if self.group_info.type == constants.ImageType.PACKAGE: target_dict["target"] = image root["target"][f"{image}-{major_version}"] = target_dict diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index 5b3e28fe..99737e44 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -4,11 +4,13 @@ Index of docker images and versions. """ import os - +import logging import yaml from aswfdocker import constants, utils, versioninfo +logger = logging.getLogger(__name__) + class Index: """ @@ -20,6 +22,23 @@ def __init__(self): versions_file_path = os.path.join(utils.get_git_top_level(), "versions.yaml") with open(versions_file_path) as f: self._versions = yaml.load(f, Loader=yaml.FullLoader) + self._version_infos = {} + for version, v in self._versions["versions"].items(): + self._version_infos[version] = versioninfo.VersionInfo( + version=version, + major_version=v.get("major_version"), + tags=v.get("tags", []), + ci_common_version=v.get("ci_common_version"), + package_versions=v.get("package_versions", {}), + parent_versions=v.get("parent_versions", []), + use_major_version_as_tag=v.get("use_major_version_as_tag", False), + ) + for vi in self._version_infos.values(): + vi.all_package_versions = vi.package_versions.copy() + for parent in vi.parent_versions: + vi.all_package_versions.update( + self._version_infos[parent].package_versions + ) def _get_key(self, image_type: constants.ImageType): if image_type == constants.ImageType.PACKAGE: @@ -43,18 +62,7 @@ def iter_versions(self, image_type: constants.ImageType, name: str): yield version def iter_version_info(self): - for v in self._versions["versions"]: - yield versioninfo.VersionInfo( - version=v.get("version"), - major_version=v.get("major_version"), - tags=v.get("tags", []), - ci_common_version=v.get("ci_common_version"), - python_version=v.get("python_version"), - dts_version=v.get("dts_version"), - clang_major_version=v.get("clang_major_version"), - cuda_version=v.get("cuda_version"), - use_major_version_as_tag=v.get("use_major_version_as_tag", True), - ) + return self._version_infos.values() def version_info(self, version): for vi in self.iter_version_info(): diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 243f02ad..91c37e5a 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -34,39 +34,18 @@ def test_package_baseqt_2019_dict(self): qt_version = list( index.Index().iter_versions(constants.ImageType.PACKAGE, "qt") )[1] + baked = b.make_bake_dict() self.assertEqual( - b.make_bake_dict(), - { - "group": {"default": {"targets": ["ci-package-qt-2019"]}}, - "target": { - "ci-package-qt-2019": { - "context": ".", - "dockerfile": "packages/Dockerfile", - "args": { - "ASWF_ORG": "aswflocaltesting", - "ASWF_PKG_ORG": "aswftesting", - "ASWF_VERSION": qt_version, - "CI_COMMON_VERSION": "1", - "CLANG_MAJOR_VERSION": "7", - "CUDA_VERSION": "10.2", - "DTS_VERSION": "6", - "PYTHON_VERSION": "2.7", - "VFXPLATFORM_VERSION": "2019", - }, - "labels": { - "org.opencontainers.image.created": constants.DEV_BUILD_DATE, - "org.opencontainers.image.revision": constants.DEV_BUILD_DATE, - }, - "tags": [ - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-qt:2019", - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-qt:{qt_version}", - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-qt:latest", - ], - "target": "ci-package-qt", - "output": ["type=docker"], - } - }, - }, + baked["target"]["ci-package-qt-2019"]["tags"], + [ + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-qt:2019", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-qt:{qt_version}", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-qt:latest", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-qt:2019-5.12.6", + ], + ) + self.assertEqual( + baked["target"]["ci-package-qt-2019"]["args"]["ASWF_VERSION"], qt_version ) def test_image_base_2019_dict(self): @@ -82,38 +61,17 @@ def test_image_base_2019_dict(self): base_version = list( index.Index().iter_versions(constants.ImageType.CI_IMAGE, "base") )[1] + baked = b.make_bake_dict() self.assertEqual( - b.make_bake_dict(), - { - "group": {"default": {"targets": ["ci-base-2019"]}}, - "target": { - "ci-base-2019": { - "context": ".", - "dockerfile": "ci-base/Dockerfile", - "args": { - "ASWF_ORG": "aswflocaltesting", - "ASWF_PKG_ORG": "aswftesting", - "ASWF_VERSION": base_version, - "CI_COMMON_VERSION": "1", - "CLANG_MAJOR_VERSION": "7", - "CUDA_VERSION": "10.2", - "DTS_VERSION": "6", - "PYTHON_VERSION": "2.7", - "VFXPLATFORM_VERSION": "2019", - }, - "labels": { - "org.opencontainers.image.created": constants.DEV_BUILD_DATE, - "org.opencontainers.image.revision": constants.DEV_BUILD_DATE, - }, - "tags": [ - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:2019", - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:{base_version}", - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:latest", - ], - "output": ["type=docker"], - } - }, - }, + baked["target"]["ci-base-2019"]["tags"], + [ + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:2019", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:{base_version}", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-base:latest", + ], + ) + self.assertEqual( + baked["target"]["ci-base-2019"]["args"]["ASWF_VERSION"], base_version ) def test_image_base_2019clang_dict(self): @@ -138,14 +96,43 @@ def test_image_base_2019clang_dict(self): "context": ".", "dockerfile": "ci-openvdb/Dockerfile", "args": { + "ALEMBIC_VERSION": "1.7.11", "ASWF_ORG": "aswflocaltesting", "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": openvdb_version, + "BLOSC_VERSION": "1.5.0", + "BOOST_VERSION": "1.66.0", + "CCACHE_VERSION": "4.0", "CI_COMMON_VERSION": "1", "CLANG_MAJOR_VERSION": "9", + "CLANG_VERSION": "9.0.1", + "CMAKE_VERSION": "3.12.4", + "CPPUNIT_VERSION": "1.14.0", "CUDA_VERSION": "10.2", "DTS_VERSION": "6", - "PYTHON_VERSION": "2.7", + "GLEW_VERSION": "2.1.0", + "GLFW_VERSION": "3.1.2", + "HDF5_VERSION": "1.8.21", + "LOG4CPLUS_VERSION": "1.1.2", + "NINJA_VERSION": "1.10.0", + "NUMPY_VERSION": "1.14", + "OCIO_CONFIGS_VERSION": "1.0_r2", + "OCIO_VERSION": "1.1.0", + "OIIO_VERSION": "2.0.8", + "OPENEXR_VERSION": "2.3.0", + "OPENSUBDIV_VERSION": "3_3_3", + "OPENVDB_VERSION": "6.2.1", + "OSL_VERSION": "1.10.9", + "OTIO_VERSION": "0.12.1", + "PARTIO_VERSION": "1.10.1", + "PKGS_COMMON_CMAKE_VERSION": "3.12.4", + "PTEX_VERSION": "2.1.33", + "PYSIDE_VERSION": "5.12.6", + "PYTHON_VERSION": "2.7.15", + "QT_VERSION": "5.12.6", + "SONAR_VERSION": "3.3.0.1492", + "TBB_VERSION": "2018", + "USD_VERSION": "19.11", "VFXPLATFORM_VERSION": "2019", }, "labels": { @@ -184,14 +171,43 @@ def test_image_base_2019_2020_dict(self): "context": ".", "dockerfile": "ci-base/Dockerfile", "args": { + "ALEMBIC_VERSION": "1.7.12", "ASWF_ORG": "aswflocaltesting", "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": base_versions[2], + "BLOSC_VERSION": "1.5.0", + "BOOST_VERSION": "1.70.0", + "CCACHE_VERSION": "4.0", "CI_COMMON_VERSION": "1", "CLANG_MAJOR_VERSION": "7", + "CLANG_VERSION": "7.1.0", + "CMAKE_VERSION": "3.18.4", + "CPPUNIT_VERSION": "1.14.0", "CUDA_VERSION": "10.2", "DTS_VERSION": "6", - "PYTHON_VERSION": "3.7", + "GLEW_VERSION": "2.1.0", + "GLFW_VERSION": "3.1.2", + "HDF5_VERSION": "1.8.21", + "LOG4CPLUS_VERSION": "1.1.2", + "NINJA_VERSION": "1.10.0", + "NUMPY_VERSION": "1.16", + "OCIO_CONFIGS_VERSION": "1.0_r2", + "OCIO_VERSION": "1.1.1", + "OIIO_VERSION": "2.1.13.0", + "OPENEXR_VERSION": "2.4.0", + "OPENSUBDIV_VERSION": "3_4_3", + "OPENVDB_VERSION": "7.1.0", + "OSL_VERSION": "1.10.10", + "OTIO_VERSION": "0.12.1", + "PARTIO_VERSION": "1.10.1", + "PKGS_COMMON_CMAKE_VERSION": "3.12.4", + "PTEX_VERSION": "2.3.2", + "PYSIDE_VERSION": "5.12.6", + "PYTHON_VERSION": "3.7.3", + "QT_VERSION": "5.12.6", + "SONAR_VERSION": "3.3.0.1492", + "TBB_VERSION": "2019_U6", + "USD_VERSION": "20.11", "VFXPLATFORM_VERSION": "2020", }, "labels": { @@ -208,14 +224,43 @@ def test_image_base_2019_2020_dict(self): "context": ".", "dockerfile": "ci-base/Dockerfile", "args": { + "ALEMBIC_VERSION": "1.7.11", "ASWF_ORG": "aswflocaltesting", "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": base_versions[1], + "BLOSC_VERSION": "1.5.0", + "BOOST_VERSION": "1.66.0", + "CCACHE_VERSION": "4.0", "CI_COMMON_VERSION": "1", "CLANG_MAJOR_VERSION": "7", + "CLANG_VERSION": "7.1.0", + "CMAKE_VERSION": "3.12.4", + "CPPUNIT_VERSION": "1.14.0", "CUDA_VERSION": "10.2", "DTS_VERSION": "6", - "PYTHON_VERSION": "2.7", + "GLEW_VERSION": "2.1.0", + "GLFW_VERSION": "3.1.2", + "HDF5_VERSION": "1.8.21", + "LOG4CPLUS_VERSION": "1.1.2", + "NINJA_VERSION": "1.10.0", + "NUMPY_VERSION": "1.14", + "OCIO_CONFIGS_VERSION": "1.0_r2", + "OCIO_VERSION": "1.1.0", + "OIIO_VERSION": "2.0.8", + "OPENEXR_VERSION": "2.3.0", + "OPENSUBDIV_VERSION": "3_3_3", + "OPENVDB_VERSION": "6.2.1", + "OSL_VERSION": "1.10.9", + "OTIO_VERSION": "0.12.1", + "PARTIO_VERSION": "1.10.1", + "PKGS_COMMON_CMAKE_VERSION": "3.12.4", + "PTEX_VERSION": "2.1.33", + "PYSIDE_VERSION": "5.12.6", + "PYTHON_VERSION": "2.7.15", + "QT_VERSION": "5.12.6", + "SONAR_VERSION": "3.3.0.1492", + "TBB_VERSION": "2018", + "USD_VERSION": "19.11", "VFXPLATFORM_VERSION": "2019", }, "labels": { diff --git a/python/aswfdocker/versioninfo.py b/python/aswfdocker/versioninfo.py index 317b76d9..94eabc02 100644 --- a/python/aswfdocker/versioninfo.py +++ b/python/aswfdocker/versioninfo.py @@ -18,24 +18,25 @@ def __init__( # noqa too many arguments major_version: str, tags: typing.List[str], ci_common_version: str, - python_version: str, - dts_version: str, - clang_major_version: str, - cuda_version: str, + parent_versions: typing.List[str], + package_versions: typing.Dict[str, str], use_major_version_as_tag=True, ): self.version = version self.major_version = major_version self.ci_common_version = ci_common_version self.tags = tags - self.python_version = python_version - self.dts_version = dts_version - self.clang_major_version = clang_major_version - self.cuda_version = cuda_version + self.parent_versions = parent_versions + self.package_versions = package_versions self.use_major_version_as_tag = use_major_version_as_tag + self.all_package_versions: typing.Dict[str, str] = {} def get_tags( - self, aswf_version: str, docker_org: str, image_name: str + self, + aswf_version: str, + docker_org: str, + image_name: str, + extra_suffix: typing.Optional[str] = None, ) -> typing.List[str]: if self.use_major_version_as_tag: tags = [self.major_version] @@ -45,6 +46,8 @@ def get_tags( tags = [self.version] tags.append(aswf_version) tags.extend(self.tags) + if extra_suffix: + tags.append(self.major_version + "-" + extra_suffix) return list( map( diff --git a/scripts/1/versions_common.sh b/scripts/1/versions_common.sh deleted file mode 100644 index 3a42f9c4..00000000 --- a/scripts/1/versions_common.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export DTS_VERSION=6 -export CCACHE_VERSION=3.7.4 -export CLANG_VERSION=7.1.0 -export NINJA_VERSION=1.10.0 -export SONAR_VERSION=3.3.0.1492 -export PKGS_COMMON_CMAKE_VERSION=3.12.4 # Only used to build common packages - -if [[ $CLANG_MAJOR_VERSION == 6 ]]; then - export CLANG_VERSION=6.0.1 -elif [[ $CLANG_MAJOR_VERSION == 7 ]]; then - export CLANG_VERSION=7.1.0 -elif [[ $CLANG_MAJOR_VERSION == 8 ]]; then - export CLANG_VERSION=8.0.1 -elif [[ $CLANG_MAJOR_VERSION == 9 ]]; then - export CLANG_VERSION=9.0.1 -elif [[ $CLANG_MAJOR_VERSION == 10 ]]; then - export CLANG_VERSION=10.0.1 -elif [[ $CLANG_MAJOR_VERSION == 11 ]]; then - export CLANG_VERSION=11.0.0 -fi diff --git a/scripts/2/versions_common.sh b/scripts/2/versions_common.sh deleted file mode 100644 index 3adecca0..00000000 --- a/scripts/2/versions_common.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export DTS_VERSION=9 -export CCACHE_VERSION=3.7.9 -export CLANG_VERSION=10.0.1 -export NINJA_VERSION=1.10.0 -export SONAR_VERSION=3.3.0.1492 -export PKGS_COMMON_CMAKE_VERSION=3.12.4 # Only used to build common packages - -if [[ $CLANG_MAJOR_VERSION == 10 ]]; then - export CLANG_VERSION=10.0.1 -elif [[ $CLANG_MAJOR_VERSION == 11 ]]; then - export CLANG_VERSION=11.0.0 -fi diff --git a/scripts/2018/patchup.sh b/scripts/2018/patchup.sh deleted file mode 100755 index 777cc152..00000000 --- a/scripts/2018/patchup.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -echo "Nothing to patchup" diff --git a/scripts/2018/versions_base.sh b/scripts/2018/versions_base.sh deleted file mode 100644 index 9accc5d1..00000000 --- a/scripts/2018/versions_base.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export BOOST_VERSION=1.61.0 -export CMAKE_VERSION=3.9.4 -export CPPUNIT_VERSION=1.14.0 -export GLEW_VERSION=2.1.0 -export GLFW_VERSION=3.1.2 -export LOG4CPLUS_VERSION=1.1.2 -export NUMPY_VERSION=1.14 -export PYSIDE_VERSION=2.0.0 -export PYTHON_VERSION_FULL=2.7.15 -export PYTHON_VERSION=2.7 -export QT_VERSION=5.6.1 -export TBB_VERSION=2017_U6 diff --git a/scripts/2018/versions_vfx.sh b/scripts/2018/versions_vfx.sh deleted file mode 100644 index f2910c28..00000000 --- a/scripts/2018/versions_vfx.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export BLOSC_VERSION=1.5.0 -export OIIO_VERSION=2.0.8 -export OPENEXR_VERSION=2.2.1 -export OCIO_VERSION=1.0.9 -export OCIO_CONFIGS_VERSION=1.0_r2 -export HDF5_VERSION=1.8.21 -export ALEMBIC_VERSION=1.7.11 -export PTEX_VERSION=2.1.28 -export OPENSUBDIV_VERSION=3_3_3 -export OPENVDB_VERSION=5.2.0 -export USD_VERSION=19.11 -export OSL_VERSION=1.10.9 -export PARTIO_VERSION=1.10.1 diff --git a/scripts/2019/patchup.sh b/scripts/2019/patchup.sh deleted file mode 100755 index 777cc152..00000000 --- a/scripts/2019/patchup.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -echo "Nothing to patchup" diff --git a/scripts/2019/versions_base.sh b/scripts/2019/versions_base.sh deleted file mode 100644 index 5f12845b..00000000 --- a/scripts/2019/versions_base.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export BOOST_VERSION=1.66.0 -export CMAKE_VERSION=3.12.4 -export CPPUNIT_VERSION=1.14.0 -export GLEW_VERSION=2.1.0 -export GLFW_VERSION=3.1.2 -export LOG4CPLUS_VERSION=1.1.2 -export NUMPY_VERSION=1.14 -export PYSIDE_VERSION=5.12.6 -export PYTHON_VERSION_FULL=2.7.15 -export PYTHON_VERSION=2.7 -export QT_VERSION=5.12.6 -export TBB_VERSION=2018 diff --git a/scripts/2019/versions_vfx.sh b/scripts/2019/versions_vfx.sh deleted file mode 100644 index 9a837583..00000000 --- a/scripts/2019/versions_vfx.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export BLOSC_VERSION=1.5.0 -export OIIO_VERSION=2.0.8 -export OPENEXR_VERSION=2.3.0 -export OCIO_VERSION=1.1.0 -export OCIO_CONFIGS_VERSION=1.0_r2 -export HDF5_VERSION=1.8.21 -export ALEMBIC_VERSION=1.7.11 -export PTEX_VERSION=2.1.33 -export OPENSUBDIV_VERSION=3_3_3 -export OPENVDB_VERSION=6.2.1 -export USD_VERSION=19.11 -export OSL_VERSION=1.10.9 -export OTIO_VERSION=0.12.1 -export PARTIO_VERSION=1.10.1 diff --git a/scripts/2020/patchup.sh b/scripts/2020/patchup.sh deleted file mode 100755 index 777cc152..00000000 --- a/scripts/2020/patchup.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -echo "Nothing to patchup" diff --git a/scripts/2020/versions_base.sh b/scripts/2020/versions_base.sh deleted file mode 100644 index 325eaeda..00000000 --- a/scripts/2020/versions_base.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export BOOST_VERSION=1.70.0 -export CMAKE_VERSION=3.17.1 -export CPPUNIT_VERSION=1.14.0 -export GLEW_VERSION=2.1.0 -export GLFW_VERSION=3.1.2 -export LOG4CPLUS_VERSION=1.1.2 -export NUMPY_VERSION=1.16 -export PYSIDE_VERSION=5.12.6 -export PYTHON_VERSION_FULL=3.7.3 -export PYTHON_VERSION=3.7 -export QT_VERSION=5.12.6 -export TBB_VERSION=2019_U6 diff --git a/scripts/2020/versions_vfx.sh b/scripts/2020/versions_vfx.sh deleted file mode 100644 index a9fa267d..00000000 --- a/scripts/2020/versions_vfx.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export BLOSC_VERSION=1.5.0 -export OIIO_VERSION=2.1.13.0 -export OPENEXR_VERSION=2.4.0 -export OCIO_VERSION=1.1.1 -export OCIO_CONFIGS_VERSION=1.0_r2 -export HDF5_VERSION=1.8.21 -export ALEMBIC_VERSION=1.7.12 -export PTEX_VERSION=2.3.2 -export OPENSUBDIV_VERSION=3_4_3 -export OPENVDB_VERSION=7.1.0 -export USD_VERSION=20.11 -export OSL_VERSION=1.10.10 -export OTIO_VERSION=0.12.1 -export PARTIO_VERSION=1.10.1 diff --git a/scripts/2021/patchup.sh b/scripts/2021/patchup.sh deleted file mode 100755 index 777cc152..00000000 --- a/scripts/2021/patchup.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -echo "Nothing to patchup" diff --git a/scripts/2021/versions_base.sh b/scripts/2021/versions_base.sh deleted file mode 100644 index b2e2204b..00000000 --- a/scripts/2021/versions_base.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export BOOST_VERSION=1.70.0 -export CMAKE_VERSION=3.17.3 -export CPPUNIT_VERSION=1.14.0 -export GLEW_VERSION=2.1.0 -export GLFW_VERSION=3.1.2 -export LOG4CPLUS_VERSION=1.1.2 -export NUMPY_VERSION=1.16 -export PYSIDE_VERSION=5.12.6 -export PYTHON_VERSION_FULL=3.7.3 -export PYTHON_VERSION=3.7 -export QT_VERSION=5.12.8 -export TBB_VERSION=2019_U6 diff --git a/scripts/2021/versions_vfx.sh b/scripts/2021/versions_vfx.sh deleted file mode 100644 index a9fa267d..00000000 --- a/scripts/2021/versions_vfx.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set -ex - -export BLOSC_VERSION=1.5.0 -export OIIO_VERSION=2.1.13.0 -export OPENEXR_VERSION=2.4.0 -export OCIO_VERSION=1.1.1 -export OCIO_CONFIGS_VERSION=1.0_r2 -export HDF5_VERSION=1.8.21 -export ALEMBIC_VERSION=1.7.12 -export PTEX_VERSION=2.3.2 -export OPENSUBDIV_VERSION=3_4_3 -export OPENVDB_VERSION=7.1.0 -export USD_VERSION=20.11 -export OSL_VERSION=1.10.10 -export OTIO_VERSION=0.12.1 -export PARTIO_VERSION=1.10.1 diff --git a/scripts/base/build_python.sh b/scripts/base/build_python.sh index 8abfc6e3..352a742d 100755 --- a/scripts/base/build_python.sh +++ b/scripts/base/build_python.sh @@ -7,7 +7,7 @@ set -ex mkdir python cd python -curl -C - --location "https://www.python.org/ftp/python/${PYTHON_VERSION_FULL}/Python-${PYTHON_VERSION_FULL}.tgz" -o "$DOWNLOADS_DIR/Python-${PYTHON_VERSION_FULL}.tgz" +curl -C - --location "https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz" -o "$DOWNLOADS_DIR/Python-${PYTHON_VERSION}.tgz" mkdir -p "${ASWF_INSTALL_PREFIX}/bin" @@ -35,8 +35,8 @@ exec "${ASWF_INSTALL_PREFIX}/bin/run-with-system-python" /usr/bin/yum "\$@" EOF chmod a+x "${ASWF_INSTALL_PREFIX}/bin/yum" -tar xf "$DOWNLOADS_DIR/Python-${PYTHON_VERSION_FULL}.tgz" -cd "Python-${PYTHON_VERSION_FULL}" +tar xf "$DOWNLOADS_DIR/Python-${PYTHON_VERSION}.tgz" +cd "Python-${PYTHON_VERSION}" # Ensure configure, build and install is done with no reference to ${ASWF_INSTALL_PREFIX} as this somehow messes up the system install run-with-system-python ./configure \ diff --git a/scripts/common/install_ccache.sh b/scripts/common/install_ccache.sh index 12616cfb..7067ecb2 100755 --- a/scripts/common/install_ccache.sh +++ b/scripts/common/install_ccache.sh @@ -14,7 +14,9 @@ fi tar xf "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" cd "ccache-${CCACHE_VERSION}" -./configure --prefix=/usr/local +mkdir build +cd build +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. make -j$(nproc) make install @@ -38,5 +40,5 @@ EOF chmod a+x /usr/local/bin/activate_ccache.sh -cd ../.. +cd ../../.. rm -rf ccache diff --git a/scripts/common/install_dev_ccache.sh b/scripts/common/install_dev_ccache.sh index fed9c5ee..cbefefa8 100755 --- a/scripts/common/install_dev_ccache.sh +++ b/scripts/common/install_dev_ccache.sh @@ -7,7 +7,6 @@ set -ex mkdir ccache cd ccache -CCACHE_VERSION=3.7.9 if [ ! -f "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" ]; then curl --location "https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" fi @@ -15,7 +14,9 @@ fi tar xf "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" cd "ccache-${CCACHE_VERSION}" -./configure --prefix=/opt/aswfbuilder +mkdir build +cd build +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/aswfbuilder -DZSTD_FROM_INTERNET=ON .. make -j$(nproc) make install @@ -24,5 +25,5 @@ ln -s /opt/aswfbuilder/bin/ccache /opt/aswfbuilder/bin/g++ ln -s /opt/aswfbuilder/bin/ccache /opt/aswfbuilder/bin/cc ln -s /opt/aswfbuilder/bin/ccache /opt/aswfbuilder/bin/c++ -cd ../.. +cd ../../.. rm -rf ccache diff --git a/scripts/common/install_dev_cmake.sh b/scripts/common/install_dev_cmake.sh index 54e41e71..321b5b90 100755 --- a/scripts/common/install_dev_cmake.sh +++ b/scripts/common/install_dev_cmake.sh @@ -4,6 +4,8 @@ set -ex +mkdir -p /opt/aswfbuilder + if [ ! -f "$DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" ]; then curl --location "https://github.com/Kitware/CMake/releases/download/v${PKGS_COMMON_CMAKE_VERSION}/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" -o "$DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" fi diff --git a/versions.yaml b/versions.yaml index 0cbd6ac4..a58ae8d8 100644 --- a/versions.yaml +++ b/versions.yaml @@ -4,180 +4,243 @@ # This file contains all the CI Docker package and image versions versions: - - version: "1-clang6" + "1": major_version: "1" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "6" - cuda_version: "10.2" - use_major_version_as_tag: false - - version: "1-clang7" + package_versions: + DTS_VERSION: "6" + CUDA_VERSION: "10.2" + CCACHE_VERSION: "4.0" + NINJA_VERSION: "1.10.0" + SONAR_VERSION: "3.3.0.1492" + PKGS_COMMON_CMAKE_VERSION: "3.12.4" + "1-clang6": + parent_versions: ["1"] + major_version: "1" + ci_common_version: "1" + package_versions: + CLANG_MAJOR_VERSION: "6" + CLANG_VERSION: "6.0.1" + "1-clang7": + parent_versions: ["1"] major_version: "1" tags: ["latest"] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "7" - cuda_version: "10.2" use_major_version_as_tag: true - - version: "1-clang8" + package_versions: + CLANG_MAJOR_VERSION: "7" + CLANG_VERSION: "7.1.0" + "1-clang8": + parent_versions: ["1"] major_version: "1" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "8" - cuda_version: "10.2" - use_major_version_as_tag: false - - version: "1-clang9" + package_versions: + CLANG_MAJOR_VERSION: "8" + CLANG_VERSION: "8.0.1" + "1-clang9": + parent_versions: ["1"] major_version: "1" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "9" - cuda_version: "10.2" - use_major_version_as_tag: false - - version: "1-clang10" + package_versions: + CLANG_MAJOR_VERSION: "9" + CLANG_VERSION: "9.0.1" + "1-clang10": + parent_versions: ["1"] major_version: "1" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "10" - cuda_version: "10.2" - use_major_version_as_tag: false - - version: "2-clang10" + package_versions: + CLANG_MAJOR_VERSION: "10" + CLANG_VERSION: "10.0.1" + "2": major_version: "2" tags: ["preview"] ci_common_version: "2" - python_version: "3.7" - dts_version: "9" - clang_major_version: "10" - cuda_version: "11.1" - use_major_version_as_tag: true - - version: "2-clang11" + package_versions: + DTS_VERSION: "9" + CUDA_VERSION: "11.1" + CCACHE_VERSION: "4.0" + NINJA_VERSION: "1.10.0" + SONAR_VERSION: "3.3.0.1492" + PKGS_COMMON_CMAKE_VERSION: "3.12.4" + "2-clang10": + parent_versions: ["2"] major_version: "2" - tags: [] + tags: ["preview"] ci_common_version: "2" - python_version: "3.7" - dts_version: "9" - clang_major_version: "11.1" - cuda_version: "11.1" use_major_version_as_tag: true - - version: "2018" + package_versions: + CLANG_MAJOR_VERSION: "10" + CLANG_VERSION: "10.0.1" + "2-clang11": + parent_versions: ["2"] + major_version: "2" + ci_common_version: "2" + package_versions: + CLANG_MAJOR_VERSION: "11" + CLANG_VERSION: "11.0.0" + "2018": + parent_versions: ["1", "1-clang7"] major_version: "2018" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "7" - cuda_version: "10.2" - - version: "2018-clang7" + package_versions: + BOOST_VERSION: "1.61.0" + CMAKE_VERSION: "3.9.4" + CPPUNIT_VERSION: "1.14.0" + GLEW_VERSION: "2.1.0" + GLFW_VERSION: "3.1.2" + LOG4CPLUS_VERSION: "1.1.2" + NUMPY_VERSION: "1.14" + PYSIDE_VERSION: "2.0.0" + PYTHON_VERSION: "2.7.15" + QT_VERSION: "5.6.1" + TBB_VERSION: "2017_U6" + BLOSC_VERSION: "1.5.0" + OIIO_VERSION: "2.0.8" + OPENEXR_VERSION: "2.2.1" + OCIO_VERSION: "1.0.9" + OCIO_CONFIGS_VERSION: "1.0_r2" + HDF5_VERSION: "1.8.21" + ALEMBIC_VERSION: "1.7.11" + PTEX_VERSION: "2.1.28" + OPENSUBDIV_VERSION: "3_3_3" + OPENVDB_VERSION: "5.2.0" + USD_VERSION: "19.11" + OSL_VERSION: "1.10.9" + PARTIO_VERSION: "1.10.1" + "2018-clang7": + parent_versions: ["1", "1-clang7", "2018"] major_version: "2018" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "7" - cuda_version: "10.2" - - version: "2019" + "2019": + parent_versions: ["1", "1-clang7"] major_version: "2019" tags: ["latest"] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "7" - cuda_version: "10.2" - - version: "2019-clang6" + package_versions: + BOOST_VERSION: "1.66.0" + CMAKE_VERSION: "3.12.4" + CPPUNIT_VERSION: "1.14.0" + GLEW_VERSION: "2.1.0" + GLFW_VERSION: "3.1.2" + LOG4CPLUS_VERSION: "1.1.2" + NUMPY_VERSION: "1.14" + PYSIDE_VERSION: "5.12.6" + PYTHON_VERSION: "2.7.15" + QT_VERSION: "5.12.6" + TBB_VERSION: "2018" + BLOSC_VERSION: "1.5.0" + OIIO_VERSION: "2.0.8" + OPENEXR_VERSION: "2.3.0" + OCIO_VERSION: "1.1.0" + OCIO_CONFIGS_VERSION: "1.0_r2" + HDF5_VERSION: "1.8.21" + ALEMBIC_VERSION: "1.7.11" + PTEX_VERSION: "2.1.33" + OPENSUBDIV_VERSION: "3_3_3" + OPENVDB_VERSION: "6.2.1" + USD_VERSION: "19.11" + OSL_VERSION: "1.10.9" + OTIO_VERSION: "0.12.1" + PARTIO_VERSION: "1.10.1" + "2019-clang6": + parent_versions: ["1", "1-clang6", "2019"] major_version: "2019" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "6" - cuda_version: "10.2" - use_major_version_as_tag: false - - version: "2019-clang7" + "2019-clang7": + parent_versions: ["1", "1-clang7", "2019"] major_version: "2019" tags: ["latest"] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "7" - cuda_version: "10.2" use_major_version_as_tag: true - - version: "2019-clang8" + "2019-clang8": + parent_versions: ["1", "1-clang8", "2019"] major_version: "2019" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "8" - cuda_version: "10.2" - use_major_version_as_tag: false - - version: "2019-clang9" + "2019-clang9": + parent_versions: ["1", "1-clang9", "2019"] major_version: "2019" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "9" - cuda_version: "10.2" - use_major_version_as_tag: false - - version: "2019-clang10" + "2019-clang10": + parent_versions: ["1", "1-clang10", "2019"] major_version: "2019" - tags: [] ci_common_version: "1" - python_version: "2.7" - dts_version: "6" - clang_major_version: "10" - cuda_version: "10.2" - use_major_version_as_tag: false - - version: "2020" + "2020": + parent_versions: ["1", "1-clang7"] major_version: "2020" - tags: [] ci_common_version: "1" - python_version: "3.7" - dts_version: "6" - cuda_version: "10.2" - clang_major_version: "7" - - version: "2020-clang7" + package_versions: + BOOST_VERSION: "1.70.0" + CMAKE_VERSION: "3.18.4" + CPPUNIT_VERSION: "1.14.0" + GLEW_VERSION: "2.1.0" + GLFW_VERSION: "3.1.2" + LOG4CPLUS_VERSION: "1.1.2" + NUMPY_VERSION: "1.16" + PYSIDE_VERSION: "5.12.6" + PYTHON_VERSION: "3.7.3" + QT_VERSION: "5.12.6" + TBB_VERSION: "2019_U6" + BLOSC_VERSION: "1.5.0" + OIIO_VERSION: "2.1.13.0" + OPENEXR_VERSION: "2.4.0" + OCIO_VERSION: "1.1.1" + OCIO_CONFIGS_VERSION: "1.0_r2" + HDF5_VERSION: "1.8.21" + ALEMBIC_VERSION: "1.7.12" + PTEX_VERSION: "2.3.2" + OPENSUBDIV_VERSION: "3_4_3" + OPENVDB_VERSION: "7.1.0" + USD_VERSION: "20.11" + OSL_VERSION: "1.10.10" + OTIO_VERSION: "0.12.1" + PARTIO_VERSION: "1.10.1" + "2020-clang7": + parent_versions: ["1", "1-clang7", "2020"] major_version: "2020" - tags: [] ci_common_version: "1" - python_version: "3.7" - dts_version: "6" - cuda_version: "10.2" - clang_major_version: "7" - - version: "2021" + use_major_version_as_tag: true + "2021": + parent_versions: ["2", "2-clang10"] major_version: "2021" tags: ["preview"] ci_common_version: "2" - python_version: "3.7" - dts_version: "9" - cuda_version: "11.1" - clang_major_version: "10" - - version: "2021-clang10" + package_versions: + BOOST_VERSION: "1.70.0" + CMAKE_VERSION: "3.18.4" + CPPUNIT_VERSION: "1.14.0" + GLEW_VERSION: "2.1.0" + GLFW_VERSION: "3.1.2" + LOG4CPLUS_VERSION: "1.1.2" + NUMPY_VERSION: "1.16" + PYSIDE_VERSION: "5.12.6" + PYTHON_VERSION: "3.7.3" + QT_VERSION: "5.12.8" + TBB_VERSION: "2019_U6" + BLOSC_VERSION: "1.5.0" + OIIO_VERSION: "2.1.13.0" + OPENEXR_VERSION: "2.4.0" + OCIO_VERSION: "1.1.1" + OCIO_CONFIGS_VERSION: "1.0_r2" + HDF5_VERSION: "1.8.21" + ALEMBIC_VERSION: "1.7.12" + PTEX_VERSION: "2.3.2" + OPENSUBDIV_VERSION: "3_4_3" + OPENVDB_VERSION: "7.1.0" + USD_VERSION: "20.11" + OSL_VERSION: "1.10.10" + OTIO_VERSION: "0.12.1" + PARTIO_VERSION: "1.10.1" + "2021-clang10": + parent_versions: ["2", "2-clang10", "2021"] major_version: "2021" tags: ["preview"] ci_common_version: "2" - python_version: "3.7" - dts_version: "9" - clang_major_version: "10" - cuda_version: "11.1" use_major_version_as_tag: true - - version: "2021-clang11" + "2021-clang11": + parent_versions: ["2", "2-clang11", "2021"] major_version: "2021" tags: ["preview"] ci_common_version: "2" - python_version: "3.7" - dts_version: "9" - clang_major_version: "11" - cuda_version: "11.1" - use_major_version_as_tag: true ci-packages: clang: @@ -191,6 +254,11 @@ ci-packages: ninja: - "1.2" - "2.0" + cmake: + - "2018.0" + - "2019.0" + - "2020.0" + - "2021.0" python: - "2018.1" - "2019.1" From 31d88a213b3598791c64e4a8fc519d2260f0ff95 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sun, 1 Nov 2020 15:50:21 +1100 Subject: [PATCH 039/132] Package cleanup with licenses, new ninja and sonar Signed-off-by: Aloys Baillet --- ci-base/Dockerfile | 30 ++--- ci-baseqt/Dockerfile | 2 +- ci-common/Dockerfile | 29 +++-- ci-ocio/Dockerfile | 2 +- ci-opencue/Dockerfile | 2 +- ci-openexr/Dockerfile | 2 +- ci-openvdb/Dockerfile | 2 +- ci-osl/Dockerfile | 2 +- ci-otio/Dockerfile | 2 +- ci-usd/Dockerfile | 2 +- ci-vfxall/Dockerfile | 2 +- packages/Dockerfile | 151 ++++++++++++++++++++---- python/aswfdocker/constants.py | 11 +- python/aswfdocker/tests/test_builder.py | 15 +-- scripts/common/install_ccache.sh | 2 +- scripts/common/install_dev_ccache.sh | 10 +- scripts/common/install_dev_cmake.sh | 8 +- scripts/common/install_yumpackages.sh | 2 + versions.yaml | 10 +- 19 files changed, 207 insertions(+), 79 deletions(-) diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 4a2c5b11..57914fc6 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -49,25 +49,27 @@ ENV PYTHON_VERSION=${PYTHON_VERSION} ARG TBB_VERSION ENV TBB_VERSION=${TBB_VERSION} -LABEL maintainer="aloys.baillet@gmail.com" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" -LABEL org.opencontainers.image.name="$ASWF_ORG/base-ci" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-base" LABEL org.opencontainers.image.title="Base CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and base libraries" +LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other base libraries" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=${ASWF_VERSION} -LABEL io.aswf.docker.versions.boost=${BOOST_VERSION} -LABEL io.aswf.docker.versions.cmake=${CMAKE_VERSION} -LABEL io.aswf.docker.versions.cppunit=${CPPUNIT_VERSION} -LABEL io.aswf.docker.versions.glew=${GLEW_VERSION} -LABEL io.aswf.docker.versions.glfw=${GLFW_VERSION} -LABEL io.aswf.docker.versions.log4cplus=${LOG4CPLUS_VERSION} -LABEL io.aswf.docker.versions.numpy=${NUMPY_VERSION} -LABEL io.aswf.docker.versions.python=${PYTHON_VERSION} -LABEL io.aswf.docker.versions.tbb=${TBB_VERSION} +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" +LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" +LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" +LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index 8f87fd81..bfc0ad4d 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -24,7 +24,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/baseqt-ci" diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index 8f56da4d..a2c1cbc8 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -7,6 +7,8 @@ ARG CI_COMMON_VERSION=1 ARG DTS_VERSION=6 ARG CLANG_VERSION ARG NINJA_VERSION +ARG SONAR_VERSION +ARG CCACHE_VERSION FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION}-${CLANG_VERSION} as ci-package-clang FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION}-${NINJA_VERSION} as ci-package-ninja @@ -23,23 +25,31 @@ ENV CLANG_VERSION=${CLANG_VERSION} ARG NINJA_VERSION ENV NINJA_VERSION=${NINJA_VERSION} -LABEL maintainer="aloys.baillet@gmail.com" +ARG SONAR_VERSION +ENV SONAR_VERSION=${SONAR_VERSION} -LABEL org.opencontainers.image.name="$ASWF_ORG/base-ci" +ARG CCACHE_VERSION +ENV CCACHE_VERSION=${CCACHE_VERSION} + + +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-common" LABEL org.opencontainers.image.title="Common CI Docker Image" -LABEL org.opencontainers.image.description="Contains: clang:${CLANG_VERSION}, ninja:${NINJA_VERSION}" +LABEL org.opencontainers.image.description="Contains: clang:${CLANG_VERSION}, ninja:${NINJA_VERSION}, sonar:${SONAR_VERSION}" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/ci-common/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version="1.0" +LABEL org.opencontainers.image.version="${CI_COMMON_VERSION}" + LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" LABEL io.aswf.docker.versions.clang="${CLANG_VERSION}" LABEL io.aswf.docker.versions.ninja="${NINJA_VERSION}" +LABEL io.aswf.docker.versions.sonar="${SONAR_VERSION}" USER root -COPY scripts/${CI_COMMON_VERSION}/versions_common.sh \ - scripts/common/install_yumpackages.sh \ +COPY scripts/common/install_yumpackages.sh \ /tmp/ ENV DTS_VERSION=${DTS_VERSION} @@ -57,6 +67,7 @@ ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib COPY scripts/common/install_sonar.sh \ scripts/common/install_ccache.sh \ + scripts/common/install_dev_cmake.sh \ /tmp/ COPY --from=ci-package-clang /. /usr/local/ @@ -64,10 +75,12 @@ COPY --from=ci-package-ninja /. /usr/local/ RUN export DOWNLOADS_DIR=/tmp/downloads && \ mkdir /tmp/downloads && \ - source /tmp/versions_common.sh && \ /tmp/install_sonar.sh && \ + export PATH=${PATH}:/opt/aswfbuilder/bin && \ + /tmp/install_dev_cmake.sh && \ /tmp/install_ccache.sh && \ - rm -rf /tmp/downloads + rm -rf /tmp/downloads && \ + rm -rf /opt/aswfbuilder COPY scripts/common/setup_aswfuser.sh /tmp RUN /tmp/setup_aswfuser.sh diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index 2fc90bd1..da755718 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -22,7 +22,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-ocio" LABEL org.opencontainers.image.description="OpenColorIO CI Docker Image" diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index 7a1347a1..e02c7754 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -16,7 +16,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-opencue" LABEL org.opencontainers.image.description="OpenCue CI Docker Image" diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index 8d171b74..b1630c06 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -17,7 +17,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/openexr-ci" diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 7e9d2b17..8038bbbb 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -22,7 +22,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/openvdb-ci" diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 09119c34..6f1507c3 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -21,7 +21,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-osl" LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index c0b2e4c9..96dc25a0 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -18,7 +18,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-otio" LABEL org.opencontainers.image.description="OpenTimelineIO CI Docker Image" diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index f4e418bf..20942f58 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -32,7 +32,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-usd" LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 0d44c95b..41971fbd 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -36,7 +36,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL maintainer="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-vfxall" LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" diff --git a/packages/Dockerfile b/packages/Dockerfile index a48ad5e8..7446a223 100644 --- a/packages/Dockerfile +++ b/packages/Dockerfile @@ -13,7 +13,6 @@ ARG CLANG_VERSION ARG NINJA_VERSION ARG SONAR_VERSION ARG CCACHE_VERSION -ARG PKGS_COMMON_CMAKE_VERSION ARG BOOST_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION @@ -53,11 +52,6 @@ FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-centos7-gl-packages ARG CI_COMMON_VERSION ARG DTS_VERSION ARG CUDA_VERSION -ARG CLANG_VERSION -ARG NINJA_VERSION -ARG SONAR_VERSION -ARG CCACHE_VERSION -ARG PKGS_COMMON_CMAKE_VERSION COPY ../scripts/common/install_yumpackages.sh \ /tmp/ @@ -86,8 +80,6 @@ RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ #################### ci-clang-builder #################### FROM ci-centos7-gl-packages as ci-clang-builder - -ARG CI_COMMON_VERSION ARG CLANG_VERSION ENV CLANG_VERSION=${CLANG_VERSION} @@ -104,12 +96,23 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-clang #################### -# This build target is used to generate a packages of clang that -# can be placed in a downloadable artifact - FROM scratch as ci-package-clang +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION ARG CLANG_VERSION -ENV CLANG_VERSION=${CLANG_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-clang" +LABEL org.opencontainers.image.title="Clang package built for ASWF docker images" +LABEL org.opencontainers.image.description="Clang (llvm) build artifacts to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://llvm.org/" +LABEL org.opencontainers.image.source="https://github.com/llvm/llvm-project" +LABEL org.opencontainers.image.version="${CLANG_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.clang="${CLANG_VERSION}" COPY --from=ci-clang-builder /package/. / @@ -117,7 +120,6 @@ COPY --from=ci-clang-builder /package/. / #################### ci-ninja-builder #################### FROM ci-centos7-gl-packages as ci-ninja-builder -ARG CI_COMMON_VERSION ARG NINJA_VERSION ENV NINJA_VERSION=${NINJA_VERSION} @@ -133,12 +135,23 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ninja #################### -# This build target is used to generate a packages of ninja that -# can be placed in a downloadable artifact - FROM scratch as ci-package-ninja +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION ARG NINJA_VERSION -ENV NINJA_VERSION=${NINJA_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" +LABEL org.opencontainers.image.title="Ninja package built for ASWF docker images" +LABEL org.opencontainers.image.description="Ninja binary to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://ninja-build.org/" +LABEL org.opencontainers.image.source="https://github.com/ninja-build/ninja" +LABEL org.opencontainers.image.version="${NINJA_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.ninja="${NINJA_VERSION}" COPY --from=ci-ninja-builder /package/. / @@ -162,12 +175,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-cmake #################### -# This build target is used to generate a packages of cmake that -# can be placed in a downloadable artifact - FROM scratch as ci-package-cmake +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG CMAKE_VERSION -ENV CMAKE_VERSION=${CMAKE_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" +LABEL org.opencontainers.image.title="CMake package built for ASWF docker images" +LABEL org.opencontainers.image.description="CMake binary to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://cmake.org/" +LABEL org.opencontainers.image.source="https://gitlab.kitware.com/cmake/cmake" +LABEL org.opencontainers.image.version="${CMAKE_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" COPY --from=ci-cmake-builder /package/. / @@ -214,9 +240,8 @@ COPY --from=ci-python-builder /package/. / #################### ci-boost-builder #################### FROM ci-python-builder as ci-boost-builder - -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION +ARG BOOST_VERSION +ENV BOOST_VERSION=${BOOST_VERSION} COPY ../scripts/base/build_boost.sh \ /tmp/ @@ -234,12 +259,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-boost +ARG BOOST_VERSION +ENV BOOST_VERSION=${BOOST_VERSION} COPY --from=ci-boost-builder /package/. / #################### ci-tbb-builder #################### FROM ci-base-builder as ci-tbb-builder +ARG TBB_VERSION +ENV TBB_VERSION=${TBB_VERSION} COPY ../scripts/base/build_tbb.sh \ /tmp/ @@ -257,12 +286,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-tbb +ARG TBB_VERSION +ENV TBB_VERSION=${TBB_VERSION} COPY --from=ci-tbb-builder /package/. / #################### ci-cppunit-builder #################### FROM ci-python-builder as ci-cppunit-builder +ARG CPPUNIT_VERSION +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} COPY ../scripts/base/build_cppunit.sh \ /tmp/ @@ -280,12 +313,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-cppunit +ARG CPPUNIT_VERSION +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} COPY --from=ci-cppunit-builder /package/. / #################### ci-log4cplus-builder #################### FROM ci-python-builder as ci-log4cplus-builder +ARG LOG4CPLUS_VERSION +ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} COPY ../scripts/base/build_log4cplus.sh \ /tmp/ @@ -303,12 +340,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-log4cplus +ARG LOG4CPLUS_VERSION +ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} COPY --from=ci-log4cplus-builder /package/. / #################### ci-glew-builder #################### FROM ci-python-builder as ci-glew-builder +ARG GLEW_VERSION +ENV GLEW_VERSION=${GLEW_VERSION} COPY ../scripts/base/build_glew.sh \ /tmp/ @@ -326,6 +367,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-glew +ARG GLEW_VERSION +ENV GLEW_VERSION=${GLEW_VERSION} COPY --from=ci-glew-builder /package/. / @@ -333,6 +376,8 @@ COPY --from=ci-glew-builder /package/. / #################### ci-glfw-builder #################### FROM ci-python-builder as ci-glfw-builder +ARG GLFW_VERSION +ENV GLFW_VERSION=${GLFW_VERSION} COPY ../scripts/base/build_glfw.sh \ /tmp/ @@ -350,12 +395,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-glfw +ARG GLFW_VERSION +ENV GLFW_VERSION=${GLFW_VERSION} COPY --from=ci-glfw-builder /package/. / #################### ci-qt-builder #################### FROM ci-python-builder as ci-qt-builder +ARG QT_VERSION +ENV QT_VERSION=${QT_VERSION} COPY ../scripts/base/build_qt.sh \ /tmp/ @@ -373,12 +422,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-qt +ARG QT_VERSION +ENV QT_VERSION=${QT_VERSION} COPY --from=ci-qt-builder /package/. / #################### ci-pyside-builder #################### FROM ci-python-builder as ci-pyside-builder +ARG PYSIDE_VERSION +ENV PYSIDE_VERSION=${PYSIDE_VERSION} # Workaround pyside issue with Qt headers within system location https://bugreports.qt.io/browse/PYSIDE-787 COPY --from=ci-package-qt-external /. /tmp/qt5temp @@ -401,6 +454,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-pyside +ARG PYSIDE_VERSION +ENV PYSIDE_VERSION=${PYSIDE_VERSION} COPY --from=ci-pyside-builder /package/. / @@ -408,6 +463,8 @@ COPY --from=ci-pyside-builder /package/. / #################### ci-openexr-builder #################### FROM ci-base-builder as ci-openexr-builder +ARG OPENEXR_VERSION +ENV OPENEXR_VERSION=${OPENEXR_VERSION} COPY --from=ci-package-python-external /. /usr/local/ COPY --from=ci-package-boost-external /. /usr/local/ @@ -428,12 +485,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-openexr +ARG OPENEXR_VERSION +ENV OPENEXR_VERSION=${OPENEXR_VERSION} COPY --from=ci-openexr-builder /package/. / #################### ci-blosc-builder #################### FROM ci-python-builder as ci-blosc-builder +ARG BLOSC_VERSION +ENV BLOSC_VERSION=${BLOSC_VERSION} COPY ../scripts/vfx/build_blosc.sh \ /tmp/ @@ -451,12 +512,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-blosc +ARG BLOSC_VERSION +ENV BLOSC_VERSION=${BLOSC_VERSION} COPY --from=ci-blosc-builder /package/. / #################### ci-partio-builder #################### FROM ci-python-builder as ci-partio-builder +ARG PARTIO_VERSION +ENV PARTIO_VERSION=${PARTIO_VERSION} COPY ../scripts/vfx/build_partio.sh \ /tmp/ @@ -474,12 +539,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-partio +ARG PARTIO_VERSION +ENV PARTIO_VERSION=${PARTIO_VERSION} COPY --from=ci-partio-builder /package/. / #################### ci-oiio-builder #################### FROM ci-openexr-builder as ci-oiio-builder +ARG OIIO_VERSION +ENV OIIO_VERSION=${OIIO_VERSION} COPY ../scripts/vfx/build_oiio.sh \ /tmp/ @@ -497,12 +566,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-oiio +ARG OIIO_VERSION +ENV OIIO_VERSION=${OIIO_VERSION} COPY --from=ci-oiio-builder /package/. / #################### ci-ocio-builder #################### FROM ci-oiio-builder as ci-ocio-builder +ARG OCIO_VERSION +ENV OCIO_VERSION=${OCIO_VERSION} COPY ../scripts/vfx/build_ocio.sh \ /tmp/ @@ -520,12 +593,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-ocio +ARG OCIO_VERSION +ENV OCIO_VERSION=${OCIO_VERSION} COPY --from=ci-ocio-builder /package/. / #################### ci-osl-builder #################### FROM ci-oiio-builder as ci-osl-builder +ARG OSL_VERSION +ENV OSL_VERSION=${OSL_VERSION} COPY --from=ci-package-clang-external /. /usr/local/ COPY --from=ci-package-qt-external /. /usr/local/ @@ -547,12 +624,16 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-osl +ARG OSL_VERSION +ENV OSL_VERSION=${OSL_VERSION} COPY --from=ci-osl-builder /package/. / #################### ci-alembic-builder #################### FROM ci-openexr-builder as ci-alembic-builder +ARG ALEMBIC_VERSION +ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} COPY ../scripts/vfx/build_alembic.sh \ /tmp/ @@ -570,6 +651,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-alembic +ARG ALEMBIC_VERSION +ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} COPY --from=ci-alembic-builder /package/. / @@ -577,6 +660,8 @@ COPY --from=ci-alembic-builder /package/. / #################### ci-ptex-builder #################### FROM ci-openexr-builder as ci-ptex-builder +ARG PTEX_VERSION +ENV PTEX_VERSION=${PTEX_VERSION} COPY ../scripts/vfx/build_ptex.sh \ /tmp/ @@ -594,6 +679,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-ptex +ARG PTEX_VERSION +ENV PTEX_VERSION=${PTEX_VERSION} COPY --from=ci-ptex-builder /package/. / @@ -602,6 +689,8 @@ COPY --from=ci-ptex-builder /package/. / #################### ci-opensubdiv-builder #################### FROM ci-ptex-builder as ci-opensubdiv-builder +ARG OPENSUBDIV_VERSION +ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} COPY ../scripts/vfx/build_opensubdiv.sh \ /tmp/ @@ -623,6 +712,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-opensubdiv +ARG OPENSUBDIV_VERSION +ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} COPY --from=ci-opensubdiv-builder /package/. / @@ -631,6 +722,8 @@ COPY --from=ci-opensubdiv-builder /package/. / #################### ci-openvdb-builder #################### FROM ci-openexr-builder as ci-openvdb-builder +ARG OPENVDB_VERSION +ENV OPENVDB_VERSION=${OPENVDB_VERSION} COPY ../scripts/vfx/build_openvdb.sh \ /tmp/ @@ -654,6 +747,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-openvdb +ARG OPENVDB_VERSION +ENV OPENVDB_VERSION=${OPENVDB_VERSION} COPY --from=ci-openvdb-builder /package/. / @@ -662,6 +757,8 @@ COPY --from=ci-openvdb-builder /package/. / #################### ci-usd-builder #################### FROM ci-opensubdiv-builder as ci-usd-builder +ARG USD_VERSION +ENV USD_VERSION=${USD_VERSION} COPY --from=ci-package-glew /. /usr/local/ COPY --from=ci-package-alembic /. /usr/local/ @@ -687,6 +784,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-usd +ARG USD_VERSION +ENV USD_VERSION=${USD_VERSION} COPY --from=ci-usd-builder /package/. / @@ -694,6 +793,8 @@ COPY --from=ci-usd-builder /package/. / #################### ci-otio-builder #################### FROM ci-python-builder as ci-otio-builder +ARG OTIO_VERSION +ENV OTIO_VERSION=${OTIO_VERSION} COPY --from=ci-package-clang-external /. /usr/local/ COPY --from=ci-package-qt-external /. /usr/local/ @@ -715,6 +816,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-otio +ARG OTIO_VERSION +ENV OTIO_VERSION=${OTIO_VERSION} COPY --from=ci-otio-builder /package/. / diff --git a/python/aswfdocker/constants.py b/python/aswfdocker/constants.py index 6ebca3f7..fd301f2d 100644 --- a/python/aswfdocker/constants.py +++ b/python/aswfdocker/constants.py @@ -16,7 +16,16 @@ class ImageType(enum.Enum): GROUPS = { ImageType.PACKAGE: { "common": ["clang", "ninja"], - "base1": ["python", "boost", "tbb", "cppunit", "glew", "glfw", "log4cplus"], + "base1": [ + "cmake", + "python", + "boost", + "tbb", + "cppunit", + "glew", + "glfw", + "log4cplus", + ], "base2": ["qt"], "base3": ["pyside"], "vfx1": ["blosc", "openexr", "alembic", "ocio", "oiio"], diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 91c37e5a..71a8a065 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -114,7 +114,7 @@ def test_image_base_2019clang_dict(self): "GLFW_VERSION": "3.1.2", "HDF5_VERSION": "1.8.21", "LOG4CPLUS_VERSION": "1.1.2", - "NINJA_VERSION": "1.10.0", + "NINJA_VERSION": "1.10.1", "NUMPY_VERSION": "1.14", "OCIO_CONFIGS_VERSION": "1.0_r2", "OCIO_VERSION": "1.1.0", @@ -125,12 +125,11 @@ def test_image_base_2019clang_dict(self): "OSL_VERSION": "1.10.9", "OTIO_VERSION": "0.12.1", "PARTIO_VERSION": "1.10.1", - "PKGS_COMMON_CMAKE_VERSION": "3.12.4", "PTEX_VERSION": "2.1.33", "PYSIDE_VERSION": "5.12.6", "PYTHON_VERSION": "2.7.15", "QT_VERSION": "5.12.6", - "SONAR_VERSION": "3.3.0.1492", + "SONAR_VERSION": "4.5.0.2216", "TBB_VERSION": "2018", "USD_VERSION": "19.11", "VFXPLATFORM_VERSION": "2019", @@ -189,7 +188,7 @@ def test_image_base_2019_2020_dict(self): "GLFW_VERSION": "3.1.2", "HDF5_VERSION": "1.8.21", "LOG4CPLUS_VERSION": "1.1.2", - "NINJA_VERSION": "1.10.0", + "NINJA_VERSION": "1.10.1", "NUMPY_VERSION": "1.16", "OCIO_CONFIGS_VERSION": "1.0_r2", "OCIO_VERSION": "1.1.1", @@ -200,12 +199,11 @@ def test_image_base_2019_2020_dict(self): "OSL_VERSION": "1.10.10", "OTIO_VERSION": "0.12.1", "PARTIO_VERSION": "1.10.1", - "PKGS_COMMON_CMAKE_VERSION": "3.12.4", "PTEX_VERSION": "2.3.2", "PYSIDE_VERSION": "5.12.6", "PYTHON_VERSION": "3.7.3", "QT_VERSION": "5.12.6", - "SONAR_VERSION": "3.3.0.1492", + "SONAR_VERSION": "4.5.0.2216", "TBB_VERSION": "2019_U6", "USD_VERSION": "20.11", "VFXPLATFORM_VERSION": "2020", @@ -242,7 +240,7 @@ def test_image_base_2019_2020_dict(self): "GLFW_VERSION": "3.1.2", "HDF5_VERSION": "1.8.21", "LOG4CPLUS_VERSION": "1.1.2", - "NINJA_VERSION": "1.10.0", + "NINJA_VERSION": "1.10.1", "NUMPY_VERSION": "1.14", "OCIO_CONFIGS_VERSION": "1.0_r2", "OCIO_VERSION": "1.1.0", @@ -253,12 +251,11 @@ def test_image_base_2019_2020_dict(self): "OSL_VERSION": "1.10.9", "OTIO_VERSION": "0.12.1", "PARTIO_VERSION": "1.10.1", - "PKGS_COMMON_CMAKE_VERSION": "3.12.4", "PTEX_VERSION": "2.1.33", "PYSIDE_VERSION": "5.12.6", "PYTHON_VERSION": "2.7.15", "QT_VERSION": "5.12.6", - "SONAR_VERSION": "3.3.0.1492", + "SONAR_VERSION": "4.5.0.2216", "TBB_VERSION": "2018", "USD_VERSION": "19.11", "VFXPLATFORM_VERSION": "2019", diff --git a/scripts/common/install_ccache.sh b/scripts/common/install_ccache.sh index 7067ecb2..265038d6 100755 --- a/scripts/common/install_ccache.sh +++ b/scripts/common/install_ccache.sh @@ -16,7 +16,7 @@ tar xf "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" cd "ccache-${CCACHE_VERSION}" mkdir build cd build -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. +cmake -DCMAKE_BUILD_TYPE=Release -DZSTD_FROM_INTERNET=ON -DCMAKE_INSTALL_PREFIX=/usr/local .. make -j$(nproc) make install diff --git a/scripts/common/install_dev_ccache.sh b/scripts/common/install_dev_ccache.sh index cbefefa8..82a4e2ca 100755 --- a/scripts/common/install_dev_ccache.sh +++ b/scripts/common/install_dev_ccache.sh @@ -4,16 +4,18 @@ set -ex +export DEV_CCACHE_VERSION=4.0 + mkdir ccache cd ccache -if [ ! -f "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" ]; then - curl --location "https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/ccache-${DEV_CCACHE_VERSION}.tar.gz" ]; then + curl --location "https://github.com/ccache/ccache/releases/download/v${DEV_CCACHE_VERSION}/ccache-${DEV_CCACHE_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ccache-${DEV_CCACHE_VERSION}.tar.gz" fi -tar xf "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" +tar xf "$DOWNLOADS_DIR/ccache-${DEV_CCACHE_VERSION}.tar.gz" -cd "ccache-${CCACHE_VERSION}" +cd "ccache-${DEV_CCACHE_VERSION}" mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/aswfbuilder -DZSTD_FROM_INTERNET=ON .. diff --git a/scripts/common/install_dev_cmake.sh b/scripts/common/install_dev_cmake.sh index 321b5b90..4bef6b31 100755 --- a/scripts/common/install_dev_cmake.sh +++ b/scripts/common/install_dev_cmake.sh @@ -6,7 +6,9 @@ set -ex mkdir -p /opt/aswfbuilder -if [ ! -f "$DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" ]; then - curl --location "https://github.com/Kitware/CMake/releases/download/v${PKGS_COMMON_CMAKE_VERSION}/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" -o "$DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" +export DEV_CMAKE_VERSION=3.12.4 + +if [ ! -f "$DOWNLOADS_DIR/cmake-${DEV_CMAKE_VERSION}-Linux-x86_64.sh" ]; then + curl --location "https://github.com/Kitware/CMake/releases/download/v${DEV_CMAKE_VERSION}/cmake-${DEV_CMAKE_VERSION}-Linux-x86_64.sh" -o "$DOWNLOADS_DIR/cmake-${DEV_CMAKE_VERSION}-Linux-x86_64.sh" fi -sh "$DOWNLOADS_DIR/cmake-${PKGS_COMMON_CMAKE_VERSION}-Linux-x86_64.sh" --skip-license --prefix=/opt/aswfbuilder --exclude-subdir +sh "$DOWNLOADS_DIR/cmake-${DEV_CMAKE_VERSION}-Linux-x86_64.sh" --skip-license --prefix=/opt/aswfbuilder --exclude-subdir diff --git a/scripts/common/install_yumpackages.sh b/scripts/common/install_yumpackages.sh index 441befd3..01cde995 100755 --- a/scripts/common/install_yumpackages.sh +++ b/scripts/common/install_yumpackages.sh @@ -138,3 +138,5 @@ yum install -y \ p7zip \ yasm-devel \ zvbi-devel + +yum clean all diff --git a/versions.yaml b/versions.yaml index a58ae8d8..c69f5eb6 100644 --- a/versions.yaml +++ b/versions.yaml @@ -11,9 +11,8 @@ versions: DTS_VERSION: "6" CUDA_VERSION: "10.2" CCACHE_VERSION: "4.0" - NINJA_VERSION: "1.10.0" - SONAR_VERSION: "3.3.0.1492" - PKGS_COMMON_CMAKE_VERSION: "3.12.4" + NINJA_VERSION: "1.10.1" + SONAR_VERSION: "4.5.0.2216" "1-clang6": parent_versions: ["1"] major_version: "1" @@ -59,9 +58,8 @@ versions: DTS_VERSION: "9" CUDA_VERSION: "11.1" CCACHE_VERSION: "4.0" - NINJA_VERSION: "1.10.0" - SONAR_VERSION: "3.3.0.1492" - PKGS_COMMON_CMAKE_VERSION: "3.12.4" + NINJA_VERSION: "1.10.1" + SONAR_VERSION: "4.5.0.2216" "2-clang10": parent_versions: ["2"] major_version: "2" From 1964d4f54c709fe566582ba7b8bc54be6592e309 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 07:22:59 +1100 Subject: [PATCH 040/132] Updated all licenses and some versions Signed-off-by: Aloys Baillet --- packages/Dockerfile | 453 +++++++++++++++++++++++++++++++++++--------- versions.yaml | 94 ++++----- 2 files changed, 408 insertions(+), 139 deletions(-) diff --git a/packages/Dockerfile b/packages/Dockerfile index 7446a223..ff42fa66 100644 --- a/packages/Dockerfile +++ b/packages/Dockerfile @@ -107,7 +107,7 @@ LABEL org.opencontainers.image.description="Clang (llvm) build artifacts to be i LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://llvm.org/" -LABEL org.opencontainers.image.source="https://github.com/llvm/llvm-project" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" LABEL org.opencontainers.image.version="${CLANG_VERSION}" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" @@ -146,7 +146,7 @@ LABEL org.opencontainers.image.description="Ninja binary to be installed in ASWF LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://ninja-build.org/" -LABEL org.opencontainers.image.source="https://github.com/ninja-build/ninja" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" LABEL org.opencontainers.image.version="${NINJA_VERSION}" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" @@ -187,7 +187,7 @@ LABEL org.opencontainers.image.description="CMake binary to be installed in ASWF LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://cmake.org/" -LABEL org.opencontainers.image.source="https://gitlab.kitware.com/cmake/cmake" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" LABEL org.opencontainers.image.version="${CMAKE_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" @@ -227,13 +227,27 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-python #################### -# This build target is used to generate a packages of python that -# can be placed in a downloadable artifact FROM scratch as ci-package-python +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG PYTHON_VERSION -ENV PYTHON_VERSION=${PYTHON_VERSION} ARG NUMPY_VERSION -ENV NUMPY_VERSION=${NUMPY_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-python" +LABEL org.opencontainers.image.title="Python and numpy packages built for ASWF docker images" +LABEL org.opencontainers.image.description="Python (PSF-2.0 license) and numpy (BSD-3-Clause license) to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.python.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${PYTHON_VERSION}" +LABEL org.opencontainers.image.licenses="PSF-2.0 AND BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" COPY --from=ci-python-builder /package/. / @@ -255,12 +269,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-boost #################### -# This build target is used to generate a packages of boost that -# can be placed in a downloadable artifact - FROM scratch as ci-package-boost +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG BOOST_VERSION -ENV BOOST_VERSION=${BOOST_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-boost" +LABEL org.opencontainers.image.title="Boost package built for ASWF docker images" +LABEL org.opencontainers.image.description="Boost binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.boost.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${BOOST_VERSION}" +LABEL org.opencontainers.image.licenses="BSL-1.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" COPY --from=ci-boost-builder /package/. / @@ -282,12 +309,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-tbb #################### -# This build target is used to generate a packages of tbb that -# can be placed in a downloadable artifact - FROM scratch as ci-package-tbb +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG TBB_VERSION -ENV TBB_VERSION=${TBB_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-tbb" +LABEL org.opencontainers.image.title="Intel TBB package built for ASWF docker images" +LABEL org.opencontainers.image.description="TBB binaries and headers to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://software.intel.com/en-us/tbb" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${TBB_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.boost="${TBB_VERSION}" COPY --from=ci-tbb-builder /package/. / @@ -309,12 +349,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-cppunit #################### -# This build target is used to generate a packages of cppunit that -# can be placed in a downloadable artifact - FROM scratch as ci-package-cppunit +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG CPPUNIT_VERSION -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-cppunit" +LABEL org.opencontainers.image.title="CppUnit package built for ASWF docker images" +LABEL org.opencontainers.image.description="CppUnit headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.boost.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${CPPUNIT_VERSION}" +LABEL org.opencontainers.image.licenses="LGPL-2.1-only" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" COPY --from=ci-cppunit-builder /package/. / @@ -336,12 +389,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-log4cplus #################### -# This build target is used to generate a packages of log4cplus that -# can be placed in a downloadable artifact - FROM scratch as ci-package-log4cplus +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG LOG4CPLUS_VERSION -ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-log4cplus" +LABEL org.opencontainers.image.title="log4cplus package built for ASWF docker images" +LABEL org.opencontainers.image.description="log4cplus headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://sourceforge.net/projects/log4cplus/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${LOG4CPLUS_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-2-Clause AND Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" COPY --from=ci-log4cplus-builder /package/. / @@ -363,17 +429,29 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-glew #################### -# This build target is used to generate a packages of glew that -# can be placed in a downloadable artifact - FROM scratch as ci-package-glew +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG GLEW_VERSION -ENV GLEW_VERSION=${GLEW_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glew" +LABEL org.opencontainers.image.title="glew package built for ASWF docker images" +LABEL org.opencontainers.image.description="glew headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="http://glew.sourceforge.net/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${GLEW_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause AND MIT" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" COPY --from=ci-glew-builder /package/. / - #################### ci-glfw-builder #################### FROM ci-python-builder as ci-glfw-builder ARG GLFW_VERSION @@ -391,12 +469,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-glfw #################### -# This build target is used to generate a packages of glfw that -# can be placed in a downloadable artifact - FROM scratch as ci-package-glfw +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG GLFW_VERSION -ENV GLFW_VERSION=${GLFW_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glfw" +LABEL org.opencontainers.image.title="glfw package built for ASWF docker images" +LABEL org.opencontainers.image.description="glfw headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.glfw.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${GLFW_VERSION}" +LABEL org.opencontainers.image.licenses="Zlib" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" COPY --from=ci-glfw-builder /package/. / @@ -418,12 +509,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-qt #################### -# This build target is used to generate a packages of qt that -# can be placed in a downloadable artifact - FROM scratch as ci-package-qt +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG QT_VERSION -ENV QT_VERSION=${QT_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-qt" +LABEL org.opencontainers.image.title="Qt package built for ASWF docker images" +LABEL org.opencontainers.image.description="Qt headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.qt.io/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${QT_VERSION}" +LABEL org.opencontainers.image.licenses="https://doc.qt.io/qt-5/licenses-used-in-qt.html" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.glfw="${QT_VERSION}" COPY --from=ci-qt-builder /package/. / @@ -450,12 +554,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-pyside #################### -# This build target is used to generate a packages of pyside that -# can be placed in a downloadable artifact - FROM scratch as ci-package-pyside +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG PYSIDE_VERSION -ENV PYSIDE_VERSION=${PYSIDE_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-pyside" +LABEL org.opencontainers.image.title="PySide package built for ASWF docker images" +LABEL org.opencontainers.image.description="PySide headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.qt.io/qt-for-python" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${PYSIDE_VERSION}" +LABEL org.opencontainers.image.licenses="LGPL-2.1" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" COPY --from=ci-pyside-builder /package/. / @@ -481,12 +598,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-openexr #################### -# This build target is used to generate a packages of openexr that -# can be placed in a downloadable artifact - FROM scratch as ci-package-openexr +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG OPENEXR_VERSION -ENV OPENEXR_VERSION=${OPENEXR_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openexr" +LABEL org.opencontainers.image.title="OpenEXR package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenEXR headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openexr" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OPENEXR_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.pyside="${OPENEXR_VERSION}" COPY --from=ci-openexr-builder /package/. / @@ -508,12 +638,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-blosc #################### -# This build target is used to generate a packages of blosc that -# can be placed in a downloadable artifact - FROM scratch as ci-package-blosc +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG BLOSC_VERSION -ENV BLOSC_VERSION=${BLOSC_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-blosc" +LABEL org.opencontainers.image.title="Blosc package built for ASWF docker images" +LABEL org.opencontainers.image.description="Blosc headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/Blosc/c-blosc" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${BLOSC_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.blosc="${BLOSC_VERSION}" COPY --from=ci-blosc-builder /package/. / @@ -535,12 +678,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-partio #################### -# This build target is used to generate a packages of partio that -# can be placed in a downloadable artifact - FROM scratch as ci-package-partio +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG PARTIO_VERSION -ENV PARTIO_VERSION=${PARTIO_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-partio" +LABEL org.opencontainers.image.title="Partio package built for ASWF docker images" +LABEL org.opencontainers.image.description="Partio headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/wdas/partio" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${PARTIO_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.partio="${PARTIO_VERSION}" COPY --from=ci-partio-builder /package/. / @@ -562,12 +718,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-oiio #################### -# This build target is used to generate a packages of oiio that -# can be placed in a downloadable artifact - FROM scratch as ci-package-oiio +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG OIIO_VERSION -ENV OIIO_VERSION=${OIIO_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-oiio" +LABEL org.opencontainers.image.title="OpenImageIO package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenImageIO headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/OpenImageIO/oiio" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OIIO_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" COPY --from=ci-oiio-builder /package/. / @@ -589,12 +758,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ocio #################### -# This build target is used to generate a packages of ocio that -# can be placed in a downloadable artifact - FROM scratch as ci-package-ocio +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG OCIO_VERSION -ENV OCIO_VERSION=${OCIO_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ocio" +LABEL org.opencontainers.image.title="OpenColorIO package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenColorIO headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/OpenColorIO" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OCIO_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.ocio="${OCIO_VERSION}" COPY --from=ci-ocio-builder /package/. / @@ -620,12 +802,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-osl #################### -# This build target is used to generate a packages of osl that -# can be placed in a downloadable artifact - FROM scratch as ci-package-osl +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG OSL_VERSION -ENV OSL_VERSION=${OSL_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-osl" +LABEL org.opencontainers.image.title="OpenShadingLanguage package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenShadingLanguage headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/imageworks/OpenShadingLanguage" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OSL_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.osl="${OSL_VERSION}" COPY --from=ci-osl-builder /package/. / @@ -647,12 +842,25 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-alembic #################### -# This build target is used to generate a packages of alembic that -# can be placed in a downloadable artifact - FROM scratch as ci-package-alembic +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG ALEMBIC_VERSION -ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-alembic" +LABEL org.opencontainers.image.title="Alembic package built for ASWF docker images" +LABEL org.opencontainers.image.description="Alembic headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/alembic/alembic" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${ALEMBIC_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.alembic="${ALEMBIC_VERSION}" COPY --from=ci-alembic-builder /package/. / @@ -675,18 +883,29 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ptex #################### -# This build target is used to generate a packages of ptex that -# can be placed in a downloadable artifact - FROM scratch as ci-package-ptex +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG PTEX_VERSION -ENV PTEX_VERSION=${PTEX_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ptex" +LABEL org.opencontainers.image.title="Ptex package built for ASWF docker images" +LABEL org.opencontainers.image.description="Ptex headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/wdas/ptex" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${PTEX_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.ptex="${PTEX_VERSION}" COPY --from=ci-ptex-builder /package/. / - - #################### ci-opensubdiv-builder #################### FROM ci-ptex-builder as ci-opensubdiv-builder ARG OPENSUBDIV_VERSION @@ -708,18 +927,29 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-opensubdiv #################### -# This build target is used to generate a packages of opensubdiv that -# can be placed in a downloadable artifact - FROM scratch as ci-package-opensubdiv +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG OPENSUBDIV_VERSION -ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-opensubdiv" +LABEL org.opencontainers.image.title="OpenSubdiv package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenSubdiv headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/OpenSubdiv" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OPENSUBDIV_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.opensubdiv="${OPENSUBDIV_VERSION}" COPY --from=ci-opensubdiv-builder /package/. / - - #################### ci-openvdb-builder #################### FROM ci-openexr-builder as ci-openvdb-builder ARG OPENVDB_VERSION @@ -743,18 +973,29 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-openvdb #################### -# This build target is used to generate a packages of openvdb that -# can be placed in a downloadable artifact - FROM scratch as ci-package-openvdb +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG OPENVDB_VERSION -ENV OPENVDB_VERSION=${OPENVDB_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openvdb" +LABEL org.opencontainers.image.title="OpenVDB package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenVDB headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openvdb" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OPENVDB_VERSION}" +LABEL org.opencontainers.image.licenses="MPL-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.openvdb="${OPENVDB_VERSION}" COPY --from=ci-openvdb-builder /package/. / - - #################### ci-usd-builder #################### FROM ci-opensubdiv-builder as ci-usd-builder ARG USD_VERSION @@ -780,17 +1021,29 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-usd #################### -# This build target is used to generate a packages of usd that -# can be placed in a downloadable artifact - FROM scratch as ci-package-usd +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG USD_VERSION -ENV USD_VERSION=${USD_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-usd" +LABEL org.opencontainers.image.title="USD package built for ASWF docker images" +LABEL org.opencontainers.image.description="USD (Universal Scene Description) headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/USD" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${USD_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.usd="${USD_VERSION}" COPY --from=ci-usd-builder /package/. / - #################### ci-otio-builder #################### FROM ci-python-builder as ci-otio-builder ARG OTIO_VERSION @@ -816,8 +1069,24 @@ RUN --mount=type=cache,target=/tmp/ccache \ # can be placed in a downloadable artifact FROM scratch as ci-package-otio +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION ARG OTIO_VERSION -ENV OTIO_VERSION=${OTIO_VERSION} +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-otio" +LABEL org.opencontainers.image.title="OpenTimelineIO package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenTimelineIO headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/OpenTimelineIO" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OTIO_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.otio="${OTIO_VERSION}" COPY --from=ci-otio-builder /package/. / diff --git a/versions.yaml b/versions.yaml index c69f5eb6..eb0a0f7b 100644 --- a/versions.yaml +++ b/versions.yaml @@ -81,30 +81,30 @@ versions: major_version: "2018" ci_common_version: "1" package_versions: + ALEMBIC_VERSION: "1.7.11" + BLOSC_VERSION: "1.5.0" BOOST_VERSION: "1.61.0" CMAKE_VERSION: "3.9.4" CPPUNIT_VERSION: "1.14.0" GLEW_VERSION: "2.1.0" GLFW_VERSION: "3.1.2" + HDF5_VERSION: "1.8.21" LOG4CPLUS_VERSION: "1.1.2" NUMPY_VERSION: "1.14" - PYSIDE_VERSION: "2.0.0" - PYTHON_VERSION: "2.7.15" - QT_VERSION: "5.6.1" - TBB_VERSION: "2017_U6" - BLOSC_VERSION: "1.5.0" + OCIO_CONFIGS_VERSION: "1.0_r2" + OCIO_VERSION: "1.0.9" OIIO_VERSION: "2.0.8" OPENEXR_VERSION: "2.2.1" - OCIO_VERSION: "1.0.9" - OCIO_CONFIGS_VERSION: "1.0_r2" - HDF5_VERSION: "1.8.21" - ALEMBIC_VERSION: "1.7.11" - PTEX_VERSION: "2.1.28" OPENSUBDIV_VERSION: "3_3_3" OPENVDB_VERSION: "5.2.0" - USD_VERSION: "19.11" OSL_VERSION: "1.10.9" PARTIO_VERSION: "1.10.1" + PTEX_VERSION: "2.1.28" + PYSIDE_VERSION: "2.0.0" + PYTHON_VERSION: "2.7.15" + QT_VERSION: "5.6.1" + TBB_VERSION: "2017_U6" + USD_VERSION: "19.11" "2018-clang7": parent_versions: ["1", "1-clang7", "2018"] major_version: "2018" @@ -115,31 +115,31 @@ versions: tags: ["latest"] ci_common_version: "1" package_versions: + ALEMBIC_VERSION: "1.7.11" + BLOSC_VERSION: "1.5.0" BOOST_VERSION: "1.66.0" CMAKE_VERSION: "3.12.4" CPPUNIT_VERSION: "1.14.0" GLEW_VERSION: "2.1.0" GLFW_VERSION: "3.1.2" + HDF5_VERSION: "1.8.21" LOG4CPLUS_VERSION: "1.1.2" NUMPY_VERSION: "1.14" - PYSIDE_VERSION: "5.12.6" - PYTHON_VERSION: "2.7.15" - QT_VERSION: "5.12.6" - TBB_VERSION: "2018" - BLOSC_VERSION: "1.5.0" + OCIO_CONFIGS_VERSION: "1.0_r2" + OCIO_VERSION: "1.1.0" OIIO_VERSION: "2.0.8" OPENEXR_VERSION: "2.3.0" - OCIO_VERSION: "1.1.0" - OCIO_CONFIGS_VERSION: "1.0_r2" - HDF5_VERSION: "1.8.21" - ALEMBIC_VERSION: "1.7.11" - PTEX_VERSION: "2.1.33" OPENSUBDIV_VERSION: "3_3_3" OPENVDB_VERSION: "6.2.1" - USD_VERSION: "19.11" OSL_VERSION: "1.10.9" OTIO_VERSION: "0.12.1" PARTIO_VERSION: "1.10.1" + PTEX_VERSION: "2.1.33" + PYSIDE_VERSION: "5.12.6" + PYTHON_VERSION: "2.7.15" + QT_VERSION: "5.12.6" + TBB_VERSION: "2018" + USD_VERSION: "19.11" "2019-clang6": parent_versions: ["1", "1-clang6", "2019"] major_version: "2019" @@ -167,31 +167,31 @@ versions: major_version: "2020" ci_common_version: "1" package_versions: + ALEMBIC_VERSION: "1.7.12" + BLOSC_VERSION: "1.5.0" BOOST_VERSION: "1.70.0" CMAKE_VERSION: "3.18.4" - CPPUNIT_VERSION: "1.14.0" + CPPUNIT_VERSION: "1.15.1" GLEW_VERSION: "2.1.0" GLFW_VERSION: "3.1.2" + HDF5_VERSION: "1.8.21" LOG4CPLUS_VERSION: "1.1.2" NUMPY_VERSION: "1.16" - PYSIDE_VERSION: "5.12.6" - PYTHON_VERSION: "3.7.3" - QT_VERSION: "5.12.6" - TBB_VERSION: "2019_U6" - BLOSC_VERSION: "1.5.0" + OCIO_CONFIGS_VERSION: "1.0_r2" + OCIO_VERSION: "1.1.1" OIIO_VERSION: "2.1.13.0" OPENEXR_VERSION: "2.4.0" - OCIO_VERSION: "1.1.1" - OCIO_CONFIGS_VERSION: "1.0_r2" - HDF5_VERSION: "1.8.21" - ALEMBIC_VERSION: "1.7.12" - PTEX_VERSION: "2.3.2" OPENSUBDIV_VERSION: "3_4_3" OPENVDB_VERSION: "7.1.0" - USD_VERSION: "20.11" OSL_VERSION: "1.10.10" OTIO_VERSION: "0.12.1" PARTIO_VERSION: "1.10.1" + PTEX_VERSION: "2.3.2" + PYSIDE_VERSION: "5.12.6" + PYTHON_VERSION: "3.7.3" + QT_VERSION: "5.12.6" + TBB_VERSION: "2019_U6" + USD_VERSION: "20.11" "2020-clang7": parent_versions: ["1", "1-clang7", "2020"] major_version: "2020" @@ -203,31 +203,31 @@ versions: tags: ["preview"] ci_common_version: "2" package_versions: + ALEMBIC_VERSION: "1.7.12" + BLOSC_VERSION: "1.20.1" BOOST_VERSION: "1.70.0" CMAKE_VERSION: "3.18.4" - CPPUNIT_VERSION: "1.14.0" + CPPUNIT_VERSION: "1.15.1" GLEW_VERSION: "2.1.0" GLFW_VERSION: "3.1.2" + HDF5_VERSION: "1.8.21" LOG4CPLUS_VERSION: "1.1.2" NUMPY_VERSION: "1.16" - PYSIDE_VERSION: "5.12.6" - PYTHON_VERSION: "3.7.3" - QT_VERSION: "5.12.8" - TBB_VERSION: "2019_U6" - BLOSC_VERSION: "1.5.0" + OCIO_CONFIGS_VERSION: "1.0_r2" + OCIO_VERSION: "1.1.1" OIIO_VERSION: "2.1.13.0" OPENEXR_VERSION: "2.4.0" - OCIO_VERSION: "1.1.1" - OCIO_CONFIGS_VERSION: "1.0_r2" - HDF5_VERSION: "1.8.21" - ALEMBIC_VERSION: "1.7.12" - PTEX_VERSION: "2.3.2" OPENSUBDIV_VERSION: "3_4_3" OPENVDB_VERSION: "7.1.0" - USD_VERSION: "20.11" OSL_VERSION: "1.10.10" OTIO_VERSION: "0.12.1" - PARTIO_VERSION: "1.10.1" + PARTIO_VERSION: "1.13.0" + PTEX_VERSION: "2.3.2" + PYSIDE_VERSION: "5.12.6" + PYTHON_VERSION: "3.7.3" + QT_VERSION: "5.12.8" + TBB_VERSION: "2019_U6" + USD_VERSION: "20.11" "2021-clang10": parent_versions: ["2", "2-clang10", "2021"] major_version: "2021" From 489d1a028419a24111217b0e7790e4ff80f16e23 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 07:37:41 +1100 Subject: [PATCH 041/132] Fixed boost and oiio Signed-off-by: Aloys Baillet --- scripts/base/build_boost.sh | 9 +++++---- scripts/vfx/build_oiio.sh | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/base/build_boost.sh b/scripts/base/build_boost.sh index 57ce9474..22440b32 100755 --- a/scripts/base/build_boost.sh +++ b/scripts/base/build_boost.sh @@ -16,12 +16,13 @@ else BOOST_EXTRA_ARGS="" fi -BOOTSTRAP_ARGS="--with-python=${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION} --with-python-version=${PYTHON_VERSION} --with-python-root=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}" -if [[ $PYTHON_VERSION == 3* ]]; then +PYTHON_MAJOR_MINOR=$(echo "${PYTHON_VERSION}" | cut -d. -f-2) +BOOTSTRAP_ARGS="--with-python=${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_MAJOR_MINOR} --with-python-version=${PYTHON_MAJOR_MINOR} --with-python-root=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_MAJOR_MINOR}" +if [[ $PYTHON_MAJOR_MINOR == 3* ]]; then # The unfortunate trick is the "m" in the python include path... - echo "using python : ${PYTHON_VERSION} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_VERSION}m : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam + echo "using python : ${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_MAJOR_MINOR}m : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam else - echo "using python : ${PYTHON_VERSION} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_VERSION} : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam + echo "using python : ${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam fi mkdir boost diff --git a/scripts/vfx/build_oiio.sh b/scripts/vfx/build_oiio.sh index fd75b97c..91b24bbc 100755 --- a/scripts/vfx/build_oiio.sh +++ b/scripts/vfx/build_oiio.sh @@ -11,13 +11,15 @@ if [ "$OIIO_VERSION" != "latest" ]; then git checkout "tags/Release-${OIIO_VERSION}" -b "Release-${OIIO_VERSION}" fi +PYTHON_MAJOR_MINOR=$(echo "${PYTHON_VERSION}" | cut -d. -f-2) + mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ -DOIIO_BUILD_TOOLS=ON \ -DOIIO_BUILD_TESTS=OFF \ -DVERBOSE=ON \ - -DPYTHON_VERSION="${PYTHON_VERSION}" \ + -DPYTHON_VERSION="${PYTHON_MAJOR_MINOR}" \ -DBoost_NO_BOOST_CMAKE=ON \ ../. make -j$(nproc) From 8b6a105d06825898be74e919a905aad15a6f7e12 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 09:49:52 +1100 Subject: [PATCH 042/132] Fixed ocio build Signed-off-by: Aloys Baillet --- packages/Dockerfile | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/Dockerfile b/packages/Dockerfile index ff42fa66..325533da 100644 --- a/packages/Dockerfile +++ b/packages/Dockerfile @@ -745,6 +745,8 @@ COPY --from=ci-oiio-builder /package/. / FROM ci-oiio-builder as ci-ocio-builder ARG OCIO_VERSION ENV OCIO_VERSION=${OCIO_VERSION} +ARG OCIO_CONFIGS_VERSION +ENV OCIO_CONFIGS_VERSION=${OCIO_CONFIGS_VERSION} COPY ../scripts/vfx/build_ocio.sh \ /tmp/ @@ -764,6 +766,7 @@ ARG CI_COMMON_VERSION ARG DTS_VERSION ARG VFXPLATFORM_VERSION ARG OCIO_VERSION +ARG OCIO_CONFIGS_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ocio" LABEL org.opencontainers.image.title="OpenColorIO package built for ASWF docker images" LABEL org.opencontainers.image.description="OpenColorIO headers and binaries to be installed in ASWF docker images" @@ -777,6 +780,7 @@ LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" LABEL io.aswf.docker.versions.ocio="${OCIO_VERSION}" +LABEL io.aswf.docker.versions.ocioconfigs="${OCIO_CONFIGS_VERSION}" COPY --from=ci-ocio-builder /package/. / @@ -829,6 +833,8 @@ COPY --from=ci-osl-builder /package/. / FROM ci-openexr-builder as ci-alembic-builder ARG ALEMBIC_VERSION ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} +ARG HDF5_VERSION +ENV HDF5_VERSION=${HDF5_VERSION} COPY ../scripts/vfx/build_alembic.sh \ /tmp/ @@ -848,6 +854,7 @@ ARG CI_COMMON_VERSION ARG DTS_VERSION ARG VFXPLATFORM_VERSION ARG ALEMBIC_VERSION +ARG HDF5_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-alembic" LABEL org.opencontainers.image.title="Alembic package built for ASWF docker images" LABEL org.opencontainers.image.description="Alembic headers and binaries to be installed in ASWF docker images" @@ -861,6 +868,7 @@ LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" LABEL io.aswf.docker.versions.alembic="${ALEMBIC_VERSION}" +LABEL io.aswf.docker.versions.hdf5="${HDF5_VERSION}" COPY --from=ci-alembic-builder /package/. / From 0871d8395ca6cbb5eb28bc8108c9b1d8d756c60d Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 09:59:29 +1100 Subject: [PATCH 043/132] Incremented packages and images versions Signed-off-by: Aloys Baillet --- versions.yaml | 268 +++++++++++++++++++++++++------------------------- 1 file changed, 134 insertions(+), 134 deletions(-) diff --git a/versions.yaml b/versions.yaml index eb0a0f7b..8619d6e3 100644 --- a/versions.yaml +++ b/versions.yaml @@ -242,186 +242,186 @@ versions: ci-packages: clang: - - "1-clang6.1" - - "1-clang7.1" - - "1-clang8.1" - - "1-clang9.1" - - "1-clang10.1" - - "2-clang10.1" - - "2-clang11.1" + - "1-clang6.2" + - "1-clang7.2" + - "1-clang8.2" + - "1-clang9.2" + - "1-clang10.2" + - "2-clang10.2" + - "2-clang11.2" ninja: - - "1.2" - - "2.0" + - "1.3" + - "2.1" cmake: - "2018.0" - "2019.0" - "2020.0" - "2021.0" python: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" boost: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" tbb: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" cppunit: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" - glew: - - "2018.1" - - "2019.1" - - "2020.1" + - "2018.2" + - "2019.2" + - "2020.2" - "2021.1" + glew: + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.2" glfw: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.1" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.2" log4cplus: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" qt: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" pyside: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" blosc: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" openexr: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" alembic: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.0" - ocio: - - "2018.1" - - "2019.1" - - "2020.1" + - "2018.2" + - "2019.2" + - "2020.2" - "2021.1" + ocio: + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.2" oiio: - - "2018.1" - - "2019.1" - - "2020.1" - - "2021.1" + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.2" opensubdiv: + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.2" + ptex: + - "2018.2" + - "2019.2" + - "2020.2" + - "2021.1" + openvdb: + - "2019.2" + - "2020.2" + - "2021.1" + usd: + - "2019.3" + - "2020.2" + - "2021.2" + partio: - "2018.1" - "2019.1" - "2020.1" - "2021.1" - ptex: + osl: - "2018.1" - "2019.1" - "2020.1" - - "2021.0" - openvdb: + - "2021.2" + otio: - "2019.1" - "2020.1" - - "2021.0" - usd: - - "2019.2" - - "2020.1" - - "2021.1" - partio: - - "2018.0" - - "2019.0" - - "2020.0" - - "2021.0" - osl: - - "2018.0" - - "2019.0" - - "2020.0" - "2021.1" - otio: - - "2019.0" - - "2020.0" - - "2021.0" ci-images: common: - - "1-clang6.6" - - "1-clang7.6" - - "1-clang8.6" - - "1-clang9.6" - - "1-clang10.6" + - "1-clang6.7" + - "1-clang7.7" + - "1-clang8.7" + - "1-clang9.7" + - "1-clang10.7" - "2-clang10.2" - "2-clang11.2" base: - - "2018.6" - - "2019.6" - - "2020.6" - - "2021.2" + - "2018.7" + - "2019.7" + - "2020.7" + - "2021.3" openexr: - - "2018.6" - - "2019.6" - - "2020.6" - - "2021.2" + - "2018.7" + - "2019.7" + - "2020.7" + - "2021.3" openvdb: - - "2018-clang7.6" - - "2019-clang6.6" - - "2019-clang7.6" - - "2019-clang8.6" - - "2019-clang9.6" - - "2020-clang7.6" - - "2021-clang10.2" + - "2018-clang7.7" + - "2019-clang6.7" + - "2019-clang7.7" + - "2019-clang8.7" + - "2019-clang9.7" + - "2020-clang7.7" + - "2021-clang10.3" ocio: + - "2018.8" + - "2019.8" + - "2020.7" + - "2021.3" + opencue: - "2018.7" - "2019.7" - - "2020.6" - - "2021.2" - opencue: - - "2018.6" - - "2019.6" - - "2020.6" - - "2021.2" + - "2020.7" + - "2021.3" usd: - - "2019.7" - - "2020.6" - - "2021.2" + - "2019.8" + - "2020.7" + - "2021.3" osl: - - "2018-clang7.2" - - "2019-clang6.2" - - "2019-clang7.2" - - "2019-clang8.2" - - "2019-clang9.2" - - "2019-clang10.2" - - "2020-clang7.2" - - "2021-clang10.2" - - "2021-clang11.2" + - "2018-clang7.3" + - "2019-clang6.3" + - "2019-clang7.3" + - "2019-clang8.3" + - "2019-clang9.3" + - "2019-clang10.3" + - "2020-clang7.3" + - "2021-clang10.3" + - "2021-clang11.3" otio: - - "2019.1" - - "2020.1" - - "2021.1" + - "2019.2" + - "2020.2" + - "2021.2" vfxall: - - "2019-clang6.10" - - "2019-clang7.10" - - "2019-clang8.10" - - "2019-clang9.10" - - "2020-clang7.8" - - "2021-clang10.3" + - "2019-clang6.11" + - "2019-clang7.11" + - "2019-clang8.11" + - "2019-clang9.11" + - "2020-clang7.9" + - "2021-clang10.4" rt-images: base: From b0d066ef9c0bd56611673094df44c6bfb1351c00 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 16:55:12 +1100 Subject: [PATCH 044/132] Fixed tests Signed-off-by: Aloys Baillet --- python/aswfdocker/tests/test_builder.py | 2 +- python/aswfdocker/tests/test_migrater.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 71a8a065..1ad3926f 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -181,7 +181,7 @@ def test_image_base_2019_2020_dict(self): "CLANG_MAJOR_VERSION": "7", "CLANG_VERSION": "7.1.0", "CMAKE_VERSION": "3.18.4", - "CPPUNIT_VERSION": "1.14.0", + "CPPUNIT_VERSION": "1.15.1", "CUDA_VERSION": "10.2", "DTS_VERSION": "6", "GLEW_VERSION": "2.1.0", diff --git a/python/aswfdocker/tests/test_migrater.py b/python/aswfdocker/tests/test_migrater.py index 08960ea2..f8958a64 100644 --- a/python/aswfdocker/tests/test_migrater.py +++ b/python/aswfdocker/tests/test_migrater.py @@ -35,7 +35,10 @@ def test_migrate_versionfilter(self): self.assertEqual(len(m.migration_list), 1) minfo = m.migration_list[0] self.assertEqual(minfo.image, "ci-package-openexr") - self.assertEqual(minfo.version, "2019.1") + oexr_version = list( + index.Index().iter_versions(constants.ImageType.PACKAGE, "openexr") + )[1] + self.assertEqual(minfo.version, oexr_version) self.assertEqual( minfo.source, f"{constants.DOCKER_REGISTRY}/src/ci-package-openexr:{current_version}", From 856ed9731a19e616df88cd43ae590868b83a28e9 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 22:42:30 +1100 Subject: [PATCH 045/132] Big python version cleanup Signed-off-by: Aloys Baillet --- ci-base/Dockerfile | 57 +++---- ci-baseqt/Dockerfile | 102 +++++++++---- ci-common/Dockerfile | 41 +++--- ci-ocio/Dockerfile | 93 ++++++++---- ci-opencue/Dockerfile | 50 ++++--- ci-openexr/Dockerfile | 61 +++++--- ci-openvdb/Dockerfile | 4 +- ci-osl/Dockerfile | 4 +- ci-otio/Dockerfile | 4 +- ci-usd/Dockerfile | 4 +- ci-vfxall/Dockerfile | 4 +- packages/Dockerfile | 188 ++++++++++++++++-------- python/aswfdocker/tests/test_builder.py | 3 + scripts/base/build_boost.sh | 9 +- scripts/vfx/build_oiio.sh | 4 +- versions.yaml | 4 + 16 files changed, 409 insertions(+), 223 deletions(-) diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 57914fc6..0d4cb3f8 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -1,11 +1,10 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 +ARG ASWF_ORG +ARG ASWF_PKG_ORG ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION ARG GLEW_VERSION @@ -13,50 +12,43 @@ ARG GLFW_VERSION ARG LOG4CPLUS_VERSION ARG NUMPY_VERSION ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR ARG TBB_VERSION +ARG VFXPLATFORM_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}=${LOG4CPLUS_VERSION} as ci-package-log4cplus FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}=${LOG4CPLUS_VERSION} as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base + ARG ASWF_ORG -ARG VFXPLATFORM_VERSION ARG ASWF_VERSION - ARG BOOST_VERSION -ENV BOOST_VERSION=${BOOST_VERSION} ARG CMAKE_VERSION -ENV CMAKE_VERSION=${CMAKE_VERSION} ARG CPPUNIT_VERSION -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} ARG GLEW_VERSION -ENV GLEW_VERSION=${GLEW_VERSION} ARG GLFW_VERSION -ENV GLFW_VERSION=${GLFW_VERSION} ARG LOG4CPLUS_VERSION -ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} ARG NUMPY_VERSION -ENV NUMPY_VERSION=${NUMPY_VERSION} ARG PYTHON_VERSION -ENV PYTHON_VERSION=${PYTHON_VERSION} +ARG PYTHON_VERSION_MAJOR_MINOR ARG TBB_VERSION -ENV TBB_VERSION=${TBB_VERSION} - -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" +ARG VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-base" LABEL org.opencontainers.image.title="Base CI Docker Image" LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other base libraries" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-baseqt/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" @@ -71,10 +63,21 @@ LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} +ENV BOOST_VERSION=${BOOST_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} +ENV GLEW_VERSION=${GLEW_VERSION} +ENV GLFW_VERSION=${GLFW_VERSION} +ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV TBB_VERSION=${TBB_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index bfc0ad4d..0e0bf0e1 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -1,43 +1,87 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION} as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG LOG4CPLUS_VERSION +ARG NUMPY_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG QT_VERSION +ARG TBB_VERSION +ARG VFXPLATFORM_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}=${LOG4CPLUS_VERSION} as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-baseqt ARG ASWF_ORG -ARG VFXPLATFORM_VERSION ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 - -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG LOG4CPLUS_VERSION +ARG NUMPY_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG QT_VERSION +ARG TBB_VERSION +ARG VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/baseqt-ci" -LABEL org.opencontainers.image.description="Base with Qt and PySide CI Docker Image" +LABEL org.opencontainers.image.title="Base with Qt and PySide CI Docker Image" +LABEL org.opencontainers.image.description="Contains: qt-${QT_VERSION}, pyside-${PYSIDE_VERSION} and other base libraries" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-baseqt/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" +LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" +LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" +LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" +LABEL io.aswf.docker.versions.qt="${QT_VERSION}" +LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" + +ENV ASWF_ORG=${ASWF_ORG} +ENV BOOST_VERSION=${BOOST_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} +ENV GLEW_VERSION=${GLEW_VERSION} +ENV GLFW_VERSION=${GLFW_VERSION} +ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV PYSIDE_VERSION=${PYSIDE_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV QT_VERSION=${QT_VERSION} +ENV TBB_VERSION=${TBB_VERSION} + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ @@ -46,6 +90,6 @@ COPY --from=ci-package-cppunit /. /usr/local/ COPY --from=ci-package-log4cplus /. /usr/local/ COPY --from=ci-package-glew /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ -COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index a2c1cbc8..67d0a152 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -1,14 +1,14 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG CUDA_VERSION=10.2 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG DTS_VERSION=6 +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG CCACHE_VERSION +ARG CI_COMMON_VERSION ARG CLANG_VERSION +ARG CUDA_VERSION +ARG DTS_VERSION ARG NINJA_VERSION ARG SONAR_VERSION -ARG CCACHE_VERSION FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION}-${CLANG_VERSION} as ci-package-clang FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION}-${NINJA_VERSION} as ci-package-ninja @@ -16,30 +16,20 @@ FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION}-${NINJA_VERSION} as c FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-common ARG ASWF_ORG +ARG CCACHE_VERSION ARG CI_COMMON_VERSION -ARG DTS_VERSION - ARG CLANG_VERSION -ENV CLANG_VERSION=${CLANG_VERSION} - +ARG DTS_VERSION ARG NINJA_VERSION -ENV NINJA_VERSION=${NINJA_VERSION} - ARG SONAR_VERSION -ENV SONAR_VERSION=${SONAR_VERSION} - -ARG CCACHE_VERSION -ENV CCACHE_VERSION=${CCACHE_VERSION} - - -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" LABEL org.opencontainers.image.name="$ASWF_ORG/ci-common" LABEL org.opencontainers.image.title="Common CI Docker Image" LABEL org.opencontainers.image.description="Contains: clang:${CLANG_VERSION}, ninja:${NINJA_VERSION}, sonar:${SONAR_VERSION}" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/ci-common/Dockerfile" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-common/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${CI_COMMON_VERSION}" LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" @@ -52,7 +42,14 @@ USER root COPY scripts/common/install_yumpackages.sh \ /tmp/ +ENV CCACHE_VERSION=${CCACHE_VERSION} +ENV CLANG_VERSION=${CLANG_VERSION} +ENV NINJA_VERSION=${NINJA_VERSION} +ENV SONAR_VERSION=${SONAR_VERSION} ENV DTS_VERSION=${DTS_VERSION} +ENV ASWF_ORG=${ASWF_ORG} +ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} + RUN /tmp/install_yumpackages.sh RUN mkdir /opt/aswf @@ -60,10 +57,8 @@ WORKDIR /opt/aswf ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ - CI_COMMON_VERSION=${CI_COMMON_VERSION} \ PERL5LIB=/opt/rh/rh-git218/root/usr/share/perl5/vendor_perl \ - MANPATH=/opt/rh/rh-git218/root/usr/share/man \ - ASWF_ORG=${ASWF_ORG} + MANPATH=/opt/rh/rh-git218/root/usr/share/man COPY scripts/common/install_sonar.sh \ scripts/common/install_ccache.sh \ diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index da755718..7002fe00 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -1,45 +1,84 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG NUMPY_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION +ARG PYTHON_VERSION +ARG TBB_VERSION +ARG VFXPLATFORM_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-ocio ARG ASWF_ORG -ARG VFXPLATFORM_VERSION ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG NUMPY_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION +ARG PYTHON_VERSION +ARG TBB_VERSION +ARG VFXPLATFORM_VERSION -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/base-ocio" -LABEL org.opencontainers.image.description="OpenColorIO CI Docker Image" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-ocio" +LABEL org.opencontainers.image.title="Base CI Docker Image" +LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other OpenColorIO upstream dependencies" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-ocio/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" +LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" +LABEL io.aswf.docker.versions.openexr="${OPENEXR_VERSION}" +LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" + +ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} +ENV BOOST_VERSION=${BOOST_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV GLEW_VERSION=${GLEW_VERSION} +ENV GLFW_VERSION=${GLFW_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV OIIO_VERSION=${OIIO_VERSION} +ENV OPENEXR_VERSION=${OPENEXR_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV TBB_VERSION=${TBB_VERSION} +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-glew /. /usr/local/ +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-oiio /. /usr/local/ -COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index e02c7754..bd0150e1 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -1,35 +1,49 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG VFXPLATFORM_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-opencue ARG ASWF_ORG -ARG VFXPLATFORM_VERSION ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 +ARG CMAKE_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG VFXPLATFORM_VERSION -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-opencue" -LABEL org.opencontainers.image.description="OpenCue CI Docker Image" +LABEL org.opencontainers.image.title="OpenCue CI Docker Image" +LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other OpenColorIO upstream dependencies" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-opencue/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index b1630c06..0efdcbdd 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -1,36 +1,55 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG VFXPLATFORM_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openexr ARG ASWF_ORG +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR ARG VFXPLATFORM_VERSION -ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 - -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/openexr-ci" -LABEL org.opencontainers.image.description="openexr CI Docker Image" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-openexr" +LABEL org.opencontainers.image.title="OpenEXR CI Docker Image" +LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, boost-${BOOST_VERSION} and other OpenEXR upstream dependencies" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-openexr/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" + +ENV ASWF_ORG=${ASWF_ORG} +ENV BOOST_VERSION=${BOOST_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 8038bbbb..9dbd41a4 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -22,7 +22,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/openvdb-ci" @@ -32,7 +32,7 @@ LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundat LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} \ VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 6f1507c3..be321ef0 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -21,7 +21,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-osl" LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" @@ -30,7 +30,7 @@ LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundat LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/lib/python \ +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python \ VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index 96dc25a0..7f03230b 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -18,7 +18,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-otio" LABEL org.opencontainers.image.description="OpenTimelineIO CI Docker Image" @@ -27,7 +27,7 @@ LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundat LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/lib/python \ +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python \ VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index 20942f58..bafc19e4 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -32,7 +32,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-usd" LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" @@ -41,7 +41,7 @@ LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundat LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} \ +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} \ VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 41971fbd..e9262216 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -36,7 +36,7 @@ ARG VFXPLATFORM_VERSION ARG ASWF_VERSION ARG PYTHON_VERSION=2.7 -LABEL org.opencontainers.image.authors="aloys.baillet@gmail.com" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/base-vfxall" LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" @@ -45,7 +45,7 @@ LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundat LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/lib/python \ +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python \ VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ ASWF_VERSION=${ASWF_VERSION} \ ASWF_ORG=${ASWF_ORG} diff --git a/packages/Dockerfile b/packages/Dockerfile index 325533da..04a6c0e8 100644 --- a/packages/Dockerfile +++ b/packages/Dockerfile @@ -3,41 +3,41 @@ # SPDX-License-Identifier: Apache-2.0 # "Global" ARGs -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG PYTHON_VERSION=2.7 -ARG CUDA_VERSION=10.2 -ARG DTS_VERSION=6 -ARG ASWF_ORG=aswftesting -ARG CLANG_VERSION -ARG NINJA_VERSION -ARG SONAR_VERSION -ARG CCACHE_VERSION +ARG ALEMBIC_VERSION +ARG ASWF_ORG +ARG BLOSC_VERSION ARG BOOST_VERSION +ARG CCACHE_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION +ARG CUDA_VERSION +ARG DTS_VERSION ARG GLEW_VERSION ARG GLFW_VERSION +ARG HDF5_VERSION ARG LOG4CPLUS_VERSION +ARG NINJA_VERSION ARG NUMPY_VERSION -ARG PYSIDE_VERSION -ARG PYTHON_VERSION -ARG QT_VERSION -ARG TBB_VERSION -ARG BLOSC_VERSION +ARG OCIO_CONFIGS_VERSION +ARG OCIO_VERSION ARG OIIO_VERSION ARG OPENEXR_VERSION -ARG OCIO_VERSION -ARG OCIO_CONFIGS_VERSION -ARG HDF5_VERSION -ARG ALEMBIC_VERSION -ARG PTEX_VERSION ARG OPENSUBDIV_VERSION ARG OPENVDB_VERSION -ARG USD_VERSION ARG OSL_VERSION ARG OTIO_VERSION ARG PARTIO_VERSION +ARG PTEX_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG QT_VERSION +ARG SONAR_VERSION +ARG TBB_VERSION +ARG USD_VERSION +ARG VFXPLATFORM_VERSION # Required base packages built in previous passes to speed things up FROM ${ASWF_ORG}/ci-package-clang:${CI_COMMON_VERSION}-${CLANG_VERSION} as ci-package-clang-external @@ -50,8 +50,11 @@ FROM ${ASWF_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as c FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-centos7-gl-packages ARG CI_COMMON_VERSION -ARG DTS_VERSION +ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} ARG CUDA_VERSION +ENV CUDA_VERSION=${CUDA_VERSION} +ARG DTS_VERSION +ENV DTS_VERSION=${DTS_VERSION} COPY ../scripts/common/install_yumpackages.sh \ /tmp/ @@ -65,13 +68,11 @@ COPY ../scripts/common/install_dev_ccache.sh \ ../scripts/common/install_dev_cmake.sh \ /tmp/ -ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} \ - DOWNLOADS_DIR=/tmp/downloads \ +ENV DOWNLOADS_DIR=/tmp/downloads \ CCACHE_DIR=/tmp/ccache \ ASWF_INSTALL_PREFIX=/usr/local \ LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ - PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ - CUDA_VERSION=${CUDA_VERSION} + PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ /tmp/install_dev_cmake.sh && \ @@ -97,10 +98,12 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-clang #################### FROM scratch as ci-package-clang + ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION ARG CLANG_VERSION +ARG DTS_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-clang" LABEL org.opencontainers.image.title="Clang package built for ASWF docker images" LABEL org.opencontainers.image.description="Clang (llvm) build artifacts to be installed in ASWF docker images" @@ -136,10 +139,12 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ninja #################### FROM scratch as ci-package-ninja + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION ARG NINJA_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" LABEL org.opencontainers.image.title="Ninja package built for ASWF docker images" LABEL org.opencontainers.image.description="Ninja binary to be installed in ASWF docker images" @@ -176,11 +181,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-cmake #################### FROM scratch as ci-package-cmake + ARG ASWF_ORG ARG CI_COMMON_VERSION +ARG CMAKE_VERSION ARG DTS_VERSION ARG VFXPLATFORM_VERSION -ARG CMAKE_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" LABEL org.opencontainers.image.title="CMake package built for ASWF docker images" LABEL org.opencontainers.image.description="CMake binary to be installed in ASWF docker images" @@ -201,19 +208,21 @@ COPY --from=ci-cmake-builder /package/. / #################### ci-base-builder #################### FROM ci-cmake-builder as ci-base-builder +ARG PYTHON_VERSION_MAJOR_MINOR +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION - -ENV PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + #################### ci-python-builder #################### FROM ci-base-builder as ci-python-builder -ARG PYTHON_VERSION -ENV PYTHON_VERSION=${PYTHON_VERSION} + ARG NUMPY_VERSION ENV NUMPY_VERSION=${NUMPY_VERSION} +ARG PYTHON_VERSION +ENV PYTHON_VERSION=${PYTHON_VERSION} COPY ../scripts/base/build_python.sh \ /tmp/ @@ -228,12 +237,14 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-python #################### FROM scratch as ci-package-python + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-python" LABEL org.opencontainers.image.title="Python and numpy packages built for ASWF docker images" LABEL org.opencontainers.image.description="Python (PSF-2.0 license) and numpy (BSD-3-Clause license) to be installed in ASWF docker images" @@ -254,6 +265,7 @@ COPY --from=ci-python-builder /package/. / #################### ci-boost-builder #################### FROM ci-python-builder as ci-boost-builder + ARG BOOST_VERSION ENV BOOST_VERSION=${BOOST_VERSION} @@ -270,11 +282,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-boost #################### FROM scratch as ci-package-boost + ARG ASWF_ORG +ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG DTS_VERSION ARG VFXPLATFORM_VERSION -ARG BOOST_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-boost" LABEL org.opencontainers.image.title="Boost package built for ASWF docker images" LABEL org.opencontainers.image.description="Boost binaries to be installed in ASWF docker images" @@ -294,6 +308,7 @@ COPY --from=ci-boost-builder /package/. / #################### ci-tbb-builder #################### FROM ci-base-builder as ci-tbb-builder + ARG TBB_VERSION ENV TBB_VERSION=${TBB_VERSION} @@ -310,11 +325,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-tbb #################### FROM scratch as ci-package-tbb + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG TBB_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-tbb" LABEL org.opencontainers.image.title="Intel TBB package built for ASWF docker images" LABEL org.opencontainers.image.description="TBB binaries and headers to be installed in ASWF docker images" @@ -334,6 +351,7 @@ COPY --from=ci-tbb-builder /package/. / #################### ci-cppunit-builder #################### FROM ci-python-builder as ci-cppunit-builder + ARG CPPUNIT_VERSION ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} @@ -350,11 +368,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-cppunit #################### FROM scratch as ci-package-cppunit + ARG ASWF_ORG ARG CI_COMMON_VERSION +ARG CPPUNIT_VERSION ARG DTS_VERSION ARG VFXPLATFORM_VERSION -ARG CPPUNIT_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-cppunit" LABEL org.opencontainers.image.title="CppUnit package built for ASWF docker images" LABEL org.opencontainers.image.description="CppUnit headers and binaries to be installed in ASWF docker images" @@ -374,6 +394,7 @@ COPY --from=ci-cppunit-builder /package/. / #################### ci-log4cplus-builder #################### FROM ci-python-builder as ci-log4cplus-builder + ARG LOG4CPLUS_VERSION ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} @@ -390,11 +411,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-log4cplus #################### FROM scratch as ci-package-log4cplus + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG LOG4CPLUS_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-log4cplus" LABEL org.opencontainers.image.title="log4cplus package built for ASWF docker images" LABEL org.opencontainers.image.description="log4cplus headers and binaries to be installed in ASWF docker images" @@ -414,6 +437,7 @@ COPY --from=ci-log4cplus-builder /package/. / #################### ci-glew-builder #################### FROM ci-python-builder as ci-glew-builder + ARG GLEW_VERSION ENV GLEW_VERSION=${GLEW_VERSION} @@ -430,11 +454,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-glew #################### FROM scratch as ci-package-glew + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG GLEW_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glew" LABEL org.opencontainers.image.title="glew package built for ASWF docker images" LABEL org.opencontainers.image.description="glew headers and binaries to be installed in ASWF docker images" @@ -454,6 +480,7 @@ COPY --from=ci-glew-builder /package/. / #################### ci-glfw-builder #################### FROM ci-python-builder as ci-glfw-builder + ARG GLFW_VERSION ENV GLFW_VERSION=${GLFW_VERSION} @@ -470,11 +497,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-glfw #################### FROM scratch as ci-package-glfw + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG GLFW_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glfw" LABEL org.opencontainers.image.title="glfw package built for ASWF docker images" LABEL org.opencontainers.image.description="glfw headers and binaries to be installed in ASWF docker images" @@ -494,6 +523,7 @@ COPY --from=ci-glfw-builder /package/. / #################### ci-qt-builder #################### FROM ci-python-builder as ci-qt-builder + ARG QT_VERSION ENV QT_VERSION=${QT_VERSION} @@ -510,11 +540,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-qt #################### FROM scratch as ci-package-qt + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG QT_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-qt" LABEL org.opencontainers.image.title="Qt package built for ASWF docker images" LABEL org.opencontainers.image.description="Qt headers and binaries to be installed in ASWF docker images" @@ -534,6 +566,7 @@ COPY --from=ci-qt-builder /package/. / #################### ci-pyside-builder #################### FROM ci-python-builder as ci-pyside-builder + ARG PYSIDE_VERSION ENV PYSIDE_VERSION=${PYSIDE_VERSION} @@ -555,11 +588,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-pyside #################### FROM scratch as ci-package-pyside + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG PYSIDE_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-pyside" LABEL org.opencontainers.image.title="PySide package built for ASWF docker images" LABEL org.opencontainers.image.description="PySide headers and binaries to be installed in ASWF docker images" @@ -580,6 +615,7 @@ COPY --from=ci-pyside-builder /package/. / #################### ci-openexr-builder #################### FROM ci-base-builder as ci-openexr-builder + ARG OPENEXR_VERSION ENV OPENEXR_VERSION=${OPENEXR_VERSION} @@ -599,11 +635,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-openexr #################### FROM scratch as ci-package-openexr + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG OPENEXR_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openexr" LABEL org.opencontainers.image.title="OpenEXR package built for ASWF docker images" LABEL org.opencontainers.image.description="OpenEXR headers and binaries to be installed in ASWF docker images" @@ -623,6 +661,7 @@ COPY --from=ci-openexr-builder /package/. / #################### ci-blosc-builder #################### FROM ci-python-builder as ci-blosc-builder + ARG BLOSC_VERSION ENV BLOSC_VERSION=${BLOSC_VERSION} @@ -639,11 +678,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-blosc #################### FROM scratch as ci-package-blosc + ARG ASWF_ORG +ARG BLOSC_VERSION ARG CI_COMMON_VERSION ARG DTS_VERSION ARG VFXPLATFORM_VERSION -ARG BLOSC_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-blosc" LABEL org.opencontainers.image.title="Blosc package built for ASWF docker images" LABEL org.opencontainers.image.description="Blosc headers and binaries to be installed in ASWF docker images" @@ -663,6 +704,7 @@ COPY --from=ci-blosc-builder /package/. / #################### ci-partio-builder #################### FROM ci-python-builder as ci-partio-builder + ARG PARTIO_VERSION ENV PARTIO_VERSION=${PARTIO_VERSION} @@ -679,11 +721,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-partio #################### FROM scratch as ci-package-partio + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG PARTIO_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-partio" LABEL org.opencontainers.image.title="Partio package built for ASWF docker images" LABEL org.opencontainers.image.description="Partio headers and binaries to be installed in ASWF docker images" @@ -703,6 +747,7 @@ COPY --from=ci-partio-builder /package/. / #################### ci-oiio-builder #################### FROM ci-openexr-builder as ci-oiio-builder + ARG OIIO_VERSION ENV OIIO_VERSION=${OIIO_VERSION} @@ -719,11 +764,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-oiio #################### FROM scratch as ci-package-oiio + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG OIIO_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-oiio" LABEL org.opencontainers.image.title="OpenImageIO package built for ASWF docker images" LABEL org.opencontainers.image.description="OpenImageIO headers and binaries to be installed in ASWF docker images" @@ -743,6 +790,7 @@ COPY --from=ci-oiio-builder /package/. / #################### ci-ocio-builder #################### FROM ci-oiio-builder as ci-ocio-builder + ARG OCIO_VERSION ENV OCIO_VERSION=${OCIO_VERSION} ARG OCIO_CONFIGS_VERSION @@ -761,12 +809,14 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ocio #################### FROM scratch as ci-package-ocio + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION -ARG OCIO_VERSION ARG OCIO_CONFIGS_VERSION +ARG OCIO_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ocio" LABEL org.opencontainers.image.title="OpenColorIO package built for ASWF docker images" LABEL org.opencontainers.image.description="OpenColorIO headers and binaries to be installed in ASWF docker images" @@ -787,6 +837,7 @@ COPY --from=ci-ocio-builder /package/. / #################### ci-osl-builder #################### FROM ci-oiio-builder as ci-osl-builder + ARG OSL_VERSION ENV OSL_VERSION=${OSL_VERSION} @@ -807,11 +858,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-osl #################### FROM scratch as ci-package-osl + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG OSL_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-osl" LABEL org.opencontainers.image.title="OpenShadingLanguage package built for ASWF docker images" LABEL org.opencontainers.image.description="OpenShadingLanguage headers and binaries to be installed in ASWF docker images" @@ -831,6 +884,7 @@ COPY --from=ci-osl-builder /package/. / #################### ci-alembic-builder #################### FROM ci-openexr-builder as ci-alembic-builder + ARG ALEMBIC_VERSION ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} ARG HDF5_VERSION @@ -849,12 +903,14 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-alembic #################### FROM scratch as ci-package-alembic + +ARG ALEMBIC_VERSION ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION -ARG ALEMBIC_VERSION ARG HDF5_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-alembic" LABEL org.opencontainers.image.title="Alembic package built for ASWF docker images" LABEL org.opencontainers.image.description="Alembic headers and binaries to be installed in ASWF docker images" @@ -876,6 +932,7 @@ COPY --from=ci-alembic-builder /package/. / #################### ci-ptex-builder #################### FROM ci-openexr-builder as ci-ptex-builder + ARG PTEX_VERSION ENV PTEX_VERSION=${PTEX_VERSION} @@ -892,11 +949,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-ptex #################### FROM scratch as ci-package-ptex + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG PTEX_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ptex" LABEL org.opencontainers.image.title="Ptex package built for ASWF docker images" LABEL org.opencontainers.image.description="Ptex headers and binaries to be installed in ASWF docker images" @@ -916,6 +975,7 @@ COPY --from=ci-ptex-builder /package/. / #################### ci-opensubdiv-builder #################### FROM ci-ptex-builder as ci-opensubdiv-builder + ARG OPENSUBDIV_VERSION ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} @@ -936,11 +996,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-opensubdiv #################### FROM scratch as ci-package-opensubdiv + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG OPENSUBDIV_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-opensubdiv" LABEL org.opencontainers.image.title="OpenSubdiv package built for ASWF docker images" LABEL org.opencontainers.image.description="OpenSubdiv headers and binaries to be installed in ASWF docker images" @@ -960,6 +1022,7 @@ COPY --from=ci-opensubdiv-builder /package/. / #################### ci-openvdb-builder #################### FROM ci-openexr-builder as ci-openvdb-builder + ARG OPENVDB_VERSION ENV OPENVDB_VERSION=${OPENVDB_VERSION} @@ -982,11 +1045,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-openvdb #################### FROM scratch as ci-package-openvdb + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG OPENVDB_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openvdb" LABEL org.opencontainers.image.title="OpenVDB package built for ASWF docker images" LABEL org.opencontainers.image.description="OpenVDB headers and binaries to be installed in ASWF docker images" @@ -1006,6 +1071,7 @@ COPY --from=ci-openvdb-builder /package/. / #################### ci-usd-builder #################### FROM ci-opensubdiv-builder as ci-usd-builder + ARG USD_VERSION ENV USD_VERSION=${USD_VERSION} @@ -1030,11 +1096,13 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-usd #################### FROM scratch as ci-package-usd + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG USD_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-usd" LABEL org.opencontainers.image.title="USD package built for ASWF docker images" LABEL org.opencontainers.image.description="USD (Universal Scene Description) headers and binaries to be installed in ASWF docker images" @@ -1054,6 +1122,7 @@ COPY --from=ci-usd-builder /package/. / #################### ci-otio-builder #################### FROM ci-python-builder as ci-otio-builder + ARG OTIO_VERSION ENV OTIO_VERSION=${OTIO_VERSION} @@ -1073,15 +1142,14 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-otio #################### -# This build target is used to generate a package of otio that -# can be placed in a downloadable artifact - FROM scratch as ci-package-otio + ARG ASWF_ORG ARG CI_COMMON_VERSION ARG DTS_VERSION -ARG VFXPLATFORM_VERSION ARG OTIO_VERSION +ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-otio" LABEL org.opencontainers.image.title="OpenTimelineIO package built for ASWF docker images" LABEL org.opencontainers.image.description="OpenTimelineIO headers and binaries to be installed in ASWF docker images" diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 1ad3926f..6ef19062 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -128,6 +128,7 @@ def test_image_base_2019clang_dict(self): "PTEX_VERSION": "2.1.33", "PYSIDE_VERSION": "5.12.6", "PYTHON_VERSION": "2.7.15", + "PYTHON_VERSION_MAJOR_MINOR": "2.7", "QT_VERSION": "5.12.6", "SONAR_VERSION": "4.5.0.2216", "TBB_VERSION": "2018", @@ -202,6 +203,7 @@ def test_image_base_2019_2020_dict(self): "PTEX_VERSION": "2.3.2", "PYSIDE_VERSION": "5.12.6", "PYTHON_VERSION": "3.7.3", + "PYTHON_VERSION_MAJOR_MINOR": "3.7", "QT_VERSION": "5.12.6", "SONAR_VERSION": "4.5.0.2216", "TBB_VERSION": "2019_U6", @@ -254,6 +256,7 @@ def test_image_base_2019_2020_dict(self): "PTEX_VERSION": "2.1.33", "PYSIDE_VERSION": "5.12.6", "PYTHON_VERSION": "2.7.15", + "PYTHON_VERSION_MAJOR_MINOR": "2.7", "QT_VERSION": "5.12.6", "SONAR_VERSION": "4.5.0.2216", "TBB_VERSION": "2018", diff --git a/scripts/base/build_boost.sh b/scripts/base/build_boost.sh index 22440b32..fad144ff 100755 --- a/scripts/base/build_boost.sh +++ b/scripts/base/build_boost.sh @@ -16,13 +16,12 @@ else BOOST_EXTRA_ARGS="" fi -PYTHON_MAJOR_MINOR=$(echo "${PYTHON_VERSION}" | cut -d. -f-2) -BOOTSTRAP_ARGS="--with-python=${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_MAJOR_MINOR} --with-python-version=${PYTHON_MAJOR_MINOR} --with-python-root=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_MAJOR_MINOR}" -if [[ $PYTHON_MAJOR_MINOR == 3* ]]; then +BOOTSTRAP_ARGS="--with-python=${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION_MAJOR_MINOR} --with-python-version=${PYTHON_VERSION_MAJOR_MINOR} --with-python-root=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}" +if [[ $PYTHON_VERSION_MAJOR_MINOR == 3* ]]; then # The unfortunate trick is the "m" in the python include path... - echo "using python : ${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_MAJOR_MINOR}m : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam + echo "using python : ${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_VERSION_MAJOR_MINOR}m : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam else - echo "using python : ${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam + echo "using python : ${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam fi mkdir boost diff --git a/scripts/vfx/build_oiio.sh b/scripts/vfx/build_oiio.sh index 91b24bbc..af44ac26 100755 --- a/scripts/vfx/build_oiio.sh +++ b/scripts/vfx/build_oiio.sh @@ -11,15 +11,13 @@ if [ "$OIIO_VERSION" != "latest" ]; then git checkout "tags/Release-${OIIO_VERSION}" -b "Release-${OIIO_VERSION}" fi -PYTHON_MAJOR_MINOR=$(echo "${PYTHON_VERSION}" | cut -d. -f-2) - mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ -DOIIO_BUILD_TOOLS=ON \ -DOIIO_BUILD_TESTS=OFF \ -DVERBOSE=ON \ - -DPYTHON_VERSION="${PYTHON_MAJOR_MINOR}" \ + -DPYTHON_VERSION="${PYTHON_VERSION_MAJOR_MINOR}" \ -DBoost_NO_BOOST_CMAKE=ON \ ../. make -j$(nproc) diff --git a/versions.yaml b/versions.yaml index 8619d6e3..f7120f62 100644 --- a/versions.yaml +++ b/versions.yaml @@ -102,6 +102,7 @@ versions: PTEX_VERSION: "2.1.28" PYSIDE_VERSION: "2.0.0" PYTHON_VERSION: "2.7.15" + PYTHON_VERSION_MAJOR_MINOR: "2.7" QT_VERSION: "5.6.1" TBB_VERSION: "2017_U6" USD_VERSION: "19.11" @@ -137,6 +138,7 @@ versions: PTEX_VERSION: "2.1.33" PYSIDE_VERSION: "5.12.6" PYTHON_VERSION: "2.7.15" + PYTHON_VERSION_MAJOR_MINOR: "2.7" QT_VERSION: "5.12.6" TBB_VERSION: "2018" USD_VERSION: "19.11" @@ -189,6 +191,7 @@ versions: PTEX_VERSION: "2.3.2" PYSIDE_VERSION: "5.12.6" PYTHON_VERSION: "3.7.3" + PYTHON_VERSION_MAJOR_MINOR: "3.7" QT_VERSION: "5.12.6" TBB_VERSION: "2019_U6" USD_VERSION: "20.11" @@ -225,6 +228,7 @@ versions: PTEX_VERSION: "2.3.2" PYSIDE_VERSION: "5.12.6" PYTHON_VERSION: "3.7.3" + PYTHON_VERSION_MAJOR_MINOR: "3.7" QT_VERSION: "5.12.8" TBB_VERSION: "2019_U6" USD_VERSION: "20.11" From 8bcc7b15386819b634ba716de9f02ea46bdcc7f3 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 22:59:11 +1100 Subject: [PATCH 046/132] Further cleanup Signed-off-by: Aloys Baillet --- ci-base/Dockerfile | 2 +- ci-baseqt/Dockerfile | 2 +- ci-openvdb/Dockerfile | 99 ++++++++++++++++++++++++++++++------------- ci-osl/Dockerfile | 89 ++++++++++++++++++++++++++------------ 4 files changed, 133 insertions(+), 59 deletions(-) diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 0d4cb3f8..06c9ee7a 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -46,7 +46,7 @@ LABEL org.opencontainers.image.name="$ASWF_ORG/ci-base" LABEL org.opencontainers.image.title="Base CI Docker Image" LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other base libraries" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-baseqt/Dockerfile" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-base/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index 0e0bf0e1..cf2c12d3 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -45,7 +45,7 @@ ARG QT_VERSION ARG TBB_VERSION ARG VFXPLATFORM_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/baseqt-ci" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-baseqt" LABEL org.opencontainers.image.title="Base with Qt and PySide CI Docker Image" LABEL org.opencontainers.image.description="Contains: qt-${QT_VERSION}, pyside-${PYSIDE_VERSION} and other base libraries" LABEL org.opencontainers.image.url="http://aswf.io/" diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 9dbd41a4..271511c3 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -1,47 +1,86 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION} as ci-package-blosc - -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openvdb - ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLFW_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG TBB_VERSION ARG VFXPLATFORM_VERSION -ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 +ARG OPENEXR_VERSION +ARG BLOSC_VERSION -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc + +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base + +ARG ASWF_ORG +ARG ASWF_VERSION +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLFW_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG TBB_VERSION +ARG VFXPLATFORM_VERSION +ARG OPENEXR_VERSION +ARG BLOSC_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/openvdb-ci" -LABEL org.opencontainers.image.description="openvdb CI Docker Image" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-openvdb" +LABEL org.opencontainers.image.title="OpenVDB CI Docker Image" +LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other OpenVDB upstream dependencies" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-openvdb/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" +LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" +LABEL io.aswf.docker.versions.openexr="${OPENEXR_VERSION}" +LABEL io.aswf.docker.versions.blosc="${BLOSC_VERSION}" -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} +ENV BOOST_VERSION=${BOOST_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} +ENV GLFW_VERSION=${GLFW_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV TBB_VERSION=${TBB_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-cppunit /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ -COPY --from=ci-package-cmake /. /usr/local/ diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index be321ef0..a23e4de5 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -1,39 +1,74 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION} as ci-package-partio - -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-osl - ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG QT_VERSION ARG VFXPLATFORM_VERSION +ARG OPENEXR_VERSION +ARG OIIO_VERSION +ARG PARTIO_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION}-${PARTIO_VERSION} as ci-package-partio + +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-baseqt + +ARG ASWF_ORG ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG QT_VERSION +ARG VFXPLATFORM_VERSION +ARG OPENEXR_VERSION +ARG OIIO_VERSION +ARG PARTIO_VERSION -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/base-osl" -LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-osl" +LABEL org.opencontainers.image.title="OpenShadingLanguage CI Docker Image" +LABEL org.opencontainers.image.description="Contains: qt-${QT_VERSION} and other OpenShadingLanguage upstream dependencies" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-osl/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.qt="${QT_VERSION}" +LABEL io.aswf.docker.versions.openexr="${OPENEXR_VERSION}" +LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" +LABEL io.aswf.docker.versions.partio="${PARTIO_VERSION}" + +ENV ASWF_ORG=${ASWF_ORG} +ENV BOOST_VERSION=${BOOST_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV QT_VERSION=${QT_VERSION} +ENV TBB_VERSION=${TBB_VERSION} +ENV OPENEXR_VERSION=${OPENEXR_VERSION} +ENV OIIO_VERSION=${OIIO_VERSION} +ENV PARTIO_VERSION=${PARTIO_VERSION} -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ From 3407deee5057b4e330d3823e09b3125b0f602872 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 23:09:23 +1100 Subject: [PATCH 047/132] Further cleanup Signed-off-by: Aloys Baillet --- ci-baseqt/Dockerfile | 1 + ci-openexr/Dockerfile | 1 + ci-openvdb/Dockerfile | 2 +- ci-osl/Dockerfile | 3 +- ci-otio/Dockerfile | 64 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 69 insertions(+), 2 deletions(-) diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index cf2c12d3..08bdf795 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -69,6 +69,7 @@ LABEL io.aswf.docker.versions.qt="${QT_VERSION}" LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} ENV BOOST_VERSION=${BOOST_VERSION} ENV CMAKE_VERSION=${CMAKE_VERSION} ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index 0efdcbdd..883acdd7 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -42,6 +42,7 @@ LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} ENV BOOST_VERSION=${BOOST_VERSION} ENV CMAKE_VERSION=${CMAKE_VERSION} ENV NUMPY_VERSION=${NUMPY_VERSION} diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 271511c3..72a6c77a 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -25,7 +25,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci- FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openvdb ARG ASWF_ORG ARG ASWF_VERSION diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index a23e4de5..c62876da 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -23,7 +23,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION}-${PARTIO_VERSION} as ci-package-partio -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-baseqt +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-osl ARG ASWF_ORG ARG ASWF_VERSION @@ -58,6 +58,7 @@ LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" LABEL io.aswf.docker.versions.partio="${PARTIO_VERSION}" ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} ENV BOOST_VERSION=${BOOST_VERSION} ENV CMAKE_VERSION=${CMAKE_VERSION} ENV NUMPY_VERSION=${NUMPY_VERSION} diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index 7f03230b..9a5ebec0 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -1,3 +1,67 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG NUMPY_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG QT_VERSION +ARG VFXPLATFORM_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside + +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-otio + +ARG ASWF_ORG +ARG ASWF_VERSION +ARG CMAKE_VERSION +ARG NUMPY_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG QT_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-otio" +LABEL org.opencontainers.image.title="OpenTimelineIO CI Docker Image" +LABEL org.opencontainers.image.description="Contains: qt-${QT_VERSION}, pyside-${PYSIDE_VERSION} and other OpenTimelineIO upstream dependencies" +LABEL org.opencontainers.image.url="http://aswf.io/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-otio/Dockerfile" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.qt="${QT_VERSION}" +LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" + +ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV PYSIDE_VERSION=${PYSIDE_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV QT_VERSION=${QT_VERSION} + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + +COPY --from=ci-package-python /. /usr/local/ +COPY --from=ci-package-cmake /. /usr/local/ +COPY --from=ci-package-qt /. /usr/local/ +COPY --from=ci-package-pyside /. /usr/local/ + + + + # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 ARG ASWF_ORG=aswftesting From bcb92f48b812febf780f360e102342fd5a347772 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 23:23:40 +1100 Subject: [PATCH 048/132] Added 2 more cleanup Signed-off-by: Aloys Baillet --- ci-usd/Dockerfile | 158 +++++++++++++++++++++++++++++++++---------- ci-vfxall/Dockerfile | 145 ++++++++++++++++++++++++++++++++++----- 2 files changed, 251 insertions(+), 52 deletions(-) diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index bafc19e4..87a1b2c5 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -1,50 +1,138 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 +ARG ALEMBIC_VERSION +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG BLOSC_VERSION +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG HDF5_VERSION +ARG LOG4CPLUS_VERSION +ARG NUMPY_VERSION +ARG OCIO_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION +ARG OPENSUBDIV_VERSION +ARG OPENVDB_VERSION +ARG PTEX_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG QT_VERSION +ARG TBB_VERSION +ARG VFXPLATFORM_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION} as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION} as ci-package-blosc -FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION} as ci-package-alembic -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION} as ci-package-ocio -FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION} as ci-package-opensubdiv -FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION} as ci-package-ptex -FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION} as ci-package-openvdb +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-${LOG4CPLUS_VERSION} as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-${ALEMBIC_VERSION} as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION}-${OPENSUBDIV_VERSION} as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION}-${PTEX_VERSION} as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-${OPENVDB_VERSION} as ci-package-openvdb FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-usd +ARG ALEMBIC_VERSION ARG ASWF_ORG +ARG BLOSC_VERSION +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG HDF5_VERSION +ARG LOG4CPLUS_VERSION +ARG NUMPY_VERSION +ARG OCIO_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION +ARG OPENSUBDIV_VERSION +ARG OPENVDB_VERSION +ARG PTEX_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG QT_VERSION +ARG TBB_VERSION ARG VFXPLATFORM_VERSION -ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/base-usd" -LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-usd" +LABEL org.opencontainers.image.title="USD CI Docker Image" +LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other USD upstream dependencies" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-usd/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.alembic="${ALEMBIC_VERSION}" +LABEL io.aswf.docker.versions.blosc="${BLOSC_VERSION}" +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" +LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" +LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" +LABEL io.aswf.docker.versions.hdf5="${HDF5_VERSION}" +LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.ocio="${OCIO_VERSION}" +LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" +LABEL io.aswf.docker.versions.openexr="${OPENEXR_VERSION}" +LABEL io.aswf.docker.versions.opensubdiv="${OPENSUBDIV_VERSION}" +LABEL io.aswf.docker.versions.openvdb="${OPENVDB_VERSION}" +LABEL io.aswf.docker.versions.ptex="${PTEX_VERSION}" +LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.qt="${QT_VERSION}" +LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" + +ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} +ENV ASWF_ORG=${ASWF_ORG} +ENV BLOSC_VERSION=${BLOSC_VERSION} +ENV BOOST_VERSION=${BOOST_VERSION} +ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} +ENV CLANG_MAJOR_VERSION=${CLANG_MAJOR_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} +ENV GLEW_VERSION=${GLEW_VERSION} +ENV GLFW_VERSION=${GLFW_VERSION} +ENV HDF5_VERSION=${HDF5_VERSION} +ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV OCIO_VERSION=${OCIO_VERSION} +ENV OIIO_VERSION=${OIIO_VERSION} +ENV OPENEXR_VERSION=${OPENEXR_VERSION} +ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} +ENV OPENVDB_VERSION=${OPENVDB_VERSION} +ENV PTEX_VERSION=${PTEX_VERSION} +ENV PYSIDE_VERSION=${PYSIDE_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} +ENV QT_VERSION=${QT_VERSION} +ENV TBB_VERSION=${TBB_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index e9262216..961ec4a6 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -1,10 +1,37 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 +ARG ALEMBIC_VERSION +ARG ASWF_ORG +ARG BLOSC_VERSION +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG CUDA_VERSION +ARG DTS_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG HDF5_VERSION +ARG LOG4CPLUS_VERSION +ARG NUMPY_VERSION +ARG OCIO_CONFIGS_VERSION +ARG OCIO_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION +ARG OPENSUBDIV_VERSION +ARG OPENVDB_VERSION +ARG OSL_VERSION +ARG OTIO_VERSION +ARG PARTIO_VERSION +ARG PTEX_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG QT_VERSION +ARG TBB_VERSION +ARG USD_VERSION +ARG VFXPLATFORM_VERSION FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb @@ -31,25 +58,109 @@ FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION} as ci-package-otio FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-vfxall +ARG ALEMBIC_VERSION ARG ASWF_ORG +ARG BLOSC_VERSION +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG CUDA_VERSION +ARG DTS_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG HDF5_VERSION +ARG LOG4CPLUS_VERSION +ARG NUMPY_VERSION +ARG OCIO_CONFIGS_VERSION +ARG OCIO_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION +ARG OPENSUBDIV_VERSION +ARG OPENVDB_VERSION +ARG OSL_VERSION +ARG OTIO_VERSION +ARG PARTIO_VERSION +ARG PTEX_VERSION +ARG PYSIDE_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG QT_VERSION +ARG TBB_VERSION +ARG USD_VERSION ARG VFXPLATFORM_VERSION -ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/base-vfxall" -LABEL org.opencontainers.image.description="All VFX Packages CI Docker Image" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-vfxall" +LABEL org.opencontainers.image.title="VFX All Packages CI Docker Image" +LABEL org.opencontainers.image.description="Contains: all supported vfx and base packages" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-vfxall/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.hdf5="${HDF5_VERSION}" +LABEL io.aswf.docker.versions.python=${PYTHON_VERSION} +LABEL io.aswf.docker.versions.tbb=${TBB_VERSION} +LABEL io.aswf.docker.versions.boost=${BOOST_VERSION} +LABEL io.aswf.docker.versions.cppunit=${CPPUNIT_VERSION} +LABEL io.aswf.docker.versions.log4cplus=${LOG4CPLUS_VERSION} +LABEL io.aswf.docker.versions.glew=${GLEW_VERSION} +LABEL io.aswf.docker.versions.glfw=${GLFW_VERSION} +LABEL io.aswf.docker.versions.qt=${QT_VERSION} +LABEL io.aswf.docker.versions.pyside=${PYSIDE_VERSION} +LABEL io.aswf.docker.versions.cmake=${CMAKE_VERSION} +LABEL io.aswf.docker.versions.openexr=${OPENEXR_VERSION} +LABEL io.aswf.docker.versions.blosc=${BLOSC_VERSION} +LABEL io.aswf.docker.versions.alembic=${ALEMBIC_VERSION} +LABEL io.aswf.docker.versions.oiio=${OIIO_VERSION} +LABEL io.aswf.docker.versions.ocio=${OCIO_VERSION} +LABEL io.aswf.docker.versions.opensubdiv=${OPENSUBDIV_VERSION} +LABEL io.aswf.docker.versions.ptex=${PTEX_VERSION} +LABEL io.aswf.docker.versions.openvdb=${OPENVDB_VERSION} +LABEL io.aswf.docker.versions.usd=${USD_VERSION} +LABEL io.aswf.docker.versions.partio=${PARTIO_VERSION} +LABEL io.aswf.docker.versions.osl=${OSL_VERSION} +LABEL io.aswf.docker.versions.otio=${OTIO_VERSION} -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} +ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} +ENV ASWF_ORG=${ASWF_ORG} +ENV BLOSC_VERSION=${BLOSC_VERSION} +ENV BOOST_VERSION=${BOOST_VERSION} +ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} +ENV CLANG_VERSION=${CLANG_VERSION} +ENV CMAKE_VERSION=${CMAKE_VERSION} +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} +ENV CUDA_VERSION=${CUDA_VERSION} +ENV DTS_VERSION=${DTS_VERSION} +ENV GLEW_VERSION=${GLEW_VERSION} +ENV GLFW_VERSION=${GLFW_VERSION} +ENV HDF5_VERSION=${HDF5_VERSION} +ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} +ENV NUMPY_VERSION=${NUMPY_VERSION} +ENV OCIO_CONFIGS_VERSION=${OCIO_CONFIGS_VERSION} +ENV OCIO_VERSION=${OCIO_VERSION} +ENV OIIO_VERSION=${OIIO_VERSION} +ENV OPENEXR_VERSION=${OPENEXR_VERSION} +ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} +ENV OPENVDB_VERSION=${OPENVDB_VERSION} +ENV OSL_VERSION=${OSL_VERSION} +ENV OTIO_VERSION=${OTIO_VERSION} +ENV PARTIO_VERSION=${PARTIO_VERSION} +ENV PTEX_VERSION=${PTEX_VERSION} +ENV PYSIDE_VERSION=${PYSIDE_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} +ENV QT_VERSION=${QT_VERSION} +ENV TBB_VERSION=${TBB_VERSION} +ENV USD_VERSION=${USD_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ From 19bf2d21c7d5edc785c9c2cbec65421146af9bdc Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 2 Nov 2020 23:27:46 +1100 Subject: [PATCH 049/132] Fixed typo Signed-off-by: Aloys Baillet --- ci-base/Dockerfile | 2 +- ci-baseqt/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 06c9ee7a..9fe9546a 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -21,7 +21,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}=${LOG4CPLUS_VERSION} as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-${LOG4CPLUS_VERSION} as ci-package-log4cplus FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index 08bdf795..2af45ae1 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -21,7 +21,7 @@ FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}=${LOG4CPLUS_VERSION} as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-${LOG4CPLUS_VERSION} as ci-package-log4cplus FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake From ce583bf9e991da073591a8f8c129f8a00cddda03 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Tue, 3 Nov 2020 21:06:16 +1100 Subject: [PATCH 050/132] Fixed vfxall Signed-off-by: Aloys Baillet --- ci-vfxall/Dockerfile | 46 +++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 961ec4a6..b7f2ae1c 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -2,10 +2,12 @@ # SPDX-License-Identifier: Apache-2.0 ARG ALEMBIC_VERSION ARG ASWF_ORG +ARG ASWF_PKG_ORG ARG BLOSC_VERSION ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG CLANG_VERSION +ARG CLANG_MAJOR_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION ARG CUDA_VERSION @@ -33,28 +35,28 @@ ARG TBB_VERSION ARG USD_VERSION ARG VFXPLATFORM_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION} as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION} as ci-package-blosc -FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION} as ci-package-alembic -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION} as ci-package-ocio -FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION} as ci-package-opensubdiv -FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION} as ci-package-ptex -FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION} as ci-package-openvdb -FROM ${ASWF_PKG_ORG}/ci-package-usd:${VFXPLATFORM_VERSION} as ci-package-usd -FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION} as ci-package-partio -FROM ${ASWF_PKG_ORG}/ci-package-osl:${VFXPLATFORM_VERSION} as ci-package-osl -FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION} as ci-package-otio +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-${LOG4CPLUS_VERSION} as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-${ALEMBIC_VERSION} as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION}-${OPENSUBDIV_VERSION} as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION}-${PTEX_VERSION} as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-${OPENVDB_VERSION} as ci-package-openvdb +FROM ${ASWF_PKG_ORG}/ci-package-usd:${VFXPLATFORM_VERSION}-${USD_VERSION} as ci-package-usd +FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION}-${PARTIO_VERSION} as ci-package-partio +FROM ${ASWF_PKG_ORG}/ci-package-osl:${VFXPLATFORM_VERSION}-${OSL_VERSION} as ci-package-osl +FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION}-${OTIO_VERSION} as ci-package-otio FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-vfxall From f4f1de2ce7eb60ca1258e60eeb7eccafb4f585e1 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Tue, 3 Nov 2020 21:39:03 +1100 Subject: [PATCH 051/132] Fixed ci-otio Signed-off-by: Aloys Baillet --- ci-otio/Dockerfile | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index 9a5ebec0..33d09dd2 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -58,45 +58,3 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ - - - - -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -ARG ASWF_ORG=aswftesting -ARG ASWF_PKG_ORG=aswftesting -ARG CI_COMMON_VERSION=1 -ARG VFXPLATFORM_VERSION=2019 -ARG CLANG_MAJOR_VERSION=7 - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION} as ci-package-cmake - -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-otio - -ARG ASWF_ORG -ARG VFXPLATFORM_VERSION -ARG ASWF_VERSION -ARG PYTHON_VERSION=2.7 - -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL com.vfxplatform.version=$VFXPLATFORM_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-otio" -LABEL org.opencontainers.image.description="OpenTimelineIO CI Docker Image" -LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.version=$VFXPLATFORM_VERSION - -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python \ - VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION \ - ASWF_VERSION=${ASWF_VERSION} \ - ASWF_ORG=${ASWF_ORG} - -COPY --from=ci-package-python /. /usr/local/ -COPY --from=ci-package-qt /. /usr/local/ -COPY --from=ci-package-pyside /. /usr/local/ -COPY --from=ci-package-cmake /. /usr/local/ From 8ea788fc34ac97c7e59bb23ecfe75c255665acf3 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 4 Nov 2020 22:38:04 +1100 Subject: [PATCH 052/132] CI Images now all templated, with bonus Readme! Signed-off-by: Aloys Baillet --- Pipfile | 1 + Pipfile.lock | 253 ++++++++++++------ ci-base/Dockerfile | 90 ++++--- ci-base/Readme.md | 60 +++++ ci-base/data.yaml | 15 ++ ci-baseqt/Dockerfile | 111 ++++---- ci-baseqt/Readme.md | 68 +++++ ci-baseqt/data.yaml | 17 ++ ci-ocio/Dockerfile | 104 ++++--- ci-ocio/Readme.md | 61 +++++ ci-ocio/data.yaml | 16 ++ ci-opencue/Dockerfile | 51 ++-- ci-opencue/Readme.md | 37 +++ ci-opencue/data.yaml | 10 + ci-openexr/Dockerfile | 57 ++-- ci-openexr/Readme.md | 41 +++ ci-openexr/data.yaml | 11 + ci-openvdb/Dockerfile | 90 ++++--- ci-openvdb/Readme.md | 97 +++++++ ci-openvdb/data.yaml | 16 ++ ci-osl/Dockerfile | 104 ++++--- ci-osl/Readme.md | 121 +++++++++ ci-osl/data.yaml | 16 ++ ci-otio/Dockerfile | 66 +++-- ci-otio/Readme.md | 37 +++ ci-otio/data.yaml | 12 + ci-usd/Dockerfile | 205 +++++++------- ci-usd/Readme.md | 79 ++++++ ci-usd/data.yaml | 26 ++ ci-vfxall/Dockerfile | 253 +++++++++--------- ci-vfxall/Readme.md | 174 ++++++++++++ ci-vfxall/data.yaml | 30 +++ python/aswfdocker/cli/aswfdocker.py | 22 ++ python/aswfdocker/constants.py | 2 +- .../aswfdocker/data/ci-image-dockerfile.tmpl | 61 +++++ python/aswfdocker/data/ci-image-readme.tmpl | 18 ++ python/aswfdocker/dockergen.py | 58 ++++ python/aswfdocker/tests/test_builder.py | 2 +- versions.yaml | 5 + 39 files changed, 1911 insertions(+), 586 deletions(-) create mode 100644 ci-base/Readme.md create mode 100644 ci-base/data.yaml create mode 100644 ci-baseqt/Readme.md create mode 100644 ci-baseqt/data.yaml create mode 100644 ci-ocio/Readme.md create mode 100644 ci-ocio/data.yaml create mode 100644 ci-opencue/Readme.md create mode 100644 ci-opencue/data.yaml create mode 100644 ci-openexr/Readme.md create mode 100644 ci-openexr/data.yaml create mode 100644 ci-openvdb/Readme.md create mode 100644 ci-openvdb/data.yaml create mode 100644 ci-osl/Readme.md create mode 100644 ci-osl/data.yaml create mode 100644 ci-otio/Readme.md create mode 100644 ci-otio/data.yaml create mode 100644 ci-usd/Readme.md create mode 100644 ci-usd/data.yaml create mode 100644 ci-vfxall/Readme.md create mode 100644 ci-vfxall/data.yaml create mode 100644 python/aswfdocker/data/ci-image-dockerfile.tmpl create mode 100644 python/aswfdocker/data/ci-image-readme.tmpl create mode 100644 python/aswfdocker/dockergen.py diff --git a/Pipfile b/Pipfile index 17914561..5f7766bb 100644 --- a/Pipfile +++ b/Pipfile @@ -17,6 +17,7 @@ aswfdocker = {editable = true,path = "."} click = "*" pygithub = "*" pyyaml = "*" +jinja2 = "*" [requires] python_version = "3.7" diff --git a/Pipfile.lock b/Pipfile.lock index 089bfd52..3659c78c 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "57145b1291f1dece5a23df1433851780c25e3c3657109153f9ddeb08d2118044" + "sha256": "f629358898b923f61f974c4951028450a9f56e52edc90ce1e8248e35fe94799c" }, "pipfile-spec": 6, "requires": { @@ -58,6 +58,53 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9" }, + "jinja2": { + "hashes": [ + "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0", + "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035" + ], + "index": "pypi", + "version": "==2.11.2" + }, + "markupsafe": { + "hashes": [ + "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", + "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", + "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", + "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", + "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", + "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", + "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", + "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", + "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", + "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", + "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", + "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b", + "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", + "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", + "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", + "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", + "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", + "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", + "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", + "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", + "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", + "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", + "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", + "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", + "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", + "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", + "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", + "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", + "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", + "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", + "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", + "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", + "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.1.1" + }, "pygithub": { "hashes": [ "sha256:8375a058ec651cc0774244a3bc7395cf93617298735934cdd59e5bcd9a1df96e", @@ -92,9 +139,9 @@ }, "requests": { "hashes": [ - "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6", "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", - "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4" + "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4", + "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==2.23.0" @@ -191,11 +238,11 @@ }, "colorama": { "hashes": [ - "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff", - "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1" + "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b", + "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.4.3" + "version": "==0.4.4" }, "coverage": { "hashes": [ @@ -260,11 +307,11 @@ }, "flake8": { "hashes": [ - "sha256:15e351d19611c887e482fb960eae4d44845013cc142d42896e9862f775d8cf5c", - "sha256:f04b9fcbac03b0a3e58c0ab3a0ecc462e023a9faf046d57794184028123aa208" + "sha256:749dbbd6bfd0cf1318af27bf97a14e28e5ff548ef8e5b1566ccfb25a11e7c839", + "sha256:aadae8761ec651813c24be05c6f7b4680857ef6afaae4651a4eccaef97ce6c3b" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==3.8.3" + "version": "==3.8.4" }, "flake8-polyfill": { "hashes": [ @@ -275,11 +322,11 @@ }, "identify": { "hashes": [ - "sha256:7c22c384a2c9b32c5cc891d13f923f6b2653aa83e2d75d8f79be240d6c86c4f4", - "sha256:da683bfb7669fa749fc7731f378229e2dbf29a1d1337cbde04106f02236eb29d" + "sha256:5dd84ac64a9a115b8e0b27d1756b244b882ad264c3c423f42af8235a6e71ca12", + "sha256:c9504ba6a043ee2db0a9d69e43246bc138034895f6338d5aed1b41e4a73b1513" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.5.5" + "version": "==1.5.9" }, "idna": { "hashes": [ @@ -291,18 +338,18 @@ }, "importlib-metadata": { "hashes": [ - "sha256:90bb658cdbbf6d1735b6341ce708fc7024a3e14e99ffdc5783edea9f9b077f83", - "sha256:dc15b2969b4ce36305c51eebe62d418ac7791e9a157911d58bfb1f9ccd8e2070" + "sha256:77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da", + "sha256:cefa1a2f919b866c5beb7c9f7b0ebb4061f30a8a9bf16d609b000e2dfaceb9c3" ], "markers": "python_version < '3.8'", - "version": "==1.7.0" + "version": "==2.0.0" }, "iniconfig": { "hashes": [ - "sha256:80cf40c597eb564e86346103f609d74efce0f6b4d4f30ec8ce9e2c26411ba437", - "sha256:e5f92f89355a67de0595932a6c6c02ab4afddc6fcdc0bfc5becd0d60884d3f69" + "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3", + "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32" ], - "version": "==1.0.1" + "version": "==1.1.1" }, "isort": { "hashes": [ @@ -348,23 +395,23 @@ }, "mypy": { "hashes": [ - "sha256:2c6cde8aa3426c1682d35190b59b71f661237d74b053822ea3d748e2c9578a7c", - "sha256:3fdda71c067d3ddfb21da4b80e2686b71e9e5c72cca65fa216d207a358827f86", - "sha256:5dd13ff1f2a97f94540fd37a49e5d255950ebcdf446fb597463a40d0df3fac8b", - "sha256:6731603dfe0ce4352c555c6284c6db0dc935b685e9ce2e4cf220abe1e14386fd", - "sha256:6bb93479caa6619d21d6e7160c552c1193f6952f0668cdda2f851156e85186fc", - "sha256:81c7908b94239c4010e16642c9102bfc958ab14e36048fa77d0be3289dda76ea", - "sha256:9c7a9a7ceb2871ba4bac1cf7217a7dd9ccd44c27c2950edbc6dc08530f32ad4e", - "sha256:a4a2cbcfc4cbf45cd126f531dedda8485671545b43107ded25ce952aac6fb308", - "sha256:b7fbfabdbcc78c4f6fc4712544b9b0d6bf171069c6e0e3cb82440dd10ced3406", - "sha256:c05b9e4fb1d8a41d41dec8786c94f3b95d3c5f528298d769eb8e73d293abc48d", - "sha256:d7df6eddb6054d21ca4d3c6249cae5578cb4602951fd2b6ee2f5510ffb098707", - "sha256:e0b61738ab504e656d1fe4ff0c0601387a5489ca122d55390ade31f9ca0e252d", - "sha256:eff7d4a85e9eea55afa34888dfeaccde99e7520b51f867ac28a48492c0b1130c", - "sha256:f05644db6779387ccdb468cc47a44b4356fc2ffa9287135d05b70a98dc83b89a" + "sha256:0a0d102247c16ce93c97066443d11e2d36e6cc2a32d8ccc1f705268970479324", + "sha256:0d34d6b122597d48a36d6c59e35341f410d4abfa771d96d04ae2c468dd201abc", + "sha256:2170492030f6faa537647d29945786d297e4862765f0b4ac5930ff62e300d802", + "sha256:2842d4fbd1b12ab422346376aad03ff5d0805b706102e475e962370f874a5122", + "sha256:2b21ba45ad9ef2e2eb88ce4aeadd0112d0f5026418324176fd494a6824b74975", + "sha256:72060bf64f290fb629bd4a67c707a66fd88ca26e413a91384b18db3876e57ed7", + "sha256:af4e9ff1834e565f1baa74ccf7ae2564ae38c8df2a85b057af1dbbc958eb6666", + "sha256:bd03b3cf666bff8d710d633d1c56ab7facbdc204d567715cb3b9f85c6e94f669", + "sha256:c614194e01c85bb2e551c421397e49afb2872c88b5830e3554f0519f9fb1c178", + "sha256:cf4e7bf7f1214826cf7333627cb2547c0db7e3078723227820d0a2490f117a01", + "sha256:da56dedcd7cd502ccd3c5dddc656cb36113dd793ad466e894574125945653cea", + "sha256:e86bdace26c5fe9cf8cb735e7cedfe7850ad92b327ac5d797c656717d2ca66de", + "sha256:e97e9c13d67fbe524be17e4d8025d51a7dca38f90de2e462243ab8ed8a9178d1", + "sha256:eea260feb1830a627fb526d22fbb426b750d9f5a47b624e8d5e7e004359b219c" ], "index": "pypi", - "version": "==0.782" + "version": "==0.790" }, "mypy-extensions": { "hashes": [ @@ -404,10 +451,10 @@ }, "pep517": { "hashes": [ - "sha256:576c480be81f3e1a70a16182c762311eb80d1f8a7b0d11971e5234967d7a342c", - "sha256:8e6199cf1288d48a0c44057f112acf18aa5ebabbf73faa242f598fbe145ba29e" + "sha256:3985b91ebf576883efe5fa501f42a16de2607684f3797ddba7202b71b7d0da51", + "sha256:aeb78601f2d1aa461960b43add204cc7955667687fbcf9cdb5170f00556f117f" ], - "version": "==0.8.2" + "version": "==0.9.1" }, "pep8-naming": { "hashes": [ @@ -459,18 +506,18 @@ }, "pre-commit": { "hashes": [ - "sha256:810aef2a2ba4f31eed1941fc270e72696a1ad5590b9751839c90807d0fff6b9a", - "sha256:c54fd3e574565fe128ecc5e7d2f91279772ddb03f8729645fa812fe809084a70" + "sha256:22e6aa3bd571debb01eb7d34483f11c01b65237be4eebbf30c3d4fb65762d315", + "sha256:905ebc9b534b991baec87e934431f2d0606ba27f2b90f7f652985f5a5b8b6ae6" ], "index": "pypi", - "version": "==2.7.1" + "version": "==2.8.2" }, "prospector": { "hashes": [ - "sha256:43e5e187c027336b0e4c4aa6a82d66d3b923b5ec5b51968126132e32f9d14a2f" + "sha256:700d7918d93d73035a2a58fb18c6be0b609a0481fc6e0908843fa856b89e52c6" ], "index": "pypi", - "version": "==1.3.0" + "version": "==1.3.1" }, "py": { "hashes": [ @@ -506,11 +553,11 @@ }, "pylint": { "hashes": [ - "sha256:b95e31850f3af163c2283ed40432f053acbc8fc6eba6a069cb518d9dbf71848c", - "sha256:dd506acce0427e9e08fb87274bcaa953d38b50a58207170dbf5b36cf3e16957b" + "sha256:7dd78437f2d8d019717dbf287772d0b2dbdfd13fc016aa7faa08d67bccc46adc", + "sha256:d0ece7d223fe422088b0e8f13fa0a1e8eb745ebffcb8ed53d3e95394b6101a1c" ], "markers": "python_version >= '3.5'", - "version": "==2.5.2" + "version": "==2.5.3" }, "pylint-celery": { "hashes": [ @@ -520,10 +567,10 @@ }, "pylint-django": { "hashes": [ - "sha256:06a64331c498a3f049ba669dc0c174b92209e164198d43e589b1096ee616d5f8", - "sha256:3d3436ba8d0fae576ae2db160e33a8f2746a101fda4463f2b3ff3a8b6fccec38" + "sha256:b7756844dba0cecd3471056a1ef4154439defedaba38bf3ced9f848d2bf6297c", + "sha256:ca32277c77878dd3c2d9e75f3f3f7f0c0712f053f10ff1b946cdc27367a6c911" ], - "version": "==2.0.15" + "version": "==2.1.0" }, "pylint-flask": { "hashes": [ @@ -548,11 +595,11 @@ }, "pytest": { "hashes": [ - "sha256:1cd09785c0a50f9af72220dd12aa78cfa49cbffc356c61eab009ca189e018a33", - "sha256:d010e24666435b39a4cf48740b039885642b6c273a3f77be3e7e03554d2806b7" + "sha256:4288fed0d9153d9646bfcdf0c0428197dba1ecb27a33bb6e031d002fa88653fe", + "sha256:c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e" ], "index": "pypi", - "version": "==6.1.0" + "version": "==6.1.2" }, "pytest-cov": { "hashes": [ @@ -589,35 +636,57 @@ }, "regex": { "hashes": [ - "sha256:088afc8c63e7bd187a3c70a94b9e50ab3f17e1d3f52a32750b5b77dbe99ef5ef", - "sha256:1fe0a41437bbd06063aa184c34804efa886bcc128222e9916310c92cd54c3b4c", - "sha256:41bb65f54bba392643557e617316d0d899ed5b4946dccee1cb6696152b29844b", - "sha256:4318d56bccfe7d43e5addb272406ade7a2274da4b70eb15922a071c58ab0108c", - "sha256:4707f3695b34335afdfb09be3802c87fa0bc27030471dbc082f815f23688bc63", - "sha256:5533a959a1748a5c042a6da71fe9267a908e21eded7a4f373efd23a2cbdb0ecc", - "sha256:5f18875ac23d9aa2f060838e8b79093e8bb2313dbaaa9f54c6d8e52a5df097be", - "sha256:60b0e9e6dc45683e569ec37c55ac20c582973841927a85f2d8a7d20ee80216ab", - "sha256:84e9407db1b2eb368b7ecc283121b5e592c9aaedbe8c78b1a2f1102eb2e21d19", - "sha256:8d69cef61fa50c8133382e61fd97439de1ae623fe943578e477e76a9d9471637", - "sha256:9a02d0ae31d35e1ec12a4ea4d4cca990800f66a917d0fb997b20fbc13f5321fc", - "sha256:9bc13e0d20b97ffb07821aa3e113f9998e84994fe4d159ffa3d3a9d1b805043b", - "sha256:a6f32aea4260dfe0e55dc9733ea162ea38f0ea86aa7d0f77b15beac5bf7b369d", - "sha256:ae91972f8ac958039920ef6e8769277c084971a142ce2b660691793ae44aae6b", - "sha256:c570f6fa14b9c4c8a4924aaad354652366577b4f98213cf76305067144f7b100", - "sha256:d23a18037313714fb3bb5a94434d3151ee4300bae631894b1ac08111abeaa4a3", - "sha256:eaf548d117b6737df379fdd53bdde4f08870e66d7ea653e230477f071f861121", - "sha256:ebbe29186a3d9b0c591e71b7393f1ae08c83cb2d8e517d2a822b8f7ec99dfd8b", - "sha256:eda4771e0ace7f67f58bc5b560e27fb20f32a148cbc993b0c3835970935c2707", - "sha256:f1b3afc574a3db3b25c89161059d857bd4909a1269b0b3cb3c904677c8c4a3f7", - "sha256:f2388013e68e750eaa16ccbea62d4130180c26abb1d8e5d584b9baf69672b30f" - ], - "version": "==2020.9.27" + "sha256:03855ee22980c3e4863dc84c42d6d2901133362db5daf4c36b710dd895d78f0a", + "sha256:06b52815d4ad38d6524666e0d50fe9173533c9cc145a5779b89733284e6f688f", + "sha256:11116d424734fe356d8777f89d625f0df783251ada95d6261b4c36ad27a394bb", + "sha256:119e0355dbdd4cf593b17f2fc5dbd4aec2b8899d0057e4957ba92f941f704bf5", + "sha256:127a9e0c0d91af572fbb9e56d00a504dbd4c65e574ddda3d45b55722462210de", + "sha256:1ec66700a10e3c75f1f92cbde36cca0d3aaee4c73dfa26699495a3a30b09093c", + "sha256:227a8d2e5282c2b8346e7f68aa759e0331a0b4a890b55a5cfbb28bd0261b84c0", + "sha256:2564def9ce0710d510b1fc7e5178ce2d20f75571f788b5197b3c8134c366f50c", + "sha256:297116e79074ec2a2f885d22db00ce6e88b15f75162c5e8b38f66ea734e73c64", + "sha256:2dc522e25e57e88b4980d2bdd334825dbf6fa55f28a922fc3bfa60cc09e5ef53", + "sha256:3a5f08039eee9ea195a89e180c5762bfb55258bfb9abb61a20d3abee3b37fd12", + "sha256:3dfca201fa6b326239e1bccb00b915e058707028809b8ecc0cf6819ad233a740", + "sha256:49461446b783945597c4076aea3f49aee4b4ce922bd241e4fcf62a3e7c61794c", + "sha256:4afa350f162551cf402bfa3cd8302165c8e03e689c897d185f16a167328cc6dd", + "sha256:4b5a9bcb56cc146c3932c648603b24514447eafa6ce9295234767bf92f69b504", + "sha256:52e83a5f28acd621ba8e71c2b816f6541af7144b69cc5859d17da76c436a5427", + "sha256:625116aca6c4b57c56ea3d70369cacc4d62fead4930f8329d242e4fe7a58ce4b", + "sha256:654c1635f2313d0843028487db2191530bca45af61ca85d0b16555c399625b0e", + "sha256:8092a5a06ad9a7a247f2a76ace121183dc4e1a84c259cf9c2ce3bbb69fac3582", + "sha256:832339223b9ce56b7b15168e691ae654d345ac1635eeb367ade9ecfe0e66bee0", + "sha256:8ca9dca965bd86ea3631b975d63b0693566d3cc347e55786d5514988b6f5b84c", + "sha256:96f99219dddb33e235a37283306834700b63170d7bb2a1ee17e41c6d589c8eb9", + "sha256:9b6305295b6591e45f069d3553c54d50cc47629eb5c218aac99e0f7fafbf90a1", + "sha256:a62162be05edf64f819925ea88d09d18b09bebf20971b363ce0c24e8b4aa14c0", + "sha256:aacc8623ffe7999a97935eeabbd24b1ae701d08ea8f874a6ff050e93c3e658cf", + "sha256:b45bab9f224de276b7bc916f6306b86283f6aa8afe7ed4133423efb42015a898", + "sha256:b88fa3b8a3469f22b4f13d045d9bd3eda797aa4e406fde0a2644bc92bbdd4bdd", + "sha256:b8a686a6c98872007aa41fdbb2e86dc03b287d951ff4a7f1da77fb7f14113e4d", + "sha256:bd904c0dec29bbd0769887a816657491721d5f545c29e30fd9d7a1a275dc80ab", + "sha256:bf4f896c42c63d1f22039ad57de2644c72587756c0cfb3cc3b7530cfe228277f", + "sha256:c13d311a4c4a8d671f5860317eb5f09591fbe8259676b86a85769423b544451e", + "sha256:c2c6c56ee97485a127555c9595c069201b5161de9d05495fbe2132b5ac104786", + "sha256:c32c91a0f1ac779cbd73e62430de3d3502bbc45ffe5bb6c376015acfa848144b", + "sha256:c3466a84fce42c2016113101018a9981804097bacbab029c2d5b4fcb224b89de", + "sha256:c454ad88e56e80e44f824ef8366bb7e4c3def12999151fd5c0ea76a18fe9aa3e", + "sha256:c8a2b7ccff330ae4c460aff36626f911f918555660cc28163417cb84ffb25789", + "sha256:cb905f3d2e290a8b8f1579d3984f2cfa7c3a29cc7cba608540ceeed18513f520", + "sha256:cfcf28ed4ce9ced47b9b9670a4f0d3d3c0e4d4779ad4dadb1ad468b097f808aa", + "sha256:dd3e6547ecf842a29cf25123fbf8d2461c53c8d37aa20d87ecee130c89b7079b", + "sha256:de7fd57765398d141949946c84f3590a68cf5887dac3fc52388df0639b01eda4", + "sha256:ea37320877d56a7f0a1e6a625d892cf963aa7f570013499f5b8d5ab8402b5625", + "sha256:f1fce1e4929157b2afeb4bb7069204d4370bab9f4fc03ca1fbec8bd601f8c87d", + "sha256:f43109822df2d3faac7aad79613f5f02e4eab0fc8ad7932d2e70e2a83bd49c26" + ], + "version": "==2020.10.28" }, "requests": { "hashes": [ - "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6", "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", - "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4" + "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4", + "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==2.23.0" @@ -630,11 +699,11 @@ }, "requirementslib": { "hashes": [ - "sha256:cdf8aa652ac52216d156cee2b89c3c9ee53373dded0035184d0b9af569a0f10c", - "sha256:fd98ea873effaede6b3394725a232bcbd3fe3985987e226109a841c85a69e2e3" + "sha256:c1bf68ee654fab14d11644e0aa8448ab694b18a767efd3166c7bba622f449529", + "sha256:ed6119a92370513236a017848314b1a425f70a0f105668d46fcd533ec043df7e" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==1.5.13" + "version": "==1.5.14" }, "setoptconf": { "hashes": [ @@ -659,10 +728,11 @@ }, "toml": { "hashes": [ - "sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f", - "sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88" + "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", + "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" ], - "version": "==0.10.1" + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.10.2" }, "tomlkit": { "hashes": [ @@ -676,24 +746,33 @@ "hashes": [ "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355", "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919", + "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d", "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa", "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652", "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75", + "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c", "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01", "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d", "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1", "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907", "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c", "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3", + "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d", "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b", "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614", + "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c", "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb", + "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395", "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b", "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41", "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6", "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34", "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe", + "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072", + "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298", + "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91", "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4", + "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f", "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7" ], "markers": "python_version < '3.8' and implementation_name == 'cpython'", @@ -717,11 +796,11 @@ }, "virtualenv": { "hashes": [ - "sha256:43add625c53c596d38f971a465553f6318decc39d98512bc100fa1b1e839c8dc", - "sha256:e0305af10299a7fb0d69393d8f04cb2965dda9351140d11ac8db4e5e3970451b" + "sha256:b0011228208944ce71052987437d3843e05690b2f23d1c7da4263fde104c97a2", + "sha256:b8d6110f493af256a40d65e29846c69340a947669eec8ce784fcf3dd3af28380" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==20.0.31" + "version": "==20.1.0" }, "vistir": { "hashes": [ @@ -747,11 +826,11 @@ }, "zipp": { "hashes": [ - "sha256:43f4fa8d8bb313e65d8323a3952ef8756bf40f9a5c3ea7334be23ee4ec8278b6", - "sha256:b52f22895f4cfce194bc8172f3819ee8de7540aa6d873535a8668b730b8b411f" + "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108", + "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb" ], "markers": "python_version < '3.8'", - "version": "==3.2.0" + "version": "==3.4.0" } } } diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 9fe9546a..099370d2 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -1,50 +1,59 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG BOOST_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION ARG GLEW_VERSION ARG GLFW_VERSION ARG LOG4CPLUS_VERSION -ARG NUMPY_VERSION ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG NUMPY_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-$LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb + -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-${LOG4CPLUS_VERSION} as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base ARG ASWF_ORG ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + ARG BOOST_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION ARG GLEW_VERSION ARG GLFW_VERSION ARG LOG4CPLUS_VERSION -ARG NUMPY_VERSION ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG NUMPY_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-base" LABEL org.opencontainers.image.title="Base CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other base libraries" +LABEL org.opencontainers.image.description="Contains: python, tbb, boost and other base libraries\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-base/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -53,37 +62,40 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" -LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" -LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" -LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" +LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" +LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" + ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=${BOOST_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} -ENV GLEW_VERSION=${GLEW_VERSION} -ENV GLFW_VERSION=${GLFW_VERSION} -ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV TBB_VERSION=${TBB_VERSION} ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV BOOST_VERSION=$BOOST_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV CPPUNIT_VERSION=$CPPUNIT_VERSION +ENV GLEW_VERSION=$GLEW_VERSION +ENV GLFW_VERSION=$GLFW_VERSION +ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV TBB_VERSION=$TBB_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} -COPY --from=ci-package-python /. /usr/local/ -COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-cppunit /. /usr/local/ -COPY --from=ci-package-log4cplus /. /usr/local/ COPY --from=ci-package-glew /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ -COPY --from=ci-package-cmake /. /usr/local/ +COPY --from=ci-package-log4cplus /. /usr/local/ +COPY --from=ci-package-python /. /usr/local/ +COPY --from=ci-package-tbb /. /usr/local/ diff --git a/ci-base/Readme.md b/ci-base/Readme.md new file mode 100644 index 00000000..c8472e47 --- /dev/null +++ b/ci-base/Readme.md @@ -0,0 +1,60 @@ + + +# Base CI Docker Image + +Contains: python, tbb, boost and other base libraries + + +## [aswf/base:2018.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2018.7) +Contains: +* boost-1.61.0 +* cmake-3.9.4 +* cppunit-1.14.0 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* python-2.7.15 +* tbb-2017_U6 +* numpy-1.14 + +## [aswf/base:2019.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2019.7) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* python-2.7.15 +* tbb-2018 +* numpy-1.14 + +## [aswf/base:2020.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2020.7) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* python-3.7.3 +* tbb-2019_U6 +* numpy-1.16 + +## [aswf/base:2021.3](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2021.3) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* python-3.7.3 +* tbb-2019_U6 +* numpy-1.16 + diff --git a/ci-base/data.yaml b/ci-base/data.yaml new file mode 100644 index 00000000..21fb57d7 --- /dev/null +++ b/ci-base/data.yaml @@ -0,0 +1,15 @@ +ci_image_name: "base" +ci_image_title: "Base CI Docker Image" +ci_image_description: | + Contains: python, tbb, boost and other base libraries +packages: + - boost + - cmake + - cppunit + - glew + - glfw + - log4cplus + - python + - tbb +implicit_packages: + - numpy diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index 2af45ae1..1e858f02 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -1,53 +1,65 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG BOOST_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION ARG GLEW_VERSION ARG GLFW_VERSION ARG LOG4CPLUS_VERSION -ARG NUMPY_VERSION -ARG PYSIDE_VERSION ARG PYTHON_VERSION -ARG QT_VERSION ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG QT_VERSION +ARG PYSIDE_VERSION +ARG NUMPY_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-$LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-$QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-$PYSIDE_VERSION as ci-package-pyside + -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-${LOG4CPLUS_VERSION} as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-baseqt +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base + ARG ASWF_ORG ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + ARG BOOST_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION ARG GLEW_VERSION ARG GLFW_VERSION ARG LOG4CPLUS_VERSION -ARG NUMPY_VERSION -ARG PYSIDE_VERSION ARG PYTHON_VERSION -ARG QT_VERSION ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG QT_VERSION +ARG PYSIDE_VERSION +ARG NUMPY_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-baseqt" LABEL org.opencontainers.image.title="Base with Qt and PySide CI Docker Image" -LABEL org.opencontainers.image.description="Contains: qt-${QT_VERSION}, pyside-${PYSIDE_VERSION} and other base libraries" +LABEL org.opencontainers.image.description="Contains: python, tbb, boost, Qt, PySide and other base libraries\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-baseqt/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -56,41 +68,46 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" -LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" -LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" -LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" -LABEL io.aswf.docker.versions.qt="${QT_VERSION}" -LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" +LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" +LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" +LABEL io.aswf.docker.versions.qt="$QT_VERSION" +LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" + ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=${BOOST_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} -ENV GLEW_VERSION=${GLEW_VERSION} -ENV GLFW_VERSION=${GLFW_VERSION} -ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV PYSIDE_VERSION=${PYSIDE_VERSION} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV QT_VERSION=${QT_VERSION} -ENV TBB_VERSION=${TBB_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV BOOST_VERSION=$BOOST_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV CPPUNIT_VERSION=$CPPUNIT_VERSION +ENV GLEW_VERSION=$GLEW_VERSION +ENV GLFW_VERSION=$GLFW_VERSION +ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV TBB_VERSION=$TBB_VERSION +ENV QT_VERSION=$QT_VERSION +ENV PYSIDE_VERSION=$PYSIDE_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} -COPY --from=ci-package-python /. /usr/local/ -COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-cppunit /. /usr/local/ -COPY --from=ci-package-log4cplus /. /usr/local/ COPY --from=ci-package-glew /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ -COPY --from=ci-package-cmake /. /usr/local/ +COPY --from=ci-package-log4cplus /. /usr/local/ +COPY --from=ci-package-python /. /usr/local/ +COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ diff --git a/ci-baseqt/Readme.md b/ci-baseqt/Readme.md new file mode 100644 index 00000000..ff8ca394 --- /dev/null +++ b/ci-baseqt/Readme.md @@ -0,0 +1,68 @@ + + +# Base with Qt and PySide CI Docker Image + +Contains: python, tbb, boost, Qt, PySide and other base libraries + + +## [aswf/baseqt:2018.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2018.0) +Contains: +* boost-1.61.0 +* cmake-3.9.4 +* cppunit-1.14.0 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* python-2.7.15 +* tbb-2017_U6 +* qt-5.6.1 +* pyside-2.0.0 +* numpy-1.14 + +## [aswf/baseqt:2019.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2019.0) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* python-2.7.15 +* tbb-2018 +* qt-5.12.6 +* pyside-5.12.6 +* numpy-1.14 + +## [aswf/baseqt:2020.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2020.0) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* python-3.7.3 +* tbb-2019_U6 +* qt-5.12.6 +* pyside-5.12.6 +* numpy-1.16 + +## [aswf/baseqt:2021.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2021.0) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* python-3.7.3 +* tbb-2019_U6 +* qt-5.12.8 +* pyside-5.12.6 +* numpy-1.16 + diff --git a/ci-baseqt/data.yaml b/ci-baseqt/data.yaml new file mode 100644 index 00000000..5f05928d --- /dev/null +++ b/ci-baseqt/data.yaml @@ -0,0 +1,17 @@ +ci_image_name: "baseqt" +ci_image_title: "Base with Qt and PySide CI Docker Image" +ci_image_description: | + Contains: python, tbb, boost, Qt, PySide and other base libraries +packages: + - boost + - cmake + - cppunit + - glew + - glfw + - log4cplus + - python + - tbb + - qt + - pyside +implicit_packages: + - numpy diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index 7002fe00..46c129c4 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -1,47 +1,60 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG CMAKE_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION +ARG TBB_VERSION +ARG BOOST_VERSION ARG GLEW_VERSION ARG GLFW_VERSION -ARG NUMPY_VERSION -ARG OIIO_VERSION +ARG CMAKE_VERSION ARG OPENEXR_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG OIIO_VERSION +ARG NUMPY_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-$OIIO_VERSION as ci-package-oiio + -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-ocio +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base + ARG ASWF_ORG ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION +ARG TBB_VERSION ARG BOOST_VERSION -ARG CMAKE_VERSION ARG GLEW_VERSION ARG GLFW_VERSION -ARG NUMPY_VERSION -ARG OIIO_VERSION +ARG CMAKE_VERSION ARG OPENEXR_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG OIIO_VERSION +ARG NUMPY_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-ocio" -LABEL org.opencontainers.image.title="Base CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other OpenColorIO upstream dependencies" +LABEL org.opencontainers.image.title="OpenColorIO CI Docker Image" +LABEL org.opencontainers.image.description="Contains: python, tbb, boost and other OpenColorIO upstream dependencies\ +Warning: this image does *not* contain OpenColorIO itself as it is used to *build* OpenColorIO!\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-ocio/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -50,28 +63,32 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" -LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" -LABEL io.aswf.docker.versions.openexr="${OPENEXR_VERSION}" -LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" +LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" +LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" +LABEL io.aswf.docker.versions.oiio="$OIIO_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" + ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=${BOOST_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV GLEW_VERSION=${GLEW_VERSION} -ENV GLFW_VERSION=${GLFW_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV OIIO_VERSION=${OIIO_VERSION} -ENV OPENEXR_VERSION=${OPENEXR_VERSION} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV TBB_VERSION=${TBB_VERSION} -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV TBB_VERSION=$TBB_VERSION +ENV BOOST_VERSION=$BOOST_VERSION +ENV GLEW_VERSION=$GLEW_VERSION +ENV GLFW_VERSION=$GLFW_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV OPENEXR_VERSION=$OPENEXR_VERSION +ENV OIIO_VERSION=$OIIO_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} @@ -79,6 +96,7 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-glew /. /usr/local/ +COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-oiio /. /usr/local/ diff --git a/ci-ocio/Readme.md b/ci-ocio/Readme.md new file mode 100644 index 00000000..ea722e81 --- /dev/null +++ b/ci-ocio/Readme.md @@ -0,0 +1,61 @@ + + +# OpenColorIO CI Docker Image + +Contains: python, tbb, boost and other OpenColorIO upstream dependencies +Warning: this image does *not* contain OpenColorIO itself as it is used to *build* OpenColorIO! + + +## [aswf/ocio:2018.8](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2018.8) +Contains: +* python-2.7.15 +* tbb-2017_U6 +* boost-1.61.0 +* glew-2.1.0 +* glfw-3.1.2 +* cmake-3.9.4 +* openexr-2.2.1 +* oiio-2.0.8 +* numpy-1.14 + +## [aswf/ocio:2019.8](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2019.8) +Contains: +* python-2.7.15 +* tbb-2018 +* boost-1.66.0 +* glew-2.1.0 +* glfw-3.1.2 +* cmake-3.12.4 +* openexr-2.3.0 +* oiio-2.0.8 +* numpy-1.14 + +## [aswf/ocio:2020.7](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2020.7) +Contains: +* python-3.7.3 +* tbb-2019_U6 +* boost-1.70.0 +* glew-2.1.0 +* glfw-3.1.2 +* cmake-3.18.4 +* openexr-2.4.0 +* oiio-2.1.13.0 +* numpy-1.16 + +## [aswf/ocio:2021.3](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2021.3) +Contains: +* python-3.7.3 +* tbb-2019_U6 +* boost-1.70.0 +* glew-2.1.0 +* glfw-3.1.2 +* cmake-3.18.4 +* openexr-2.4.0 +* oiio-2.1.13.0 +* numpy-1.16 + diff --git a/ci-ocio/data.yaml b/ci-ocio/data.yaml new file mode 100644 index 00000000..44740f4a --- /dev/null +++ b/ci-ocio/data.yaml @@ -0,0 +1,16 @@ +ci_image_name: "ocio" +ci_image_title: "OpenColorIO CI Docker Image" +ci_image_description: | + Contains: python, tbb, boost and other OpenColorIO upstream dependencies + Warning: this image does *not* contain OpenColorIO itself as it is used to *build* OpenColorIO! +packages: + - python + - tbb + - boost + - glew + - glfw + - cmake + - openexr + - oiio +implicit_packages: + - numpy diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index bd0150e1..23a6d63f 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -1,29 +1,42 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION ARG CMAKE_VERSION ARG NUMPY_VERSION -ARG PYTHON_VERSION -ARG VFXPLATFORM_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake + + + +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-opencue ARG ASWF_ORG ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION ARG CMAKE_VERSION ARG NUMPY_VERSION -ARG PYTHON_VERSION -ARG VFXPLATFORM_VERSION -LABEL org.opencontainers.image.name="$ASWF_ORG/base-opencue" + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-opencue" LABEL org.opencontainers.image.title="OpenCue CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other OpenColorIO upstream dependencies" +LABEL org.opencontainers.image.description="Contains: python, cmake and other OpenCue upstream dependencies\ +Warning: this image does *not* contain OpenCue itself as it is used to *build* OpenCue!\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-opencue/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -32,22 +45,22 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" + ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV PYTHON_VERSION=${PYTHON_VERSION} ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ - -RUN yum -y install \ - java-1.8.0-openjdk.x86_64 \ - java-1.8.0-openjdk-devel.x86_64 diff --git a/ci-opencue/Readme.md b/ci-opencue/Readme.md new file mode 100644 index 00000000..42ba17d4 --- /dev/null +++ b/ci-opencue/Readme.md @@ -0,0 +1,37 @@ + + +# OpenCue CI Docker Image + +Contains: python, cmake and other OpenCue upstream dependencies +Warning: this image does *not* contain OpenCue itself as it is used to *build* OpenCue! + + +## [aswf/opencue:2018.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2018.7) +Contains: +* python-2.7.15 +* cmake-3.9.4 +* numpy-1.14 + +## [aswf/opencue:2019.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2019.7) +Contains: +* python-2.7.15 +* cmake-3.12.4 +* numpy-1.14 + +## [aswf/opencue:2020.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2020.7) +Contains: +* python-3.7.3 +* cmake-3.18.4 +* numpy-1.16 + +## [aswf/opencue:2021.3](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2021.3) +Contains: +* python-3.7.3 +* cmake-3.18.4 +* numpy-1.16 + diff --git a/ci-opencue/data.yaml b/ci-opencue/data.yaml new file mode 100644 index 00000000..3c475f27 --- /dev/null +++ b/ci-opencue/data.yaml @@ -0,0 +1,10 @@ +ci_image_name: "opencue" +ci_image_title: "OpenCue CI Docker Image" +ci_image_description: | + Contains: python, cmake and other OpenCue upstream dependencies + Warning: this image does *not* contain OpenCue itself as it is used to *build* OpenCue! +packages: + - python + - cmake +implicit_packages: + - numpy diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index 883acdd7..02e500eb 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -1,33 +1,45 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION +ARG BOOST_VERSION ARG CMAKE_VERSION ARG NUMPY_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG VFXPLATFORM_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake + + + +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openexr ARG ASWF_ORG +ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION ARG BOOST_VERSION ARG CMAKE_VERSION ARG NUMPY_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG VFXPLATFORM_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-openexr" LABEL org.opencontainers.image.title="OpenEXR CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, boost-${BOOST_VERSION} and other OpenEXR upstream dependencies" +LABEL org.opencontainers.image.description="Contains: python, boost and other OpenEXR upstream dependencies\ +Warning: this image does *not* contain OpenEXR itself as it is used to *build* OpenEXR!\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-openexr/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -36,19 +48,22 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" + ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=${BOOST_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV BOOST_VERSION=$BOOST_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} diff --git a/ci-openexr/Readme.md b/ci-openexr/Readme.md new file mode 100644 index 00000000..ed220297 --- /dev/null +++ b/ci-openexr/Readme.md @@ -0,0 +1,41 @@ + + +# OpenEXR CI Docker Image + +Contains: python, boost and other OpenEXR upstream dependencies +Warning: this image does *not* contain OpenEXR itself as it is used to *build* OpenEXR! + + +## [aswf/openexr:2018.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2018.7) +Contains: +* python-2.7.15 +* boost-1.61.0 +* cmake-3.9.4 +* numpy-1.14 + +## [aswf/openexr:2019.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2019.7) +Contains: +* python-2.7.15 +* boost-1.66.0 +* cmake-3.12.4 +* numpy-1.14 + +## [aswf/openexr:2020.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2020.7) +Contains: +* python-3.7.3 +* boost-1.70.0 +* cmake-3.18.4 +* numpy-1.16 + +## [aswf/openexr:2021.3](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2021.3) +Contains: +* python-3.7.3 +* boost-1.70.0 +* cmake-3.18.4 +* numpy-1.16 + diff --git a/ci-openexr/data.yaml b/ci-openexr/data.yaml new file mode 100644 index 00000000..d1fa6dc4 --- /dev/null +++ b/ci-openexr/data.yaml @@ -0,0 +1,11 @@ +ci_image_name: "openexr" +ci_image_title: "OpenEXR CI Docker Image" +ci_image_description: | + Contains: python, boost and other OpenEXR upstream dependencies + Warning: this image does *not* contain OpenEXR itself as it is used to *build* OpenEXR! +packages: + - python + - boost + - cmake +implicit_packages: + - numpy diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 72a6c77a..827cd4ea 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -1,49 +1,60 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG BOOST_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION ARG GLFW_VERSION -ARG NUMPY_VERSION ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG TBB_VERSION -ARG VFXPLATFORM_VERSION ARG OPENEXR_VERSION ARG BLOSC_VERSION +ARG NUMPY_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-$BLOSC_VERSION as ci-package-blosc + -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openvdb +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base + ARG ASWF_ORG ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + ARG BOOST_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION ARG GLFW_VERSION -ARG NUMPY_VERSION ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG TBB_VERSION -ARG VFXPLATFORM_VERSION ARG OPENEXR_VERSION ARG BLOSC_VERSION +ARG NUMPY_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-openvdb" LABEL org.opencontainers.image.title="OpenVDB CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other OpenVDB upstream dependencies" +LABEL org.opencontainers.image.description="Contains: python, boost, tbb and other OpenVDB upstream dependencies\ +Warning: this image does *not* contain OpenVDB itself as it is used to *build* OpenVDB!\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-openvdb/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -52,35 +63,40 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" -LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" -LABEL io.aswf.docker.versions.openexr="${OPENEXR_VERSION}" -LABEL io.aswf.docker.versions.blosc="${BLOSC_VERSION}" +LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" +LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" +LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" + ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=${BOOST_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} -ENV GLFW_VERSION=${GLFW_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV TBB_VERSION=${TBB_VERSION} ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV BOOST_VERSION=$BOOST_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV CPPUNIT_VERSION=$CPPUNIT_VERSION +ENV GLFW_VERSION=$GLFW_VERSION +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV TBB_VERSION=$TBB_VERSION +ENV OPENEXR_VERSION=$OPENEXR_VERSION +ENV BLOSC_VERSION=$BLOSC_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} -COPY --from=ci-package-python /. /usr/local/ -COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ +COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-cppunit /. /usr/local/ COPY --from=ci-package-glfw /. /usr/local/ -COPY --from=ci-package-cmake /. /usr/local/ +COPY --from=ci-package-python /. /usr/local/ +COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ diff --git a/ci-openvdb/Readme.md b/ci-openvdb/Readme.md new file mode 100644 index 00000000..3c527999 --- /dev/null +++ b/ci-openvdb/Readme.md @@ -0,0 +1,97 @@ + + +# OpenVDB CI Docker Image + +Contains: python, boost, tbb and other OpenVDB upstream dependencies +Warning: this image does *not* contain OpenVDB itself as it is used to *build* OpenVDB! + + +## [aswf/openvdb:2018-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2018-clang7.7) +Contains: +* boost-1.61.0 +* cmake-3.9.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2017_U6 +* openexr-2.2.1 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/openvdb:2019-clang6.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang6.7) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/openvdb:2019-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang7.7) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/openvdb:2019-clang8.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang8.7) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/openvdb:2019-clang9.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang9.7) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/openvdb:2020-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2020-clang7.7) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glfw-3.1.2 +* python-3.7.3 +* tbb-2019_U6 +* openexr-2.4.0 +* blosc-1.5.0 +* numpy-1.16 + +## [aswf/openvdb:2021-clang10.3](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2021-clang10.3) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glfw-3.1.2 +* python-3.7.3 +* tbb-2019_U6 +* openexr-2.4.0 +* blosc-1.20.1 +* numpy-1.16 + diff --git a/ci-openvdb/data.yaml b/ci-openvdb/data.yaml new file mode 100644 index 00000000..3a245fc1 --- /dev/null +++ b/ci-openvdb/data.yaml @@ -0,0 +1,16 @@ +ci_image_name: "openvdb" +ci_image_title: "OpenVDB CI Docker Image" +ci_image_description: | + Contains: python, boost, tbb and other OpenVDB upstream dependencies + Warning: this image does *not* contain OpenVDB itself as it is used to *build* OpenVDB! +packages: + - boost + - cmake + - cppunit + - glfw + - python + - tbb + - openexr + - blosc +implicit_packages: + - numpy diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index c62876da..d2286eb1 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -1,45 +1,60 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG BOOST_VERSION ARG CMAKE_VERSION ARG CPPUNIT_VERSION -ARG NUMPY_VERSION +ARG GLFW_VERSION ARG PYTHON_VERSION -ARG QT_VERSION -ARG VFXPLATFORM_VERSION +ARG TBB_VERSION ARG OPENEXR_VERSION -ARG OIIO_VERSION -ARG PARTIO_VERSION +ARG BLOSC_VERSION +ARG NUMPY_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-$BLOSC_VERSION as ci-package-blosc + + -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION}-${PARTIO_VERSION} as ci-package-partio +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-osl ARG ASWF_ORG ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + ARG BOOST_VERSION ARG CMAKE_VERSION -ARG NUMPY_VERSION +ARG CPPUNIT_VERSION +ARG GLFW_VERSION ARG PYTHON_VERSION -ARG QT_VERSION -ARG VFXPLATFORM_VERSION +ARG TBB_VERSION ARG OPENEXR_VERSION -ARG OIIO_VERSION -ARG PARTIO_VERSION +ARG BLOSC_VERSION +ARG NUMPY_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-osl" LABEL org.opencontainers.image.title="OpenShadingLanguage CI Docker Image" -LABEL org.opencontainers.image.description="Contains: qt-${QT_VERSION} and other OpenShadingLanguage upstream dependencies" +LABEL org.opencontainers.image.description="Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstream dependencies\ +Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage!\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-osl/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -48,33 +63,40 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.qt="${QT_VERSION}" -LABEL io.aswf.docker.versions.openexr="${OPENEXR_VERSION}" -LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" -LABEL io.aswf.docker.versions.partio="${PARTIO_VERSION}" +LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" +LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" +LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" + ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=${BOOST_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV QT_VERSION=${QT_VERSION} -ENV TBB_VERSION=${TBB_VERSION} -ENV OPENEXR_VERSION=${OPENEXR_VERSION} -ENV OIIO_VERSION=${OIIO_VERSION} -ENV PARTIO_VERSION=${PARTIO_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV BOOST_VERSION=$BOOST_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV CPPUNIT_VERSION=$CPPUNIT_VERSION +ENV GLFW_VERSION=$GLFW_VERSION +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV TBB_VERSION=$TBB_VERSION +ENV OPENEXR_VERSION=$OPENEXR_VERSION +ENV BLOSC_VERSION=$BLOSC_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} -COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ -COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ +COPY --from=ci-package-cppunit /. /usr/local/ +COPY --from=ci-package-glfw /. /usr/local/ +COPY --from=ci-package-python /. /usr/local/ +COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ -COPY --from=ci-package-oiio /. /usr/local/ -COPY --from=ci-package-partio /. /usr/local/ +COPY --from=ci-package-blosc /. /usr/local/ diff --git a/ci-osl/Readme.md b/ci-osl/Readme.md new file mode 100644 index 00000000..1ce18b9c --- /dev/null +++ b/ci-osl/Readme.md @@ -0,0 +1,121 @@ + + +# OpenShadingLanguage CI Docker Image + +Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstream dependencies +Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage! + + +## [aswf/osl:2018-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2018-clang7.3) +Contains: +* boost-1.61.0 +* cmake-3.9.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2017_U6 +* openexr-2.2.1 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/osl:2019-clang6.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang6.3) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/osl:2019-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang7.3) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/osl:2019-clang8.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang8.3) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/osl:2019-clang9.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang9.3) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/osl:2019-clang10.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang10.3) +Contains: +* boost-1.66.0 +* cmake-3.12.4 +* cppunit-1.14.0 +* glfw-3.1.2 +* python-2.7.15 +* tbb-2018 +* openexr-2.3.0 +* blosc-1.5.0 +* numpy-1.14 + +## [aswf/osl:2020-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2020-clang7.3) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glfw-3.1.2 +* python-3.7.3 +* tbb-2019_U6 +* openexr-2.4.0 +* blosc-1.5.0 +* numpy-1.16 + +## [aswf/osl:2021-clang10.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2021-clang10.3) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glfw-3.1.2 +* python-3.7.3 +* tbb-2019_U6 +* openexr-2.4.0 +* blosc-1.20.1 +* numpy-1.16 + +## [aswf/osl:2021-clang11.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2021-clang11.3) +Contains: +* boost-1.70.0 +* cmake-3.18.4 +* cppunit-1.15.1 +* glfw-3.1.2 +* python-3.7.3 +* tbb-2019_U6 +* openexr-2.4.0 +* blosc-1.20.1 +* numpy-1.16 + diff --git a/ci-osl/data.yaml b/ci-osl/data.yaml new file mode 100644 index 00000000..1ef531b2 --- /dev/null +++ b/ci-osl/data.yaml @@ -0,0 +1,16 @@ +ci_image_name: "osl" +ci_image_title: "OpenShadingLanguage CI Docker Image" +ci_image_description: | + Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstream dependencies + Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage! +packages: + - boost + - cmake + - cppunit + - glfw + - python + - tbb + - openexr + - blosc +implicit_packages: + - numpy diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index 33d09dd2..dbc437fa 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -1,35 +1,48 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG CMAKE_VERSION -ARG NUMPY_VERSION -ARG PYSIDE_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + ARG PYTHON_VERSION +ARG CMAKE_VERSION ARG QT_VERSION -ARG VFXPLATFORM_VERSION +ARG PYSIDE_VERSION +ARG NUMPY_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-$QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-$PYSIDE_VERSION as ci-package-pyside + + -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-otio ARG ASWF_ORG ARG ASWF_VERSION -ARG CMAKE_VERSION -ARG NUMPY_VERSION -ARG PYSIDE_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + ARG PYTHON_VERSION +ARG CMAKE_VERSION ARG QT_VERSION -ARG VFXPLATFORM_VERSION +ARG PYSIDE_VERSION +ARG NUMPY_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-otio" LABEL org.opencontainers.image.title="OpenTimelineIO CI Docker Image" -LABEL org.opencontainers.image.description="Contains: qt-${QT_VERSION}, pyside-${PYSIDE_VERSION} and other OpenTimelineIO upstream dependencies" +LABEL org.opencontainers.image.description="Contains: python, Qt, PySide and other OpenTimelineIO upstream dependencies\ +Warning: this image does *not* contain OpenTimelineIO itself as it is used to *build* OpenTimelineIO!\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-otio/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -38,19 +51,24 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.qt="${QT_VERSION}" -LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.qt="$QT_VERSION" +LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" + ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV PYSIDE_VERSION=${PYSIDE_VERSION} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV QT_VERSION=${QT_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV QT_VERSION=$QT_VERSION +ENV PYSIDE_VERSION=$PYSIDE_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} diff --git a/ci-otio/Readme.md b/ci-otio/Readme.md new file mode 100644 index 00000000..98ec2d48 --- /dev/null +++ b/ci-otio/Readme.md @@ -0,0 +1,37 @@ + + +# OpenTimelineIO CI Docker Image + +Contains: python, Qt, PySide and other OpenTimelineIO upstream dependencies +Warning: this image does *not* contain OpenTimelineIO itself as it is used to *build* OpenTimelineIO! + + +## [aswf/otio:2019.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2019.2) +Contains: +* python-2.7.15 +* cmake-3.12.4 +* qt-5.12.6 +* pyside-5.12.6 +* numpy-1.14 + +## [aswf/otio:2020.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2020.2) +Contains: +* python-3.7.3 +* cmake-3.18.4 +* qt-5.12.6 +* pyside-5.12.6 +* numpy-1.16 + +## [aswf/otio:2021.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2021.2) +Contains: +* python-3.7.3 +* cmake-3.18.4 +* qt-5.12.8 +* pyside-5.12.6 +* numpy-1.16 + diff --git a/ci-otio/data.yaml b/ci-otio/data.yaml new file mode 100644 index 00000000..cc5ee5d4 --- /dev/null +++ b/ci-otio/data.yaml @@ -0,0 +1,12 @@ +ci_image_name: "otio" +ci_image_title: "OpenTimelineIO CI Docker Image" +ci_image_description: | + Contains: python, Qt, PySide and other OpenTimelineIO upstream dependencies + Warning: this image does *not* contain OpenTimelineIO itself as it is used to *build* OpenTimelineIO! +packages: + - python + - cmake + - qt + - pyside +implicit_packages: + - numpy diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index 87a1b2c5..81c3d0bd 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -1,82 +1,89 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ALEMBIC_VERSION + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG BLOSC_VERSION -ARG BOOST_VERSION ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION +ARG TBB_VERSION +ARG BOOST_VERSION ARG GLEW_VERSION ARG GLFW_VERSION -ARG HDF5_VERSION ARG LOG4CPLUS_VERSION -ARG NUMPY_VERSION -ARG OCIO_VERSION -ARG OIIO_VERSION +ARG QT_VERSION +ARG PYSIDE_VERSION +ARG CMAKE_VERSION ARG OPENEXR_VERSION +ARG OIIO_VERSION +ARG OCIO_VERSION +ARG PTEX_VERSION ARG OPENSUBDIV_VERSION +ARG ALEMBIC_VERSION +ARG BLOSC_VERSION ARG OPENVDB_VERSION -ARG PTEX_VERSION -ARG PYSIDE_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG QT_VERSION -ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG NUMPY_VERSION +ARG HDF5_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-$LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-$QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-$PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-$OIIO_VERSION as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-$OCIO_VERSION as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION}-$PTEX_VERSION as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION}-$OPENSUBDIV_VERSION as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-$ALEMBIC_VERSION as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-$BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-$OPENVDB_VERSION as ci-package-openvdb + + + +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-${LOG4CPLUS_VERSION} as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc -FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-${ALEMBIC_VERSION} as ci-package-alembic -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio -FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION}-${OPENSUBDIV_VERSION} as ci-package-opensubdiv -FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION}-${PTEX_VERSION} as ci-package-ptex -FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-${OPENVDB_VERSION} as ci-package-openvdb - -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-usd -ARG ALEMBIC_VERSION ARG ASWF_ORG -ARG BLOSC_VERSION +ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION +ARG TBB_VERSION ARG BOOST_VERSION -ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION ARG GLEW_VERSION ARG GLFW_VERSION -ARG HDF5_VERSION ARG LOG4CPLUS_VERSION -ARG NUMPY_VERSION -ARG OCIO_VERSION -ARG OIIO_VERSION +ARG QT_VERSION +ARG PYSIDE_VERSION +ARG CMAKE_VERSION ARG OPENEXR_VERSION +ARG OIIO_VERSION +ARG OCIO_VERSION +ARG PTEX_VERSION ARG OPENSUBDIV_VERSION +ARG ALEMBIC_VERSION +ARG BLOSC_VERSION ARG OPENVDB_VERSION -ARG PTEX_VERSION -ARG PYSIDE_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG QT_VERSION -ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG NUMPY_VERSION +ARG HDF5_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-usd" LABEL org.opencontainers.image.title="USD CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python-${PYTHON_VERSION}, tbb-${TBB_VERSION}, boost-${BOOST_VERSION} and other USD upstream dependencies" +LABEL org.opencontainers.image.description="Contains: python, Qt, PySide and other USD upstream dependencies\ +Warning: this image does *not* contain USD itself as it is used to *build* USD!\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-usd/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -85,52 +92,52 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.alembic="${ALEMBIC_VERSION}" -LABEL io.aswf.docker.versions.blosc="${BLOSC_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" -LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" -LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" -LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" -LABEL io.aswf.docker.versions.hdf5="${HDF5_VERSION}" -LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.ocio="${OCIO_VERSION}" -LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" -LABEL io.aswf.docker.versions.openexr="${OPENEXR_VERSION}" -LABEL io.aswf.docker.versions.opensubdiv="${OPENSUBDIV_VERSION}" -LABEL io.aswf.docker.versions.openvdb="${OPENVDB_VERSION}" -LABEL io.aswf.docker.versions.ptex="${PTEX_VERSION}" -LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.qt="${QT_VERSION}" -LABEL io.aswf.docker.versions.tbb="${TBB_VERSION}" - -ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" +LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" +LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" +LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" +LABEL io.aswf.docker.versions.qt="$QT_VERSION" +LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" +LABEL io.aswf.docker.versions.oiio="$OIIO_VERSION" +LABEL io.aswf.docker.versions.ocio="$OCIO_VERSION" +LABEL io.aswf.docker.versions.ptex="$PTEX_VERSION" +LABEL io.aswf.docker.versions.opensubdiv="$OPENSUBDIV_VERSION" +LABEL io.aswf.docker.versions.alembic="$ALEMBIC_VERSION" +LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" +LABEL io.aswf.docker.versions.openvdb="$OPENVDB_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.hdf5="$HDF5_VERSION" + + ENV ASWF_ORG=${ASWF_ORG} -ENV BLOSC_VERSION=${BLOSC_VERSION} -ENV BOOST_VERSION=${BOOST_VERSION} -ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} -ENV CLANG_MAJOR_VERSION=${CLANG_MAJOR_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} -ENV GLEW_VERSION=${GLEW_VERSION} -ENV GLFW_VERSION=${GLFW_VERSION} -ENV HDF5_VERSION=${HDF5_VERSION} -ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV OCIO_VERSION=${OCIO_VERSION} -ENV OIIO_VERSION=${OIIO_VERSION} -ENV OPENEXR_VERSION=${OPENEXR_VERSION} -ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} -ENV OPENVDB_VERSION=${OPENVDB_VERSION} -ENV PTEX_VERSION=${PTEX_VERSION} -ENV PYSIDE_VERSION=${PYSIDE_VERSION} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} -ENV QT_VERSION=${QT_VERSION} -ENV TBB_VERSION=${TBB_VERSION} +ENV ASWF_VERSION=${ASWF_VERSION} ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV TBB_VERSION=$TBB_VERSION +ENV BOOST_VERSION=$BOOST_VERSION +ENV GLEW_VERSION=$GLEW_VERSION +ENV GLFW_VERSION=$GLFW_VERSION +ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION +ENV QT_VERSION=$QT_VERSION +ENV PYSIDE_VERSION=$PYSIDE_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV OPENEXR_VERSION=$OPENEXR_VERSION +ENV OIIO_VERSION=$OIIO_VERSION +ENV OCIO_VERSION=$OCIO_VERSION +ENV PTEX_VERSION=$PTEX_VERSION +ENV OPENSUBDIV_VERSION=$OPENSUBDIV_VERSION +ENV ALEMBIC_VERSION=$ALEMBIC_VERSION +ENV BLOSC_VERSION=$BLOSC_VERSION +ENV OPENVDB_VERSION=$OPENVDB_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION +ENV HDF5_VERSION=$HDF5_VERSION + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} @@ -151,5 +158,3 @@ COPY --from=ci-package-opensubdiv /. /usr/local/ COPY --from=ci-package-alembic /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ COPY --from=ci-package-openvdb /. /usr/local/ - -RUN sudo pip install jinja2 PyOpenGL diff --git a/ci-usd/Readme.md b/ci-usd/Readme.md new file mode 100644 index 00000000..334c45d2 --- /dev/null +++ b/ci-usd/Readme.md @@ -0,0 +1,79 @@ + + +# USD CI Docker Image + +Contains: python, Qt, PySide and other USD upstream dependencies +Warning: this image does *not* contain USD itself as it is used to *build* USD! + + +## [aswf/usd:2019.8](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2019.8) +Contains: +* python-2.7.15 +* tbb-2018 +* boost-1.66.0 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* qt-5.12.6 +* pyside-5.12.6 +* cmake-3.12.4 +* openexr-2.3.0 +* oiio-2.0.8 +* ocio-1.1.0 +* ptex-2.1.33 +* opensubdiv-3_3_3 +* alembic-1.7.11 +* blosc-1.5.0 +* openvdb-6.2.1 +* numpy-1.14 +* hdf5-1.8.21 + +## [aswf/usd:2020.7](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2020.7) +Contains: +* python-3.7.3 +* tbb-2019_U6 +* boost-1.70.0 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* qt-5.12.6 +* pyside-5.12.6 +* cmake-3.18.4 +* openexr-2.4.0 +* oiio-2.1.13.0 +* ocio-1.1.1 +* ptex-2.3.2 +* opensubdiv-3_4_3 +* alembic-1.7.12 +* blosc-1.5.0 +* openvdb-7.1.0 +* numpy-1.16 +* hdf5-1.8.21 + +## [aswf/usd:2021.3](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2021.3) +Contains: +* python-3.7.3 +* tbb-2019_U6 +* boost-1.70.0 +* glew-2.1.0 +* glfw-3.1.2 +* log4cplus-1.1.2 +* qt-5.12.8 +* pyside-5.12.6 +* cmake-3.18.4 +* openexr-2.4.0 +* oiio-2.1.13.0 +* ocio-1.1.1 +* ptex-2.3.2 +* opensubdiv-3_4_3 +* alembic-1.7.12 +* blosc-1.20.1 +* openvdb-7.1.0 +* numpy-1.16 +* hdf5-1.8.21 + diff --git a/ci-usd/data.yaml b/ci-usd/data.yaml new file mode 100644 index 00000000..9ec52808 --- /dev/null +++ b/ci-usd/data.yaml @@ -0,0 +1,26 @@ +ci_image_name: "usd" +ci_image_title: "USD CI Docker Image" +ci_image_description: | + Contains: python, Qt, PySide and other USD upstream dependencies + Warning: this image does *not* contain USD itself as it is used to *build* USD! +packages: + - python + - tbb + - boost + - glew + - glfw + - log4cplus + - qt + - pyside + - cmake + - openexr + - oiio + - ocio + - ptex + - opensubdiv + - alembic + - blosc + - openvdb +implicit_packages: + - numpy + - hdf5 diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index b7f2ae1c..46edb930 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -1,101 +1,103 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -ARG ALEMBIC_VERSION + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG BLOSC_VERSION -ARG BOOST_VERSION ARG CI_COMMON_VERSION -ARG CLANG_VERSION ARG CLANG_MAJOR_VERSION -ARG CMAKE_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION +ARG TBB_VERSION +ARG BOOST_VERSION ARG CPPUNIT_VERSION -ARG CUDA_VERSION -ARG DTS_VERSION +ARG LOG4CPLUS_VERSION ARG GLEW_VERSION ARG GLFW_VERSION -ARG HDF5_VERSION -ARG LOG4CPLUS_VERSION -ARG NUMPY_VERSION -ARG OCIO_CONFIGS_VERSION -ARG OCIO_VERSION -ARG OIIO_VERSION +ARG QT_VERSION +ARG PYSIDE_VERSION +ARG CMAKE_VERSION ARG OPENEXR_VERSION +ARG BLOSC_VERSION +ARG ALEMBIC_VERSION +ARG OIIO_VERSION +ARG OCIO_VERSION ARG OPENSUBDIV_VERSION +ARG PTEX_VERSION ARG OPENVDB_VERSION +ARG USD_VERSION +ARG PARTIO_VERSION ARG OSL_VERSION ARG OTIO_VERSION -ARG PARTIO_VERSION -ARG PTEX_VERSION -ARG PYSIDE_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG QT_VERSION -ARG TBB_VERSION -ARG USD_VERSION -ARG VFXPLATFORM_VERSION +ARG NUMPY_VERSION +ARG HDF5_VERSION + +FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-$LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-$QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-$PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-$BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-$ALEMBIC_VERSION as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-$OIIO_VERSION as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-$OCIO_VERSION as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION}-$OPENSUBDIV_VERSION as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION}-$PTEX_VERSION as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-$OPENVDB_VERSION as ci-package-openvdb +FROM ${ASWF_PKG_ORG}/ci-package-usd:${VFXPLATFORM_VERSION}-$USD_VERSION as ci-package-usd +FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION}-$PARTIO_VERSION as ci-package-partio +FROM ${ASWF_PKG_ORG}/ci-package-osl:${VFXPLATFORM_VERSION}-$OSL_VERSION as ci-package-osl +FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION}-$OTIO_VERSION as ci-package-otio + + + +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-${LOG4CPLUS_VERSION} as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc -FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-${ALEMBIC_VERSION} as ci-package-alembic -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio -FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION}-${OPENSUBDIV_VERSION} as ci-package-opensubdiv -FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION}-${PTEX_VERSION} as ci-package-ptex -FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-${OPENVDB_VERSION} as ci-package-openvdb -FROM ${ASWF_PKG_ORG}/ci-package-usd:${VFXPLATFORM_VERSION}-${USD_VERSION} as ci-package-usd -FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION}-${PARTIO_VERSION} as ci-package-partio -FROM ${ASWF_PKG_ORG}/ci-package-osl:${VFXPLATFORM_VERSION}-${OSL_VERSION} as ci-package-osl -FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION}-${OTIO_VERSION} as ci-package-otio - -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-vfxall -ARG ALEMBIC_VERSION ARG ASWF_ORG -ARG BLOSC_VERSION +ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +ARG PYTHON_VERSION +ARG TBB_VERSION ARG BOOST_VERSION -ARG CI_COMMON_VERSION -ARG CLANG_VERSION -ARG CMAKE_VERSION ARG CPPUNIT_VERSION -ARG CUDA_VERSION -ARG DTS_VERSION +ARG LOG4CPLUS_VERSION ARG GLEW_VERSION ARG GLFW_VERSION -ARG HDF5_VERSION -ARG LOG4CPLUS_VERSION -ARG NUMPY_VERSION -ARG OCIO_CONFIGS_VERSION -ARG OCIO_VERSION -ARG OIIO_VERSION +ARG QT_VERSION +ARG PYSIDE_VERSION +ARG CMAKE_VERSION ARG OPENEXR_VERSION +ARG BLOSC_VERSION +ARG ALEMBIC_VERSION +ARG OIIO_VERSION +ARG OCIO_VERSION ARG OPENSUBDIV_VERSION +ARG PTEX_VERSION ARG OPENVDB_VERSION +ARG USD_VERSION +ARG PARTIO_VERSION ARG OSL_VERSION ARG OTIO_VERSION -ARG PARTIO_VERSION -ARG PTEX_VERSION -ARG PYSIDE_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG QT_VERSION -ARG TBB_VERSION -ARG USD_VERSION -ARG VFXPLATFORM_VERSION +ARG NUMPY_VERSION +ARG HDF5_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-vfxall" -LABEL org.opencontainers.image.title="VFX All Packages CI Docker Image" -LABEL org.opencontainers.image.description="Contains: all supported vfx and base packages" +LABEL org.opencontainers.image.title="VFX All CI Docker Image" +LABEL org.opencontainers.image.description="Contains: all supported VFX packages\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-vfxall/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" @@ -104,65 +106,64 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" -LABEL io.aswf.docker.versions.hdf5="${HDF5_VERSION}" -LABEL io.aswf.docker.versions.python=${PYTHON_VERSION} -LABEL io.aswf.docker.versions.tbb=${TBB_VERSION} -LABEL io.aswf.docker.versions.boost=${BOOST_VERSION} -LABEL io.aswf.docker.versions.cppunit=${CPPUNIT_VERSION} -LABEL io.aswf.docker.versions.log4cplus=${LOG4CPLUS_VERSION} -LABEL io.aswf.docker.versions.glew=${GLEW_VERSION} -LABEL io.aswf.docker.versions.glfw=${GLFW_VERSION} -LABEL io.aswf.docker.versions.qt=${QT_VERSION} -LABEL io.aswf.docker.versions.pyside=${PYSIDE_VERSION} -LABEL io.aswf.docker.versions.cmake=${CMAKE_VERSION} -LABEL io.aswf.docker.versions.openexr=${OPENEXR_VERSION} -LABEL io.aswf.docker.versions.blosc=${BLOSC_VERSION} -LABEL io.aswf.docker.versions.alembic=${ALEMBIC_VERSION} -LABEL io.aswf.docker.versions.oiio=${OIIO_VERSION} -LABEL io.aswf.docker.versions.ocio=${OCIO_VERSION} -LABEL io.aswf.docker.versions.opensubdiv=${OPENSUBDIV_VERSION} -LABEL io.aswf.docker.versions.ptex=${PTEX_VERSION} -LABEL io.aswf.docker.versions.openvdb=${OPENVDB_VERSION} -LABEL io.aswf.docker.versions.usd=${USD_VERSION} -LABEL io.aswf.docker.versions.partio=${PARTIO_VERSION} -LABEL io.aswf.docker.versions.osl=${OSL_VERSION} -LABEL io.aswf.docker.versions.otio=${OTIO_VERSION} - -ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} +LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" +LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" +LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" +LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" +LABEL io.aswf.docker.versions.qt="$QT_VERSION" +LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" +LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" +LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" +LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" +LABEL io.aswf.docker.versions.alembic="$ALEMBIC_VERSION" +LABEL io.aswf.docker.versions.oiio="$OIIO_VERSION" +LABEL io.aswf.docker.versions.ocio="$OCIO_VERSION" +LABEL io.aswf.docker.versions.opensubdiv="$OPENSUBDIV_VERSION" +LABEL io.aswf.docker.versions.ptex="$PTEX_VERSION" +LABEL io.aswf.docker.versions.openvdb="$OPENVDB_VERSION" +LABEL io.aswf.docker.versions.usd="$USD_VERSION" +LABEL io.aswf.docker.versions.partio="$PARTIO_VERSION" +LABEL io.aswf.docker.versions.osl="$OSL_VERSION" +LABEL io.aswf.docker.versions.otio="$OTIO_VERSION" +LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.hdf5="$HDF5_VERSION" + + ENV ASWF_ORG=${ASWF_ORG} -ENV BLOSC_VERSION=${BLOSC_VERSION} -ENV BOOST_VERSION=${BOOST_VERSION} -ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} -ENV CLANG_VERSION=${CLANG_VERSION} -ENV CMAKE_VERSION=${CMAKE_VERSION} -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} -ENV CUDA_VERSION=${CUDA_VERSION} -ENV DTS_VERSION=${DTS_VERSION} -ENV GLEW_VERSION=${GLEW_VERSION} -ENV GLFW_VERSION=${GLFW_VERSION} -ENV HDF5_VERSION=${HDF5_VERSION} -ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} -ENV NUMPY_VERSION=${NUMPY_VERSION} -ENV OCIO_CONFIGS_VERSION=${OCIO_CONFIGS_VERSION} -ENV OCIO_VERSION=${OCIO_VERSION} -ENV OIIO_VERSION=${OIIO_VERSION} -ENV OPENEXR_VERSION=${OPENEXR_VERSION} -ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} -ENV OPENVDB_VERSION=${OPENVDB_VERSION} -ENV OSL_VERSION=${OSL_VERSION} -ENV OTIO_VERSION=${OTIO_VERSION} -ENV PARTIO_VERSION=${PARTIO_VERSION} -ENV PTEX_VERSION=${PTEX_VERSION} -ENV PYSIDE_VERSION=${PYSIDE_VERSION} -ENV PYTHON_VERSION=${PYTHON_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} -ENV QT_VERSION=${QT_VERSION} -ENV TBB_VERSION=${TBB_VERSION} -ENV USD_VERSION=${USD_VERSION} +ENV ASWF_VERSION=${ASWF_VERSION} ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +ENV PYTHON_VERSION=$PYTHON_VERSION +ENV TBB_VERSION=$TBB_VERSION +ENV BOOST_VERSION=$BOOST_VERSION +ENV CPPUNIT_VERSION=$CPPUNIT_VERSION +ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION +ENV GLEW_VERSION=$GLEW_VERSION +ENV GLFW_VERSION=$GLFW_VERSION +ENV QT_VERSION=$QT_VERSION +ENV PYSIDE_VERSION=$PYSIDE_VERSION +ENV CMAKE_VERSION=$CMAKE_VERSION +ENV OPENEXR_VERSION=$OPENEXR_VERSION +ENV BLOSC_VERSION=$BLOSC_VERSION +ENV ALEMBIC_VERSION=$ALEMBIC_VERSION +ENV OIIO_VERSION=$OIIO_VERSION +ENV OCIO_VERSION=$OCIO_VERSION +ENV OPENSUBDIV_VERSION=$OPENSUBDIV_VERSION +ENV PTEX_VERSION=$PTEX_VERSION +ENV OPENVDB_VERSION=$OPENVDB_VERSION +ENV USD_VERSION=$USD_VERSION +ENV PARTIO_VERSION=$PARTIO_VERSION +ENV OSL_VERSION=$OSL_VERSION +ENV OTIO_VERSION=$OTIO_VERSION +ENV NUMPY_VERSION=$NUMPY_VERSION +ENV HDF5_VERSION=$HDF5_VERSION + -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ diff --git a/ci-vfxall/Readme.md b/ci-vfxall/Readme.md new file mode 100644 index 00000000..6d35060a --- /dev/null +++ b/ci-vfxall/Readme.md @@ -0,0 +1,174 @@ + + +# VFX All CI Docker Image + +Contains: all supported VFX packages + + +## [aswf/vfxall:2019-clang6.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang6.11) +Contains: +* python-2.7.15 +* tbb-2018 +* boost-1.66.0 +* cppunit-1.14.0 +* log4cplus-1.1.2 +* glew-2.1.0 +* glfw-3.1.2 +* qt-5.12.6 +* pyside-5.12.6 +* cmake-3.12.4 +* openexr-2.3.0 +* blosc-1.5.0 +* alembic-1.7.11 +* oiio-2.0.8 +* ocio-1.1.0 +* opensubdiv-3_3_3 +* ptex-2.1.33 +* openvdb-6.2.1 +* usd-19.11 +* partio-1.10.1 +* osl-1.10.9 +* otio-0.12.1 +* numpy-1.14 +* hdf5-1.8.21 + +## [aswf/vfxall:2019-clang7.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang7.11) +Contains: +* python-2.7.15 +* tbb-2018 +* boost-1.66.0 +* cppunit-1.14.0 +* log4cplus-1.1.2 +* glew-2.1.0 +* glfw-3.1.2 +* qt-5.12.6 +* pyside-5.12.6 +* cmake-3.12.4 +* openexr-2.3.0 +* blosc-1.5.0 +* alembic-1.7.11 +* oiio-2.0.8 +* ocio-1.1.0 +* opensubdiv-3_3_3 +* ptex-2.1.33 +* openvdb-6.2.1 +* usd-19.11 +* partio-1.10.1 +* osl-1.10.9 +* otio-0.12.1 +* numpy-1.14 +* hdf5-1.8.21 + +## [aswf/vfxall:2019-clang8.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang8.11) +Contains: +* python-2.7.15 +* tbb-2018 +* boost-1.66.0 +* cppunit-1.14.0 +* log4cplus-1.1.2 +* glew-2.1.0 +* glfw-3.1.2 +* qt-5.12.6 +* pyside-5.12.6 +* cmake-3.12.4 +* openexr-2.3.0 +* blosc-1.5.0 +* alembic-1.7.11 +* oiio-2.0.8 +* ocio-1.1.0 +* opensubdiv-3_3_3 +* ptex-2.1.33 +* openvdb-6.2.1 +* usd-19.11 +* partio-1.10.1 +* osl-1.10.9 +* otio-0.12.1 +* numpy-1.14 +* hdf5-1.8.21 + +## [aswf/vfxall:2019-clang9.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang9.11) +Contains: +* python-2.7.15 +* tbb-2018 +* boost-1.66.0 +* cppunit-1.14.0 +* log4cplus-1.1.2 +* glew-2.1.0 +* glfw-3.1.2 +* qt-5.12.6 +* pyside-5.12.6 +* cmake-3.12.4 +* openexr-2.3.0 +* blosc-1.5.0 +* alembic-1.7.11 +* oiio-2.0.8 +* ocio-1.1.0 +* opensubdiv-3_3_3 +* ptex-2.1.33 +* openvdb-6.2.1 +* usd-19.11 +* partio-1.10.1 +* osl-1.10.9 +* otio-0.12.1 +* numpy-1.14 +* hdf5-1.8.21 + +## [aswf/vfxall:2020-clang7.9](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2020-clang7.9) +Contains: +* python-3.7.3 +* tbb-2019_U6 +* boost-1.70.0 +* cppunit-1.15.1 +* log4cplus-1.1.2 +* glew-2.1.0 +* glfw-3.1.2 +* qt-5.12.6 +* pyside-5.12.6 +* cmake-3.18.4 +* openexr-2.4.0 +* blosc-1.5.0 +* alembic-1.7.12 +* oiio-2.1.13.0 +* ocio-1.1.1 +* opensubdiv-3_4_3 +* ptex-2.3.2 +* openvdb-7.1.0 +* usd-20.11 +* partio-1.10.1 +* osl-1.10.10 +* otio-0.12.1 +* numpy-1.16 +* hdf5-1.8.21 + +## [aswf/vfxall:2021-clang10.4](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2021-clang10.4) +Contains: +* python-3.7.3 +* tbb-2019_U6 +* boost-1.70.0 +* cppunit-1.15.1 +* log4cplus-1.1.2 +* glew-2.1.0 +* glfw-3.1.2 +* qt-5.12.8 +* pyside-5.12.6 +* cmake-3.18.4 +* openexr-2.4.0 +* blosc-1.20.1 +* alembic-1.7.12 +* oiio-2.1.13.0 +* ocio-1.1.1 +* opensubdiv-3_4_3 +* ptex-2.3.2 +* openvdb-7.1.0 +* usd-20.11 +* partio-1.13.0 +* osl-1.10.10 +* otio-0.12.1 +* numpy-1.16 +* hdf5-1.8.21 + diff --git a/ci-vfxall/data.yaml b/ci-vfxall/data.yaml new file mode 100644 index 00000000..95981231 --- /dev/null +++ b/ci-vfxall/data.yaml @@ -0,0 +1,30 @@ +ci_image_name: "vfxall" +ci_image_title: "VFX All CI Docker Image" +ci_image_description: | + Contains: all supported VFX packages +packages: + - python + - tbb + - boost + - cppunit + - log4cplus + - glew + - glfw + - qt + - pyside + - cmake + - openexr + - blosc + - alembic + - oiio + - ocio + - opensubdiv + - ptex + - openvdb + - usd + - partio + - osl + - otio +implicit_packages: + - numpy + - hdf5 diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index c77a8bac..137841dc 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -15,6 +15,7 @@ aswfinfo, groupinfo, constants, + dockergen as aswf_dockergen, index, utils, releaser, @@ -386,3 +387,24 @@ def release( return r.release(dry_run=dry_run) click.echo("Release done.") + + +@cli.command() +@click.option( + "--image-name", "-n", default="all", help='Image name to generate. E.g. "base"', +) +def dockergen(image_name): + """Generates a docker file from inital data and dockerfile template + """ + if image_name == "all": + images = [] + for group, gimages in constants.GROUPS[constants.ImageType.IMAGE].items(): + if group != "common": + images.extend(gimages) + else: + images = [image_name] + for image in images: + path = aswf_dockergen.DockerGen(image).generate_dockerfile() + click.echo(f"Generated {path}") + path = aswf_dockergen.DockerGen(image).generate_readme() + click.echo(f"Generated {path}") diff --git a/python/aswfdocker/constants.py b/python/aswfdocker/constants.py index fd301f2d..26271b2e 100644 --- a/python/aswfdocker/constants.py +++ b/python/aswfdocker/constants.py @@ -34,7 +34,7 @@ class ImageType(enum.Enum): }, ImageType.CI_IMAGE: { "common": ["common"], - "base": ["base"], + "base": ["base", "baseqt"], "vfx1": ["openexr", "openvdb", "opencue"], "vfx2": ["ocio", "osl", "otio"], "usd": ["usd"], diff --git a/python/aswfdocker/data/ci-image-dockerfile.tmpl b/python/aswfdocker/data/ci-image-dockerfile.tmpl new file mode 100644 index 00000000..c46a6a42 --- /dev/null +++ b/python/aswfdocker/data/ci-image-dockerfile.tmpl @@ -0,0 +1,61 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +{% for package in packages + implicit_packages -%} +ARG {{package.upper()}}_VERSION +{% endfor %} +{% for package in packages -%} +FROM ${ASWF_PKG_ORG}/ci-package-{{ package }}:${VFXPLATFORM_VERSION}-${{package.upper()}}_VERSION as ci-package-{{ package }} +{% endfor %} + + +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base + + +ARG ASWF_ORG +ARG ASWF_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + +{% for package in packages + implicit_packages -%} +ARG {{package.upper()}}_VERSION +{% endfor %} + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-{{ ci_image_name }}" +LABEL org.opencontainers.image.title="{{ ci_image_title }}" +LABEL org.opencontainers.image.description="{{ "\\\n".join(ci_image_description.split("\n")) }}" +LABEL org.opencontainers.image.url="http://aswf.io/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-{{ ci_image_name }}/Dockerfile" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" + +{% for package in packages + implicit_packages -%} +LABEL io.aswf.docker.versions.{{ package }}="${{ package.upper() }}_VERSION" +{% endfor %} + +ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} + +{% for package in packages + implicit_packages -%} +ENV {{package.upper()}}_VERSION=${{package.upper()}}_VERSION +{% endfor %} + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + +{% for package in packages -%} +COPY --from=ci-package-{{ package }} /. /usr/local/ +{% endfor %} diff --git a/python/aswfdocker/data/ci-image-readme.tmpl b/python/aswfdocker/data/ci-image-readme.tmpl new file mode 100644 index 00000000..857f327e --- /dev/null +++ b/python/aswfdocker/data/ci-image-readme.tmpl @@ -0,0 +1,18 @@ + + +# {{ ci_image_title }} + +{{ ci_image_description }} + +{% for version in index.iter_versions(constants.ImageType.IMAGE, ci_image_name) -%} +## [aswf/{{ci_image_name}}:{{version}}](https://hub.docker.com/r/aswf/ci-{{ci_image_name}}/tags?page=1&name={{version}}) +Contains: +{% for package in packages + implicit_packages -%} +* {{package}}-{{ index.version_info(version.split(".")[0]).all_package_versions[package.upper() + "_VERSION"] }} +{% endfor %} +{% endfor %} diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py new file mode 100644 index 00000000..996109e7 --- /dev/null +++ b/python/aswfdocker/dockergen.py @@ -0,0 +1,58 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +""" +Migration of ASWF docker images between docker organisations +""" +import logging +import os + +import yaml +from jinja2 import Environment, PackageLoader + +from aswfdocker import utils, index, constants + + +logger = logging.getLogger(__name__) + + +class DockerGen: + def __init__(self, image_name): + self.image_name = image_name + self.env = Environment(loader=PackageLoader("aswfdocker", "data")) + + def generate_dockerfile(self): + image_data_path = os.path.join( + utils.get_git_top_level(), f"ci-{self.image_name}/data.yaml" + ) + with open(image_data_path) as f: + image_data = yaml.load(f, Loader=yaml.FullLoader) + + template = self.env.get_template("ci-image-dockerfile.tmpl") + + dockerfile_path = os.path.join( + utils.get_git_top_level(), f"ci-{self.image_name}/Dockerfile" + ) + + with open(dockerfile_path, "w") as f: + f.write(template.render(image_data)) + return dockerfile_path + + def generate_readme(self): + image_data_path = os.path.join( + utils.get_git_top_level(), f"ci-{self.image_name}/data.yaml" + ) + with open(image_data_path) as f: + image_data = yaml.load(f, Loader=yaml.FullLoader) + + template = self.env.get_template("ci-image-readme.tmpl") + + readme_path = os.path.join( + utils.get_git_top_level(), f"ci-{self.image_name}/Readme.md" + ) + + image_data["index"] = index.Index() + image_data["constants"] = constants + + with open(readme_path, "w") as f: + f.write(template.render(image_data)) + return readme_path diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 6ef19062..c969e1e2 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -156,7 +156,7 @@ def test_image_base_2019_2020_dict(self): names=["base"], versions=["2019", "2020"], type_=constants.ImageType.CI_IMAGE, - targets=[], + targets=["base"], ), ) base_versions = list( diff --git a/versions.yaml b/versions.yaml index f7120f62..93f5c7ae 100644 --- a/versions.yaml +++ b/versions.yaml @@ -378,6 +378,11 @@ ci-images: - "2019.7" - "2020.7" - "2021.3" + baseqt: + - "2018.0" + - "2019.0" + - "2020.0" + - "2021.0" openexr: - "2018.7" - "2019.7" From 6e55bef094a980fb51e15571de9c5a3fa89dc958 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Thu, 5 Nov 2020 07:18:24 +1100 Subject: [PATCH 053/132] Added extra_commands and begin changelog Signed-off-by: Aloys Baillet --- CHANGELOG.md | 24 ++++++++----------- ci-base/Dockerfile | 2 ++ ci-baseqt/Dockerfile | 2 ++ ci-ocio/Dockerfile | 2 ++ ci-opencue/Dockerfile | 5 ++++ ci-opencue/data.yaml | 4 ++++ ci-openexr/Dockerfile | 2 ++ ci-openvdb/Dockerfile | 2 ++ ci-osl/Dockerfile | 2 ++ ci-otio/Dockerfile | 3 +++ ci-otio/data.yaml | 2 ++ ci-usd/Dockerfile | 3 +++ ci-usd/data.yaml | 2 ++ ci-vfxall/Dockerfile | 2 ++ .../aswfdocker/data/ci-image-dockerfile.tmpl | 2 ++ 15 files changed, 45 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75449d37..f13cfb22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,16 @@ # Changelog All notable changes to this project will be documented in this file. -<<<<<<< HEAD +## 2020-11-05 +### Added +* Added `ci-baseqt` image which was not pushed in a while. +* All `ci-package-*` images now have their actual version in the label and in their tags (e.g. `aswf/ci-package-openexr:2019-2.3.0`). +* New `aswfdocker dockergen` command line tool to re-generate CI Image Dockerfiles and Readmes from a set of templates and current versions. + +### Changed +* All CI images are now templated and come with a `Readme.md` containing all the current package version numbers. +* All package versions have been moved from version bash scripts into the `versions.yaml` file, which enables the tagging of the image with these versions. + ## 2020-10-21 ### Added * Added `clang-11.0.0` package. @@ -40,19 +49,6 @@ All notable changes to this project will be documented in this file. * `ci-otio:2019.1`, `ci-otio:2020.1`, `ci-otio:2021.1` * `ci-vfxall:2019-clang6.10`, `ci-vfxall:2019-clang7.10`, `ci-vfxall:2019-clang8.10`, `ci-vfxall:2019-clang9.10`, `ci-vfxall:2020-clang7.8`, `ci-vfxall:2021-clang10.3` -======= -## 2020-09 - -### Changed -* Updated `ci-common:2` to cuda-11 - -### New CI Images -* `aswf/ci-common:2021.2` -* `aswf/ci-ocio:2021.2` -* `aswf/ci-usd:2021.2` -* `aswf/ci-osl:2021.2` -* `aswf/ci-vfxall:2021.3` ->>>>>>> Updated gl-dependent docker image versions ## 2020-08-01 diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 099370d2..040faf22 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -99,3 +99,5 @@ COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-log4cplus /. /usr/local/ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ + + diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index 1e858f02..3aa6ae0d 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -111,3 +111,5 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ + + diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index 46c129c4..dcc23e61 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -100,3 +100,5 @@ COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-oiio /. /usr/local/ + + diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index 23a6d63f..e117ec9e 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -64,3 +64,8 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages: COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ + + +RUN sudo yum -y install \ + java-1.8.0-openjdk.x86_64 \ + java-1.8.0-openjdk-devel.x86_64 diff --git a/ci-opencue/data.yaml b/ci-opencue/data.yaml index 3c475f27..9edd8d07 100644 --- a/ci-opencue/data.yaml +++ b/ci-opencue/data.yaml @@ -8,3 +8,7 @@ packages: - cmake implicit_packages: - numpy +extra_commands: | + RUN sudo yum -y install \ + java-1.8.0-openjdk.x86_64 \ + java-1.8.0-openjdk-devel.x86_64 diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index 02e500eb..f792bc7e 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -70,3 +70,5 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages: COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ + + diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 827cd4ea..3db88e28 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -100,3 +100,5 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ + + diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index d2286eb1..72f9063d 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -100,3 +100,5 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ + + diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index dbc437fa..977ece9d 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -76,3 +76,6 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ + + +RUN sudo pip install flake8 tox urllib3 diff --git a/ci-otio/data.yaml b/ci-otio/data.yaml index cc5ee5d4..079829cf 100644 --- a/ci-otio/data.yaml +++ b/ci-otio/data.yaml @@ -10,3 +10,5 @@ packages: - pyside implicit_packages: - numpy +extra_commands: | + RUN sudo pip install flake8 tox urllib3 diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index 81c3d0bd..3dd36492 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -158,3 +158,6 @@ COPY --from=ci-package-opensubdiv /. /usr/local/ COPY --from=ci-package-alembic /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ COPY --from=ci-package-openvdb /. /usr/local/ + + +RUN sudo pip install jinja2 PyOpenGL diff --git a/ci-usd/data.yaml b/ci-usd/data.yaml index 9ec52808..b89a5f1d 100644 --- a/ci-usd/data.yaml +++ b/ci-usd/data.yaml @@ -24,3 +24,5 @@ packages: implicit_packages: - numpy - hdf5 +extra_commands: | + RUN sudo pip install jinja2 PyOpenGL diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 46edb930..34983188 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -187,3 +187,5 @@ COPY --from=ci-package-usd /. /usr/local/ COPY --from=ci-package-partio /. /usr/local/ COPY --from=ci-package-osl /. /usr/local/ COPY --from=ci-package-otio /. /usr/local/ + + diff --git a/python/aswfdocker/data/ci-image-dockerfile.tmpl b/python/aswfdocker/data/ci-image-dockerfile.tmpl index c46a6a42..4a460a3f 100644 --- a/python/aswfdocker/data/ci-image-dockerfile.tmpl +++ b/python/aswfdocker/data/ci-image-dockerfile.tmpl @@ -59,3 +59,5 @@ ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages: {% for package in packages -%} COPY --from=ci-package-{{ package }} /. /usr/local/ {% endfor %} + +{{ extra_commands }} From 490cc92019a05abeef029f6ceff3b3cecd337f4c Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Thu, 5 Nov 2020 23:00:33 +1100 Subject: [PATCH 054/132] Added dockergen --check option Signed-off-by: Aloys Baillet --- python/aswfdocker/cli/aswfdocker.py | 35 +++++++++++++++++------ python/aswfdocker/dockergen.py | 44 +++++++++++++++++++++-------- 2 files changed, 59 insertions(+), 20 deletions(-) diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index 137841dc..bc8e801c 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -390,11 +390,15 @@ def release( @cli.command() +@click.pass_context +@click.option( + "--image-name", "-n", default="all", help='Image name to generate. E.g. "base"' +) @click.option( - "--image-name", "-n", default="all", help='Image name to generate. E.g. "base"', + "--check", "-c", is_flag=True, help="Checks that the current files are up to date." ) -def dockergen(image_name): - """Generates a docker file from inital data and dockerfile template +def dockergen(context, image_name, check): + """Generates a docker file and readme from image data and template """ if image_name == "all": images = [] @@ -403,8 +407,23 @@ def dockergen(image_name): images.extend(gimages) else: images = [image_name] - for image in images: - path = aswf_dockergen.DockerGen(image).generate_dockerfile() - click.echo(f"Generated {path}") - path = aswf_dockergen.DockerGen(image).generate_readme() - click.echo(f"Generated {path}") + if check: + for image in images: + path, ok = aswf_dockergen.DockerGen(image).check_dockerfile() + if not ok: + click.secho(f"{path} is not up to date!", fg="red") + context.exit(1) + else: + click.secho(f"{path} is up to date", fg="green") + path, ok = aswf_dockergen.DockerGen(image).check_readme() + if not ok: + click.secho(f"{path} is not up to date!", fg="red") + context.exit(1) + else: + click.secho(f"{path} is up to date", fg="green") + else: + for image in images: + path = aswf_dockergen.DockerGen(image).generate_dockerfile() + click.echo(f"Generated {path}") + path = aswf_dockergen.DockerGen(image).generate_readme() + click.echo(f"Generated {path}") diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index 996109e7..23f7a8b7 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -20,15 +20,16 @@ def __init__(self, image_name): self.image_name = image_name self.env = Environment(loader=PackageLoader("aswfdocker", "data")) - def generate_dockerfile(self): + def _get_image_data(self): image_data_path = os.path.join( utils.get_git_top_level(), f"ci-{self.image_name}/data.yaml" ) with open(image_data_path) as f: - image_data = yaml.load(f, Loader=yaml.FullLoader) + return yaml.load(f, Loader=yaml.FullLoader) + def generate_dockerfile(self): + image_data = self._get_image_data() template = self.env.get_template("ci-image-dockerfile.tmpl") - dockerfile_path = os.path.join( utils.get_git_top_level(), f"ci-{self.image_name}/Dockerfile" ) @@ -37,22 +38,41 @@ def generate_dockerfile(self): f.write(template.render(image_data)) return dockerfile_path - def generate_readme(self): - image_data_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/data.yaml" + def check_dockerfile(self): + image_data = self._get_image_data() + template = self.env.get_template("ci-image-dockerfile.tmpl") + dockerfile_path = os.path.join( + utils.get_git_top_level(), f"ci-{self.image_name}/Dockerfile" ) - with open(image_data_path) as f: - image_data = yaml.load(f, Loader=yaml.FullLoader) - template = self.env.get_template("ci-image-readme.tmpl") + with open(dockerfile_path) as f: + ok = f.read() == template.render(image_data) + return dockerfile_path, ok + + def generate_readme(self): + image_data = self._get_image_data() + image_data["index"] = index.Index() + image_data["constants"] = constants + template = self.env.get_template("ci-image-readme.tmpl") readme_path = os.path.join( utils.get_git_top_level(), f"ci-{self.image_name}/Readme.md" ) - image_data["index"] = index.Index() - image_data["constants"] = constants - with open(readme_path, "w") as f: f.write(template.render(image_data)) return readme_path + + def check_readme(self): + image_data = self._get_image_data() + image_data["index"] = index.Index() + image_data["constants"] = constants + + template = self.env.get_template("ci-image-readme.tmpl") + readme_path = os.path.join( + utils.get_git_top_level(), f"ci-{self.image_name}/Readme.md" + ) + + with open(readme_path) as f: + ok = f.read() == template.render(image_data) + return readme_path, ok From a170524d36ee63468b16eecc3b7d976f2b1149f9 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Thu, 5 Nov 2020 23:11:51 +1100 Subject: [PATCH 055/132] Updated changelog and enabled cuda-11 for osd Signed-off-by: Aloys Baillet --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++- scripts/vfx/build_opensubdiv.sh | 8 +++--- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f13cfb22..a49d642d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,50 @@ All notable changes to this project will be documented in this file. * New `aswfdocker dockergen` command line tool to re-generate CI Image Dockerfiles and Readmes from a set of templates and current versions. ### Changed -* All CI images are now templated and come with a `Readme.md` containing all the current package version numbers. +* All CI images (except `ci-common`) are now automatically generated from a template and come with a `Readme.md` (also templated) containing all the current package version numbers. * All package versions have been moved from version bash scripts into the `versions.yaml` file, which enables the tagging of the image with these versions. +* VFX 2021 images are now built against CUDA-11.1. + +### New CI Packages: +* `ci-package-clang:1-clang6.2`, `ci-package-clang:1-clang7.2`, `ci-package-clang:1-clang8.2`, `ci-package-clang:1-clang9.2`, `ci-package-clang:1-clang10.2`, `ci-package-clang:2-clang10.2`, `ci-package-clang:2-clang11.2` +* `ci-package-ninja:1.3`, `ci-package-ninja:2.1` +* `ci-package-cmake:2018.0`, `ci-package-cmake:2019.0`, `ci-package-cmake:2020.0`, `ci-package-cmake:2021.0` +* `ci-package-python:2018.2`, `ci-package-python:2019.2`, `ci-package-python:2020.2`, `ci-package-python:2021.1` +* `ci-package-boost:2018.2`, `ci-package-boost:2019.2`, `ci-package-boost:2020.2`, `ci-package-boost:2021.1` +* `ci-package-tbb:2018.2`, `ci-package-tbb:2019.2`, `ci-package-tbb:2020.2`, `ci-package-tbb:2021.1` +* `ci-package-cppunit:2018.2`, `ci-package-cppunit:2019.2`, `ci-package-cppunit:2020.2`, `ci-package-cppunit:2021.1` +* `ci-package-glew:2018.2`, `ci-package-glew:2019.2`, `ci-package-glew:2020.2`, `ci-package-glew:2021.2` +* `ci-package-glfw:2018.2`, `ci-package-glfw:2019.2`, `ci-package-glfw:2020.2`, `ci-package-glfw:2021.2` +* `ci-package-log4cplus:2018.2`, `ci-package-log4cplus:2019.2`, `ci-package-log4cplus:2020.2`, `ci-package-log4cplus:2021.1` +* `ci-package-qt:2018.2`, `ci-package-qt:2019.2`, `ci-package-qt:2020.2`, `ci-package-qt:2021.1` +* `ci-package-pyside:2018.2`, `ci-package-pyside:2019.2`, `ci-package-pyside:2020.2`, `ci-package-pyside:2021.1` +* `ci-package-blosc:2018.2`, `ci-package-blosc:2019.2`, `ci-package-blosc:2020.2`, `ci-package-blosc:2021.1` +* `ci-package-openexr:2018.2`, `ci-package-openexr:2019.2`, `ci-package-openexr:2020.2`, `ci-package-openexr:2021.1` +* `ci-package-alembic:2018.2`, `ci-package-alembic:2019.2`, `ci-package-alembic:2020.2`, `ci-package-alembic:2021.1` +* `ci-package-ocio:2018.2`, `ci-package-ocio:2019.2`, `ci-package-ocio:2020.2`, `ci-package-ocio:2021.2` +* `ci-package-oiio:2018.2`, `ci-package-oiio:2019.2`, `ci-package-oiio:2020.2`, `ci-package-oiio:2021.2` +* `ci-package-opensubdiv:2018.2`, `ci-package-opensubdiv:2019.2`, `ci-package-opensubdiv:2020.2`, `ci-package-opensubdiv:2021.2` +* `ci-package-ptex:2018.2`, `ci-package-ptex:2019.2`, `ci-package-ptex:2020.2`, `ci-package-ptex:2021.1` +* `ci-package-openvdb:2019.2`, `ci-package-openvdb:2020.2`, `ci-package-openvdb:2021.1` +* `ci-package-usd:2019.3`, `ci-package-usd:2020.2`, `ci-package-usd:2021.2` +* `ci-package-otio:2019.1`, `ci-package-otio:2020.1`, `ci-package-otio:2021.1` +* `ci-package-partio:2018.1`, `ci-package-partio:2019.1`, `ci-package-partio:2020.1`, `ci-package-partio:2021.1` +* `ci-package-osl:2018.1`, `ci-package-osl:2019.1`, `ci-package-osl:2020.1`, `ci-package-osl:2021.2` + +### New CI Images: +* `ci-common:1-clang6.7`, `ci-common:1-clang7.7`, `ci-common:1-clang8.7`, `ci-common:1-clang9.7`, `ci-common:1-clang10.7`, `ci-common:2-clang10.2`, `ci-common:2-clang11.2` +* `ci-base:2018.7`, `ci-base:2019.7`, `ci-base:2020.7`, `ci-base:2021.3` +* `ci-baseqt:2018.0`, `ci-baseqt:2019.0`, `ci-baseqt:2020.0`, `ci-baseqt:2021.0` +* `ci-openexr:2018.7`, `ci-openexr:2019.7`, `ci-openexr:2020.7`, `ci-openexr:2021.3` +* `ci-openvdb:2018-clang7.7`, `ci-openvdb:2019-clang6.7`, `ci-openvdb:2019-clang7.7`, `ci-openvdb:2019-clang8.7`, `ci-openvdb:2019-clang9.7`, `ci-openvdb:2020-clang7.7`, `ci-openvdb:2021-clang10.3` +* `ci-opencue:2018.7`, `ci-opencue:2019.7`, `ci-opencue:2020.7`, `ci-opencue:2021.3` +* `ci-ocio:2018.8`, `ci-ocio:2019.8`, `ci-ocio:2020.7`, `ci-ocio:2021.3` +* `ci-osl:2018-clang7.3`, `ci-osl:2019-clang6.3`, `ci-osl:2019-clang7.3`, `ci-osl:2019-clang8.3`, `ci-osl:2019-clang9.3`, `ci-osl:2019-clang10.3`, `ci-osl:2020-clang7.3`, `ci-osl:2021-clang10.3`, `ci-osl:2021-clang11.3` +* `ci-otio:2019.2`, `ci-otio:2020.2`, `ci-otio:2021.2` +* `ci-usd:2019.8`, `ci-usd:2020.7`, `ci-usd:2021.3` +* `ci-vfxall:2019-clang6.11`, `ci-vfxall:2019-clang7.11`, `ci-vfxall:2019-clang8.11`, `ci-vfxall:2019-clang9.11`, `ci-vfxall:2020-clang7.9`, `ci-vfxall:2021-clang10.4` + + ## 2020-10-21 ### Added diff --git a/scripts/vfx/build_opensubdiv.sh b/scripts/vfx/build_opensubdiv.sh index 6b038a36..1ef1c4c7 100755 --- a/scripts/vfx/build_opensubdiv.sh +++ b/scripts/vfx/build_opensubdiv.sh @@ -32,10 +32,9 @@ index 4f3cd9d40..e01dc0915 100644 EOF if [[ $DTS_VERSION == 9 && $CUDA_VERSION == 10* ]]; then - # CUDA-10 is not compatible with GCC-9... - EXTRA_ARGS=-DNO_CUDA=1 + CUDA_COMPUTE_VERSION=compute_30 else - EXTRA_ARGS="" + CUDA_COMPUTE_VERSION=compute_50 fi mkdir build @@ -55,8 +54,7 @@ cmake .. \ -DNO_REGRESSION=1 \ -DNO_DOC=1 \ -DNO_TUTORIALS=ON \ - -DOSD_CUDA_NVCC_FLAGS="--gpu-architecture compute_30" \ - $EXTRA_ARGS + -DOSD_CUDA_NVCC_FLAGS="--gpu-architecture ${CUDA_COMPUTE_VERSION}" make # random cuda build failure when more than one job in //... make install From 8535b9d70696dd08ec7feb73c458ebab32135c95 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Fri, 6 Nov 2020 00:28:59 +1100 Subject: [PATCH 056/132] Added docker hub description upload Signed-off-by: Aloys Baillet --- .github/workflows/release.yml | 8 +++++++ Pipfile | 1 + Pipfile.lock | 18 ++++++++-------- python/aswfdocker/cli/aswfdocker.py | 33 +++++++++++++++++++++++++++++ python/aswfdocker/dockergen.py | 28 +++++++++++++++++++++++- python/aswfdocker/utils.py | 8 +++++++ 6 files changed, 86 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f77270f3..157f977a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,3 +41,11 @@ jobs: build \ --full-name $GITHUB_REF \ --push YES + + - name: Update Docker Hub Description + run: | + aswfdocker \ + pushoverview \ + --username aswfdocker \ + --password ${{ secrets.DOCKERHUB_PASSWORD }} \ + --full-name $GITHUB_REF diff --git a/Pipfile b/Pipfile index 5f7766bb..41d0ad96 100644 --- a/Pipfile +++ b/Pipfile @@ -18,6 +18,7 @@ click = "*" pygithub = "*" pyyaml = "*" jinja2 = "*" +requests = "*" [requires] python_version = "3.7" diff --git a/Pipfile.lock b/Pipfile.lock index 3659c78c..8b795773 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "f629358898b923f61f974c4951028450a9f56e52edc90ce1e8248e35fe94799c" + "sha256": "3c565ce3d24411f9e7fb5104e2db47e2e6c251ad3c056e9d81cf35e780b6e11c" }, "pipfile-spec": 6, "requires": { @@ -143,7 +143,7 @@ "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4", "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "index": "pypi", "version": "==2.23.0" }, "urllib3": { @@ -179,11 +179,11 @@ }, "attrs": { "hashes": [ - "sha256:26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594", - "sha256:fce7fc47dfc976152e82d53ff92fa0407700c21acd20886a13777a0d20e655dc" + "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6", + "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==20.2.0" + "version": "==20.3.0" }, "black": { "hashes": [ @@ -688,7 +688,7 @@ "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4", "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "index": "pypi", "version": "==2.23.0" }, "requirements-detector": { @@ -699,11 +699,11 @@ }, "requirementslib": { "hashes": [ - "sha256:c1bf68ee654fab14d11644e0aa8448ab694b18a767efd3166c7bba622f449529", - "sha256:ed6119a92370513236a017848314b1a425f70a0f105668d46fcd533ec043df7e" + "sha256:029dd232c5e384ce9b3d7c14876558f9b6176e564ac3628de149243667ccdaa0", + "sha256:fe4486d936489239ae2f10b114fcc5e81e13e41fe742b924c2970be32c6efeb2" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==1.5.14" + "version": "==1.5.15" }, "setoptconf": { "hashes": [ diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index bc8e801c..27213732 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -427,3 +427,36 @@ def dockergen(context, image_name, check): click.echo(f"Generated {path}") path = aswf_dockergen.DockerGen(image).generate_readme() click.echo(f"Generated {path}") + + +@cli.command() +@common_image_options +@click.option( + "--username", "-u", help="DockerHub username.", +) +@click.option( + "--password", "-p", help="DockerHub password", +) +@pass_build_info +def pushoverview( + build_info, ci_image_type, group, version, full_name, target, username, password, +): + """Pushes the Docker Image Readme file to DockerHub + """ + group_info = get_group_info( + build_info, ci_image_type, group, version, full_name, target + ) + token = utils.get_dockerhub_token(username, password) + for image, _ in group_info.iter_images_versions(): + dg = aswf_dockergen.DockerGen(image.replace("ci-", "")) + if dg.push_overview(build_info.docker_org, token): + click.secho( + f"Successfully pushed description to image {build_info.docker_org}/{image}", + fg="green", + ) + else: + click.secho( + f"Failed to push description to image {build_info.docker_org}/{image}", + fg="red", + ) + click.get_current_context().exit(1) diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index 23f7a8b7..fe518b78 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -5,7 +5,7 @@ """ import logging import os - +import requests import yaml from jinja2 import Environment, PackageLoader @@ -76,3 +76,29 @@ def check_readme(self): with open(readme_path) as f: ok = f.read() == template.render(image_data) return readme_path, ok + + def push_overview(self, docker_org, token): + readme_path = os.path.join( + utils.get_git_top_level(), f"ci-{self.image_name}/Readme.md" + ) + + with open(readme_path) as f: + full_description = f.read() + + image_data = self._get_image_data() + + body = { + # "registry": "registry-1.docker.io", + "description": image_data["ci_image_title"] + + "\n" + + image_data["ci_image_description"], + "full_description": full_description, + } + url = ( + f"https://hub.docker.com/v2/repositories/{docker_org}/ci-{self.image_name}/" + ) + logger.debug("Patching description url %s", url) + response = requests.patch( + url, json=body, headers={"Authorization": f"JWT {token}"}, + ) + return response.status_code == 200 diff --git a/python/aswfdocker/utils.py b/python/aswfdocker/utils.py index e41af520..718d54f8 100644 --- a/python/aswfdocker/utils.py +++ b/python/aswfdocker/utils.py @@ -10,6 +10,7 @@ import logging import json import urllib.request +import requests from aswfdocker import constants @@ -123,6 +124,7 @@ def get_group_from_image(image_type: constants.ImageType, image: str): raise RuntimeError(f"Cannot find group for image {image}") +<<<<<<< HEAD def get_image_pull_count(docker_org, image): url = f"https://hub.docker.com/v2/repositories/{docker_org}/{image}" try: @@ -161,3 +163,9 @@ def iter_all_images(): for _, images in constants.GROUPS[image_type].items(): for image in images: yield org, image_type, image +======= +def get_dockerhub_token(username, password): + body = {"username": username, "password": password} + response = requests.post("https://hub.docker.com/v2/users/login", json=body) + return response.json()["token"] +>>>>>>> Added docker hub description upload From f1a950e58105304a2cf2bf22d9f591ed8da3f249 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Fri, 6 Nov 2020 00:31:10 +1100 Subject: [PATCH 057/132] Run dockergen --check during tests Signed-off-by: Aloys Baillet --- .github/workflows/python.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index d71a6fc5..92870c9b 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -23,3 +23,6 @@ jobs: - run: pipenv run pre-commit run --all-files name: Run all pre-commit tests + + - run: pipenv run aswfdocker dockergen --check + name: Check that all templated Dockerfile and Readme.md are up to date From 5b9484800207ce1ddbbb5ce592a7b25703c27fac Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Fri, 6 Nov 2020 07:41:28 +1100 Subject: [PATCH 058/132] Synced setup.py from pipenv Signed-off-by: Aloys Baillet --- setup.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index bff7f454..18e72957 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name="aswfdocker", - version="0.2.0", + version="0.3.0", author="Aloys Baillet", author_email="aloys.baillet+github@gmail.com", description="ASWF Docker Utilities", @@ -25,13 +25,15 @@ "certifi==2020.4.5.1", "chardet==3.0.4", "click==7.1.2", - "deprecated==1.2.10", - "idna==2.9", + "deprecated==1.2.10; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "idna==2.9; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "jinja2==2.11.2", + "markupsafe==1.1.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "pygithub==1.51", "pyjwt==1.7.1", "pyyaml==5.3.1", "requests==2.23.0", - "urllib3==1.25.9", + "urllib3==1.25.9; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", "wrapt==1.12.1", ], python_requires=">=3.6", From 895a7a999a72c47de28ec1f1c2abdbb400b39dc1 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Fri, 6 Nov 2020 07:45:48 +1100 Subject: [PATCH 059/132] Added a doc line on dockergen Signed-off-by: Aloys Baillet --- CONTRIBUTING.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 58b40c1c..6549bf1d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -295,6 +295,10 @@ Example use: migrate a single package from `aswftesting` to `aswf` dockerhub org aswfdocker --verbose migrate --from aswftesting --to aswf --package usd ``` +### Updating versions +If a version number of a package or an image needs to be updated, the `versions.yaml` file is the main data source. +In order to update the templated images with updated version numbers, run `aswfdocker dockergen`. + ### Manually push new packages When rebuilding all packages from the CI is overkill, and if you have access to the right dockerhub organisations, it is possible to manually build and push packages and images by overriding the automatic discovery of current repo and branch. From ddf5dda462be9d366e9698423003311279be9071 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Fri, 6 Nov 2020 21:55:14 +1100 Subject: [PATCH 060/132] Addressed feedback on yaml files, also templating ci-common Signed-off-by: Aloys Baillet --- .github/workflows/python.yml | 13 ++- CHANGELOG.md | 2 +- CONTRIBUTING.md | 2 +- ci-base/Dockerfile | 37 ++++---- ci-base/{Readme.md => README.md} | 12 ++- ci-base/data.yaml | 15 ---- ci-base/image.yaml | 18 ++++ ci-baseqt/Dockerfile | 43 +++++---- ci-baseqt/{Readme.md => README.md} | 12 ++- ci-baseqt/data.yaml | 17 ---- ci-baseqt/image.yaml | 20 +++++ ci-common/Dockerfile | 90 +++++++++++-------- ci-common/README.md | 75 ++++++++++++++++ ci-common/image.yaml | 46 ++++++++++ ci-ocio/Dockerfile | 39 ++++---- ci-ocio/{Readme.md => README.md} | 12 ++- ci-ocio/{data.yaml => image.yaml} | 9 +- ci-opencue/Dockerfile | 29 +++--- ci-opencue/{Readme.md => README.md} | 12 ++- ci-opencue/{data.yaml => image.yaml} | 11 ++- ci-openexr/Dockerfile | 29 +++--- ci-openexr/{Readme.md => README.md} | 12 ++- ci-openexr/{data.yaml => image.yaml} | 9 +- ci-openvdb/Dockerfile | 39 ++++---- ci-openvdb/{Readme.md => README.md} | 21 +++-- ci-openvdb/{data.yaml => image.yaml} | 9 +- ci-osl/Dockerfile | 39 ++++---- ci-osl/{Readme.md => README.md} | 27 ++++-- ci-osl/{data.yaml => image.yaml} | 9 +- ci-otio/Dockerfile | 33 ++++--- ci-otio/{Readme.md => README.md} | 9 +- ci-otio/{data.yaml => image.yaml} | 11 ++- ci-usd/Dockerfile | 58 ++++++------ ci-usd/{Readme.md => README.md} | 9 +- ci-usd/{data.yaml => image.yaml} | 11 +-- ci-vfxall/Dockerfile | 69 +++++++------- ci-vfxall/{Readme.md => README.md} | 18 ++-- ci-vfxall/{data.yaml => image.yaml} | 9 +- python/aswfdocker/cli/aswfdocker.py | 10 ++- .../aswfdocker/data/ci-image-dockerfile.tmpl | 62 +++++++++---- python/aswfdocker/data/ci-image-readme.tmpl | 8 +- python/aswfdocker/dockergen.py | 23 ++--- python/aswfdocker/index.py | 3 + versions.yaml | 11 +++ 44 files changed, 653 insertions(+), 399 deletions(-) rename ci-base/{Readme.md => README.md} (66%) delete mode 100644 ci-base/data.yaml create mode 100644 ci-base/image.yaml rename ci-baseqt/{Readme.md => README.md} (68%) delete mode 100644 ci-baseqt/data.yaml create mode 100644 ci-baseqt/image.yaml create mode 100644 ci-common/README.md create mode 100644 ci-common/image.yaml rename ci-ocio/{Readme.md => README.md} (68%) rename ci-ocio/{data.yaml => image.yaml} (58%) rename ci-opencue/{Readme.md => README.md} (56%) rename ci-opencue/{data.yaml => image.yaml} (58%) rename ci-openexr/{Readme.md => README.md} (58%) rename ci-openexr/{data.yaml => image.yaml} (51%) rename ci-openvdb/{Readme.md => README.md} (60%) rename ci-openvdb/{data.yaml => image.yaml} (57%) rename ci-osl/{Readme.md => README.md} (61%) rename ci-osl/{data.yaml => image.yaml} (60%) rename ci-otio/{Readme.md => README.md} (66%) rename ci-otio/{data.yaml => image.yaml} (56%) rename ci-usd/{Readme.md => README.md} (79%) rename ci-usd/{data.yaml => image.yaml} (65%) rename ci-vfxall/{Readme.md => README.md} (76%) rename ci-vfxall/{data.yaml => image.yaml} (60%) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 92870c9b..2edb995a 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -1,7 +1,16 @@ name: Test Python aswfdocker Library on: - [push] + push: + branches: + - '*' + paths-ignore: + - '**.md' + pull_request: + branches: + - '*' + paths-ignore: + - '**.md' jobs: python: @@ -25,4 +34,4 @@ jobs: name: Run all pre-commit tests - run: pipenv run aswfdocker dockergen --check - name: Check that all templated Dockerfile and Readme.md are up to date + name: Check that all templated Dockerfile and README.md are up to date diff --git a/CHANGELOG.md b/CHANGELOG.md index a49d642d..a2694480 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file. * New `aswfdocker dockergen` command line tool to re-generate CI Image Dockerfiles and Readmes from a set of templates and current versions. ### Changed -* All CI images (except `ci-common`) are now automatically generated from a template and come with a `Readme.md` (also templated) containing all the current package version numbers. +* All CI images (except `ci-common`) are now automatically generated from a template and come with a `README.md` (also templated) containing all the current package version numbers. * All package versions have been moved from version bash scripts into the `versions.yaml` file, which enables the tagging of the image with these versions. * VFX 2021 images are now built against CUDA-11.1. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6549bf1d..0eafc56b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -267,7 +267,7 @@ All new source files should begin with a copyright and license stating: Any non-trivial change to the docker images should be followed by incrementing the corresponding image version. We use MAJOR.MINOR versioning for all images. -Versioning is further explained in the [Readme](README.md#version) file. +Versioning is further explained in the [README](README.md#version) file. ## Releasing new Docker Images diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 040faf22..1ac66c4b 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -7,8 +7,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG BOOST_VERSION ARG CMAKE_VERSION @@ -19,25 +17,23 @@ ARG LOG4CPLUS_VERSION ARG PYTHON_VERSION ARG TBB_VERSION ARG NUMPY_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-$LOG4CPLUS_VERSION as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$VFXPLATFORM_VERSION-$LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG BOOST_VERSION ARG CMAKE_VERSION @@ -48,6 +44,8 @@ ARG LOG4CPLUS_VERSION ARG PYTHON_VERSION ARG TBB_VERSION ARG NUMPY_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-base" @@ -71,13 +69,11 @@ LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV BOOST_VERSION=$BOOST_VERSION ENV CMAKE_VERSION=$CMAKE_VERSION ENV CPPUNIT_VERSION=$CPPUNIT_VERSION @@ -87,10 +83,10 @@ ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION ENV PYTHON_VERSION=$PYTHON_VERSION ENV TBB_VERSION=$TBB_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-cppunit /. /usr/local/ @@ -99,5 +95,8 @@ COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-log4cplus /. /usr/local/ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ +COPY ci-base/README.md ci-base/image.yaml /usr/local/aswf/ + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-base/Readme.md b/ci-base/README.md similarity index 66% rename from ci-base/Readme.md rename to ci-base/README.md index c8472e47..882f8ce2 100644 --- a/ci-base/Readme.md +++ b/ci-base/README.md @@ -10,7 +10,7 @@ Warning: this file is automatically generated from a template! Contains: python, tbb, boost and other base libraries -## [aswf/base:2018.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2018.7) +## [aswf/ci-base:2018.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2018.7) Contains: * boost-1.61.0 * cmake-3.9.4 @@ -21,8 +21,9 @@ Contains: * python-2.7.15 * tbb-2017_U6 * numpy-1.14 +* vfxplatform-2018 -## [aswf/base:2019.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2019.7) +## [aswf/ci-base:2019.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2019.7) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -33,8 +34,9 @@ Contains: * python-2.7.15 * tbb-2018 * numpy-1.14 +* vfxplatform-2019 -## [aswf/base:2020.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2020.7) +## [aswf/ci-base:2020.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2020.7) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -45,8 +47,9 @@ Contains: * python-3.7.3 * tbb-2019_U6 * numpy-1.16 +* vfxplatform-2020 -## [aswf/base:2021.3](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2021.3) +## [aswf/ci-base:2021.3](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2021.3) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -57,4 +60,5 @@ Contains: * python-3.7.3 * tbb-2019_U6 * numpy-1.16 +* vfxplatform-2021 diff --git a/ci-base/data.yaml b/ci-base/data.yaml deleted file mode 100644 index 21fb57d7..00000000 --- a/ci-base/data.yaml +++ /dev/null @@ -1,15 +0,0 @@ -ci_image_name: "base" -ci_image_title: "Base CI Docker Image" -ci_image_description: | - Contains: python, tbb, boost and other base libraries -packages: - - boost - - cmake - - cppunit - - glew - - glfw - - log4cplus - - python - - tbb -implicit_packages: - - numpy diff --git a/ci-base/image.yaml b/ci-base/image.yaml new file mode 100644 index 00000000..d262ff1d --- /dev/null +++ b/ci-base/image.yaml @@ -0,0 +1,18 @@ +name: "base" +title: "Base CI Docker Image" +description: | + Contains: python, tbb, boost and other base libraries +packages: + - boost + - cmake + - cppunit + - glew + - glfw + - log4cplus + - python + - tbb +implicit_packages: + - numpy + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index 3aa6ae0d..c89ad712 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -7,8 +7,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG BOOST_VERSION ARG CMAKE_VERSION @@ -21,27 +19,25 @@ ARG TBB_VERSION ARG QT_VERSION ARG PYSIDE_VERSION ARG NUMPY_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-$LOG4CPLUS_VERSION as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-$QT_VERSION as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-$PYSIDE_VERSION as ci-package-pyside - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$VFXPLATFORM_VERSION-$LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-qt:$VFXPLATFORM_VERSION-$QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:$VFXPLATFORM_VERSION-$PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-baseqt ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG BOOST_VERSION ARG CMAKE_VERSION @@ -54,6 +50,8 @@ ARG TBB_VERSION ARG QT_VERSION ARG PYSIDE_VERSION ARG NUMPY_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-baseqt" @@ -79,13 +77,11 @@ LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" LABEL io.aswf.docker.versions.qt="$QT_VERSION" LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV BOOST_VERSION=$BOOST_VERSION ENV CMAKE_VERSION=$CMAKE_VERSION ENV CPPUNIT_VERSION=$CPPUNIT_VERSION @@ -97,10 +93,10 @@ ENV TBB_VERSION=$TBB_VERSION ENV QT_VERSION=$QT_VERSION ENV PYSIDE_VERSION=$PYSIDE_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-cppunit /. /usr/local/ @@ -111,5 +107,8 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ +COPY ci-baseqt/README.md ci-baseqt/image.yaml /usr/local/aswf/ + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-baseqt/Readme.md b/ci-baseqt/README.md similarity index 68% rename from ci-baseqt/Readme.md rename to ci-baseqt/README.md index ff8ca394..16bda42f 100644 --- a/ci-baseqt/Readme.md +++ b/ci-baseqt/README.md @@ -10,7 +10,7 @@ Warning: this file is automatically generated from a template! Contains: python, tbb, boost, Qt, PySide and other base libraries -## [aswf/baseqt:2018.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2018.0) +## [aswf/ci-baseqt:2018.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2018.0) Contains: * boost-1.61.0 * cmake-3.9.4 @@ -23,8 +23,9 @@ Contains: * qt-5.6.1 * pyside-2.0.0 * numpy-1.14 +* vfxplatform-2018 -## [aswf/baseqt:2019.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2019.0) +## [aswf/ci-baseqt:2019.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2019.0) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -37,8 +38,9 @@ Contains: * qt-5.12.6 * pyside-5.12.6 * numpy-1.14 +* vfxplatform-2019 -## [aswf/baseqt:2020.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2020.0) +## [aswf/ci-baseqt:2020.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2020.0) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -51,8 +53,9 @@ Contains: * qt-5.12.6 * pyside-5.12.6 * numpy-1.16 +* vfxplatform-2020 -## [aswf/baseqt:2021.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2021.0) +## [aswf/ci-baseqt:2021.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2021.0) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -65,4 +68,5 @@ Contains: * qt-5.12.8 * pyside-5.12.6 * numpy-1.16 +* vfxplatform-2021 diff --git a/ci-baseqt/data.yaml b/ci-baseqt/data.yaml deleted file mode 100644 index 5f05928d..00000000 --- a/ci-baseqt/data.yaml +++ /dev/null @@ -1,17 +0,0 @@ -ci_image_name: "baseqt" -ci_image_title: "Base with Qt and PySide CI Docker Image" -ci_image_description: | - Contains: python, tbb, boost, Qt, PySide and other base libraries -packages: - - boost - - cmake - - cppunit - - glew - - glfw - - log4cplus - - python - - tbb - - qt - - pyside -implicit_packages: - - numpy diff --git a/ci-baseqt/image.yaml b/ci-baseqt/image.yaml new file mode 100644 index 00000000..73bb3383 --- /dev/null +++ b/ci-baseqt/image.yaml @@ -0,0 +1,20 @@ +name: "baseqt" +title: "Base with Qt and PySide CI Docker Image" +description: | + Contains: python, tbb, boost, Qt, PySide and other base libraries +packages: + - boost + - cmake + - cppunit + - glew + - glfw + - log4cplus + - python + - tbb + - qt + - pyside +implicit_packages: + - numpy + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index 67d0a152..633315f1 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -1,54 +1,75 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! + ARG ASWF_ORG ARG ASWF_PKG_ORG -ARG CCACHE_VERSION ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION + ARG CLANG_VERSION +ARG NINJA_VERSION ARG CUDA_VERSION +ARG CCACHE_VERSION ARG DTS_VERSION -ARG NINJA_VERSION ARG SONAR_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION}-${CLANG_VERSION} as ci-package-clang -FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION}-${NINJA_VERSION} as ci-package-ninja +FROM ${ASWF_PKG_ORG}/ci-package-clang:$CI_COMMON_VERSION-$CLANG_VERSION as ci-package-clang +FROM ${ASWF_PKG_ORG}/ci-package-ninja:$CI_COMMON_VERSION-$NINJA_VERSION as ci-package-ninja FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-common + ARG ASWF_ORG -ARG CCACHE_VERSION -ARG CI_COMMON_VERSION +ARG ASWF_VERSION + ARG CLANG_VERSION -ARG DTS_VERSION ARG NINJA_VERSION +ARG CUDA_VERSION +ARG CCACHE_VERSION +ARG DTS_VERSION ARG SONAR_VERSION + LABEL org.opencontainers.image.name="$ASWF_ORG/ci-common" LABEL org.opencontainers.image.title="Common CI Docker Image" -LABEL org.opencontainers.image.description="Contains: clang:${CLANG_VERSION}, ninja:${NINJA_VERSION}, sonar:${SONAR_VERSION}" +LABEL org.opencontainers.image.description="Contains: gcc, clang, ninja, ccache and all base OS libraries\ +" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-common/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.version="${CI_COMMON_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.clang="${CLANG_VERSION}" -LABEL io.aswf.docker.versions.ninja="${NINJA_VERSION}" -LABEL io.aswf.docker.versions.sonar="${SONAR_VERSION}" +LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" -USER root +LABEL io.aswf.docker.versions.clang="$CLANG_VERSION" +LABEL io.aswf.docker.versions.ninja="$NINJA_VERSION" +LABEL io.aswf.docker.versions.cuda="$CUDA_VERSION" +LABEL io.aswf.docker.versions.ccache="$CCACHE_VERSION" +LABEL io.aswf.docker.versions.dts="$DTS_VERSION" +LABEL io.aswf.docker.versions.sonar="$SONAR_VERSION" -COPY scripts/common/install_yumpackages.sh \ - /tmp/ -ENV CCACHE_VERSION=${CCACHE_VERSION} -ENV CLANG_VERSION=${CLANG_VERSION} -ENV NINJA_VERSION=${NINJA_VERSION} -ENV SONAR_VERSION=${SONAR_VERSION} -ENV DTS_VERSION=${DTS_VERSION} ENV ASWF_ORG=${ASWF_ORG} -ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} +ENV ASWF_VERSION=${ASWF_VERSION} +ENV CLANG_VERSION=$CLANG_VERSION +ENV NINJA_VERSION=$NINJA_VERSION +ENV CUDA_VERSION=$CUDA_VERSION +ENV CCACHE_VERSION=$CCACHE_VERSION +ENV DTS_VERSION=$DTS_VERSION +ENV SONAR_VERSION=$SONAR_VERSION + + +COPY --from=ci-package-clang /. /usr/local/ +COPY --from=ci-package-ninja /. /usr/local/ +COPY ci-common/README.md ci-common/image.yaml /usr/local/aswf/ + +USER root + +COPY scripts/common/install_yumpackages.sh \ + /tmp/ RUN /tmp/install_yumpackages.sh @@ -61,21 +82,20 @@ ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib MANPATH=/opt/rh/rh-git218/root/usr/share/man COPY scripts/common/install_sonar.sh \ - scripts/common/install_ccache.sh \ - scripts/common/install_dev_cmake.sh \ - /tmp/ - -COPY --from=ci-package-clang /. /usr/local/ -COPY --from=ci-package-ninja /. /usr/local/ + scripts/common/install_ccache.sh \ + scripts/common/install_dev_cmake.sh \ + /tmp/ RUN export DOWNLOADS_DIR=/tmp/downloads && \ - mkdir /tmp/downloads && \ - /tmp/install_sonar.sh && \ - export PATH=${PATH}:/opt/aswfbuilder/bin && \ - /tmp/install_dev_cmake.sh && \ - /tmp/install_ccache.sh && \ - rm -rf /tmp/downloads && \ - rm -rf /opt/aswfbuilder + mkdir /tmp/downloads && \ + /tmp/install_sonar.sh && \ + export PATH=${PATH}:/opt/aswfbuilder/bin && \ + /tmp/install_dev_cmake.sh && \ + /tmp/install_ccache.sh && \ + rm -rf /tmp/downloads && \ + rm -rf /opt/aswfbuilder COPY scripts/common/setup_aswfuser.sh /tmp RUN /tmp/setup_aswfuser.sh + + diff --git a/ci-common/README.md b/ci-common/README.md new file mode 100644 index 00000000..fe7fe6e7 --- /dev/null +++ b/ci-common/README.md @@ -0,0 +1,75 @@ + + +# Common CI Docker Image + +Contains: gcc, clang, ninja, ccache and all base OS libraries + + +## [aswf/ci-common:1-clang6.7](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=1-clang6.7) +Contains: +* clang-6.0.1 +* ninja-1.10.1 +* cuda-10.2 +* ccache-4.0 +* dts-6 +* sonar-4.5.0.2216 + +## [aswf/ci-common:1-clang7.7](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=1-clang7.7) +Contains: +* clang-7.1.0 +* ninja-1.10.1 +* cuda-10.2 +* ccache-4.0 +* dts-6 +* sonar-4.5.0.2216 + +## [aswf/ci-common:1-clang8.7](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=1-clang8.7) +Contains: +* clang-8.0.1 +* ninja-1.10.1 +* cuda-10.2 +* ccache-4.0 +* dts-6 +* sonar-4.5.0.2216 + +## [aswf/ci-common:1-clang9.7](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=1-clang9.7) +Contains: +* clang-9.0.1 +* ninja-1.10.1 +* cuda-10.2 +* ccache-4.0 +* dts-6 +* sonar-4.5.0.2216 + +## [aswf/ci-common:1-clang10.7](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=1-clang10.7) +Contains: +* clang-10.0.1 +* ninja-1.10.1 +* cuda-10.2 +* ccache-4.0 +* dts-6 +* sonar-4.5.0.2216 + +## [aswf/ci-common:2-clang10.2](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=2-clang10.2) +Contains: +* clang-10.0.1 +* ninja-1.10.1 +* cuda-11.1 +* ccache-4.0 +* dts-9 +* sonar-4.5.0.2216 + +## [aswf/ci-common:2-clang11.2](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=2-clang11.2) +Contains: +* clang-11.0.0 +* ninja-1.10.1 +* cuda-11.1 +* ccache-4.0 +* dts-9 +* sonar-4.5.0.2216 + diff --git a/ci-common/image.yaml b/ci-common/image.yaml new file mode 100644 index 00000000..9e217232 --- /dev/null +++ b/ci-common/image.yaml @@ -0,0 +1,46 @@ +name: "common" +title: "Common CI Docker Image" +description: | + Contains: gcc, clang, ninja, ccache and all base OS libraries +packages: + - clang + - ninja +implicit_packages: + - cuda + - ccache + - dts + - sonar +docker_from: nvidia/cudagl:${CUDA_VERSION}-devel-centos7 +docker_package_version: $CI_COMMON_VERSION +docker_commands: | + USER root + + COPY scripts/common/install_yumpackages.sh \ + /tmp/ + + RUN /tmp/install_yumpackages.sh + + RUN mkdir /opt/aswf + WORKDIR /opt/aswf + + ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ + PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ + PERL5LIB=/opt/rh/rh-git218/root/usr/share/perl5/vendor_perl \ + MANPATH=/opt/rh/rh-git218/root/usr/share/man + + COPY scripts/common/install_sonar.sh \ + scripts/common/install_ccache.sh \ + scripts/common/install_dev_cmake.sh \ + /tmp/ + + RUN export DOWNLOADS_DIR=/tmp/downloads && \ + mkdir /tmp/downloads && \ + /tmp/install_sonar.sh && \ + export PATH=${PATH}:/opt/aswfbuilder/bin && \ + /tmp/install_dev_cmake.sh && \ + /tmp/install_ccache.sh && \ + rm -rf /tmp/downloads && \ + rm -rf /opt/aswfbuilder + + COPY scripts/common/setup_aswfuser.sh /tmp + RUN /tmp/setup_aswfuser.sh diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index dcc23e61..9515c86f 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -7,8 +7,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG TBB_VERSION @@ -19,25 +17,23 @@ ARG CMAKE_VERSION ARG OPENEXR_VERSION ARG OIIO_VERSION ARG NUMPY_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-$OIIO_VERSION as ci-package-oiio - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-oiio:$VFXPLATFORM_VERSION-$OIIO_VERSION as ci-package-oiio +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-ocio ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG TBB_VERSION @@ -48,6 +44,8 @@ ARG CMAKE_VERSION ARG OPENEXR_VERSION ARG OIIO_VERSION ARG NUMPY_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-ocio" @@ -72,13 +70,11 @@ LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" LABEL io.aswf.docker.versions.oiio="$OIIO_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV PYTHON_VERSION=$PYTHON_VERSION ENV TBB_VERSION=$TBB_VERSION ENV BOOST_VERSION=$BOOST_VERSION @@ -88,10 +84,10 @@ ENV CMAKE_VERSION=$CMAKE_VERSION ENV OPENEXR_VERSION=$OPENEXR_VERSION ENV OIIO_VERSION=$OIIO_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ @@ -100,5 +96,8 @@ COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-oiio /. /usr/local/ +COPY ci-ocio/README.md ci-ocio/image.yaml /usr/local/aswf/ + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-ocio/Readme.md b/ci-ocio/README.md similarity index 68% rename from ci-ocio/Readme.md rename to ci-ocio/README.md index ea722e81..637e1e8b 100644 --- a/ci-ocio/Readme.md +++ b/ci-ocio/README.md @@ -11,7 +11,7 @@ Contains: python, tbb, boost and other OpenColorIO upstream dependencies Warning: this image does *not* contain OpenColorIO itself as it is used to *build* OpenColorIO! -## [aswf/ocio:2018.8](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2018.8) +## [aswf/ci-ocio:2018.8](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2018.8) Contains: * python-2.7.15 * tbb-2017_U6 @@ -22,8 +22,9 @@ Contains: * openexr-2.2.1 * oiio-2.0.8 * numpy-1.14 +* vfxplatform-2018 -## [aswf/ocio:2019.8](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2019.8) +## [aswf/ci-ocio:2019.8](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2019.8) Contains: * python-2.7.15 * tbb-2018 @@ -34,8 +35,9 @@ Contains: * openexr-2.3.0 * oiio-2.0.8 * numpy-1.14 +* vfxplatform-2019 -## [aswf/ocio:2020.7](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2020.7) +## [aswf/ci-ocio:2020.7](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2020.7) Contains: * python-3.7.3 * tbb-2019_U6 @@ -46,8 +48,9 @@ Contains: * openexr-2.4.0 * oiio-2.1.13.0 * numpy-1.16 +* vfxplatform-2020 -## [aswf/ocio:2021.3](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2021.3) +## [aswf/ci-ocio:2021.3](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2021.3) Contains: * python-3.7.3 * tbb-2019_U6 @@ -58,4 +61,5 @@ Contains: * openexr-2.4.0 * oiio-2.1.13.0 * numpy-1.16 +* vfxplatform-2021 diff --git a/ci-ocio/data.yaml b/ci-ocio/image.yaml similarity index 58% rename from ci-ocio/data.yaml rename to ci-ocio/image.yaml index 44740f4a..b87194be 100644 --- a/ci-ocio/data.yaml +++ b/ci-ocio/image.yaml @@ -1,6 +1,6 @@ -ci_image_name: "ocio" -ci_image_title: "OpenColorIO CI Docker Image" -ci_image_description: | +name: "ocio" +title: "OpenColorIO CI Docker Image" +description: | Contains: python, tbb, boost and other OpenColorIO upstream dependencies Warning: this image does *not* contain OpenColorIO itself as it is used to *build* OpenColorIO! packages: @@ -14,3 +14,6 @@ packages: - oiio implicit_packages: - numpy + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index e117ec9e..843bef1e 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -7,29 +7,27 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG CMAKE_VERSION ARG NUMPY_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-opencue ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG CMAKE_VERSION ARG NUMPY_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-opencue" @@ -48,24 +46,25 @@ LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV PYTHON_VERSION=$PYTHON_VERSION ENV CMAKE_VERSION=$CMAKE_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ - +COPY ci-opencue/README.md ci-opencue/image.yaml /usr/local/aswf/ RUN sudo yum -y install \ java-1.8.0-openjdk.x86_64 \ java-1.8.0-openjdk-devel.x86_64 + + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-opencue/Readme.md b/ci-opencue/README.md similarity index 56% rename from ci-opencue/Readme.md rename to ci-opencue/README.md index 42ba17d4..d5b3428c 100644 --- a/ci-opencue/Readme.md +++ b/ci-opencue/README.md @@ -11,27 +11,31 @@ Contains: python, cmake and other OpenCue upstream dependencies Warning: this image does *not* contain OpenCue itself as it is used to *build* OpenCue! -## [aswf/opencue:2018.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2018.7) +## [aswf/ci-opencue:2018.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2018.7) Contains: * python-2.7.15 * cmake-3.9.4 * numpy-1.14 +* vfxplatform-2018 -## [aswf/opencue:2019.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2019.7) +## [aswf/ci-opencue:2019.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2019.7) Contains: * python-2.7.15 * cmake-3.12.4 * numpy-1.14 +* vfxplatform-2019 -## [aswf/opencue:2020.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2020.7) +## [aswf/ci-opencue:2020.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2020.7) Contains: * python-3.7.3 * cmake-3.18.4 * numpy-1.16 +* vfxplatform-2020 -## [aswf/opencue:2021.3](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2021.3) +## [aswf/ci-opencue:2021.3](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2021.3) Contains: * python-3.7.3 * cmake-3.18.4 * numpy-1.16 +* vfxplatform-2021 diff --git a/ci-opencue/data.yaml b/ci-opencue/image.yaml similarity index 58% rename from ci-opencue/data.yaml rename to ci-opencue/image.yaml index 9edd8d07..f548f462 100644 --- a/ci-opencue/data.yaml +++ b/ci-opencue/image.yaml @@ -1,6 +1,6 @@ -ci_image_name: "opencue" -ci_image_title: "OpenCue CI Docker Image" -ci_image_description: | +name: "opencue" +title: "OpenCue CI Docker Image" +description: | Contains: python, cmake and other OpenCue upstream dependencies Warning: this image does *not* contain OpenCue itself as it is used to *build* OpenCue! packages: @@ -8,7 +8,10 @@ packages: - cmake implicit_packages: - numpy -extra_commands: | + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION +docker_commands: | RUN sudo yum -y install \ java-1.8.0-openjdk.x86_64 \ java-1.8.0-openjdk-devel.x86_64 diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index f792bc7e..91f68870 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -7,32 +7,30 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG BOOST_VERSION ARG CMAKE_VERSION ARG NUMPY_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openexr ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG BOOST_VERSION ARG CMAKE_VERSION ARG NUMPY_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-openexr" @@ -52,23 +50,24 @@ LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV PYTHON_VERSION=$PYTHON_VERSION ENV BOOST_VERSION=$BOOST_VERSION ENV CMAKE_VERSION=$CMAKE_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ +COPY ci-openexr/README.md ci-openexr/image.yaml /usr/local/aswf/ + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-openexr/Readme.md b/ci-openexr/README.md similarity index 58% rename from ci-openexr/Readme.md rename to ci-openexr/README.md index ed220297..175a36ee 100644 --- a/ci-openexr/Readme.md +++ b/ci-openexr/README.md @@ -11,31 +11,35 @@ Contains: python, boost and other OpenEXR upstream dependencies Warning: this image does *not* contain OpenEXR itself as it is used to *build* OpenEXR! -## [aswf/openexr:2018.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2018.7) +## [aswf/ci-openexr:2018.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2018.7) Contains: * python-2.7.15 * boost-1.61.0 * cmake-3.9.4 * numpy-1.14 +* vfxplatform-2018 -## [aswf/openexr:2019.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2019.7) +## [aswf/ci-openexr:2019.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2019.7) Contains: * python-2.7.15 * boost-1.66.0 * cmake-3.12.4 * numpy-1.14 +* vfxplatform-2019 -## [aswf/openexr:2020.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2020.7) +## [aswf/ci-openexr:2020.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2020.7) Contains: * python-3.7.3 * boost-1.70.0 * cmake-3.18.4 * numpy-1.16 +* vfxplatform-2020 -## [aswf/openexr:2021.3](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2021.3) +## [aswf/ci-openexr:2021.3](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2021.3) Contains: * python-3.7.3 * boost-1.70.0 * cmake-3.18.4 * numpy-1.16 +* vfxplatform-2021 diff --git a/ci-openexr/data.yaml b/ci-openexr/image.yaml similarity index 51% rename from ci-openexr/data.yaml rename to ci-openexr/image.yaml index d1fa6dc4..d48c3d3d 100644 --- a/ci-openexr/data.yaml +++ b/ci-openexr/image.yaml @@ -1,6 +1,6 @@ -ci_image_name: "openexr" -ci_image_title: "OpenEXR CI Docker Image" -ci_image_description: | +name: "openexr" +title: "OpenEXR CI Docker Image" +description: | Contains: python, boost and other OpenEXR upstream dependencies Warning: this image does *not* contain OpenEXR itself as it is used to *build* OpenEXR! packages: @@ -9,3 +9,6 @@ packages: - cmake implicit_packages: - numpy + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 3db88e28..82afbe13 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -7,8 +7,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG BOOST_VERSION ARG CMAKE_VERSION @@ -19,25 +17,23 @@ ARG TBB_VERSION ARG OPENEXR_VERSION ARG BLOSC_VERSION ARG NUMPY_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-$BLOSC_VERSION as ci-package-blosc - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:$VFXPLATFORM_VERSION-$BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openvdb ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG BOOST_VERSION ARG CMAKE_VERSION @@ -48,6 +44,8 @@ ARG TBB_VERSION ARG OPENEXR_VERSION ARG BLOSC_VERSION ARG NUMPY_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-openvdb" @@ -72,13 +70,11 @@ LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV BOOST_VERSION=$BOOST_VERSION ENV CMAKE_VERSION=$CMAKE_VERSION ENV CPPUNIT_VERSION=$CPPUNIT_VERSION @@ -88,10 +84,10 @@ ENV TBB_VERSION=$TBB_VERSION ENV OPENEXR_VERSION=$OPENEXR_VERSION ENV BLOSC_VERSION=$BLOSC_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-cppunit /. /usr/local/ @@ -100,5 +96,8 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ +COPY ci-openvdb/README.md ci-openvdb/image.yaml /usr/local/aswf/ + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-openvdb/Readme.md b/ci-openvdb/README.md similarity index 60% rename from ci-openvdb/Readme.md rename to ci-openvdb/README.md index 3c527999..5b0272ff 100644 --- a/ci-openvdb/Readme.md +++ b/ci-openvdb/README.md @@ -11,7 +11,7 @@ Contains: python, boost, tbb and other OpenVDB upstream dependencies Warning: this image does *not* contain OpenVDB itself as it is used to *build* OpenVDB! -## [aswf/openvdb:2018-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2018-clang7.7) +## [aswf/ci-openvdb:2018-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2018-clang7.7) Contains: * boost-1.61.0 * cmake-3.9.4 @@ -22,8 +22,9 @@ Contains: * openexr-2.2.1 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2018 -## [aswf/openvdb:2019-clang6.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang6.7) +## [aswf/ci-openvdb:2019-clang6.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang6.7) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -34,8 +35,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/openvdb:2019-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang7.7) +## [aswf/ci-openvdb:2019-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang7.7) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -46,8 +48,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/openvdb:2019-clang8.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang8.7) +## [aswf/ci-openvdb:2019-clang8.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang8.7) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -58,8 +61,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/openvdb:2019-clang9.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang9.7) +## [aswf/ci-openvdb:2019-clang9.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2019-clang9.7) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -70,8 +74,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/openvdb:2020-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2020-clang7.7) +## [aswf/ci-openvdb:2020-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2020-clang7.7) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -82,8 +87,9 @@ Contains: * openexr-2.4.0 * blosc-1.5.0 * numpy-1.16 +* vfxplatform-2020 -## [aswf/openvdb:2021-clang10.3](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2021-clang10.3) +## [aswf/ci-openvdb:2021-clang10.3](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2021-clang10.3) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -94,4 +100,5 @@ Contains: * openexr-2.4.0 * blosc-1.20.1 * numpy-1.16 +* vfxplatform-2021 diff --git a/ci-openvdb/data.yaml b/ci-openvdb/image.yaml similarity index 57% rename from ci-openvdb/data.yaml rename to ci-openvdb/image.yaml index 3a245fc1..6100d0ff 100644 --- a/ci-openvdb/data.yaml +++ b/ci-openvdb/image.yaml @@ -1,6 +1,6 @@ -ci_image_name: "openvdb" -ci_image_title: "OpenVDB CI Docker Image" -ci_image_description: | +name: "openvdb" +title: "OpenVDB CI Docker Image" +description: | Contains: python, boost, tbb and other OpenVDB upstream dependencies Warning: this image does *not* contain OpenVDB itself as it is used to *build* OpenVDB! packages: @@ -14,3 +14,6 @@ packages: - blosc implicit_packages: - numpy + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 72f9063d..d3fb18b7 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -7,8 +7,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG BOOST_VERSION ARG CMAKE_VERSION @@ -19,25 +17,23 @@ ARG TBB_VERSION ARG OPENEXR_VERSION ARG BLOSC_VERSION ARG NUMPY_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-$BLOSC_VERSION as ci-package-blosc - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:$VFXPLATFORM_VERSION-$BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-osl ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG BOOST_VERSION ARG CMAKE_VERSION @@ -48,6 +44,8 @@ ARG TBB_VERSION ARG OPENEXR_VERSION ARG BLOSC_VERSION ARG NUMPY_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-osl" @@ -72,13 +70,11 @@ LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV BOOST_VERSION=$BOOST_VERSION ENV CMAKE_VERSION=$CMAKE_VERSION ENV CPPUNIT_VERSION=$CPPUNIT_VERSION @@ -88,10 +84,10 @@ ENV TBB_VERSION=$TBB_VERSION ENV OPENEXR_VERSION=$OPENEXR_VERSION ENV BLOSC_VERSION=$BLOSC_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-cppunit /. /usr/local/ @@ -100,5 +96,8 @@ COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ +COPY ci-osl/README.md ci-osl/image.yaml /usr/local/aswf/ + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-osl/Readme.md b/ci-osl/README.md similarity index 61% rename from ci-osl/Readme.md rename to ci-osl/README.md index 1ce18b9c..f68b80ba 100644 --- a/ci-osl/Readme.md +++ b/ci-osl/README.md @@ -11,7 +11,7 @@ Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstr Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage! -## [aswf/osl:2018-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2018-clang7.3) +## [aswf/ci-osl:2018-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2018-clang7.3) Contains: * boost-1.61.0 * cmake-3.9.4 @@ -22,8 +22,9 @@ Contains: * openexr-2.2.1 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2018 -## [aswf/osl:2019-clang6.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang6.3) +## [aswf/ci-osl:2019-clang6.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang6.3) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -34,8 +35,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/osl:2019-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang7.3) +## [aswf/ci-osl:2019-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang7.3) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -46,8 +48,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/osl:2019-clang8.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang8.3) +## [aswf/ci-osl:2019-clang8.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang8.3) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -58,8 +61,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/osl:2019-clang9.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang9.3) +## [aswf/ci-osl:2019-clang9.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang9.3) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -70,8 +74,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/osl:2019-clang10.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang10.3) +## [aswf/ci-osl:2019-clang10.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang10.3) Contains: * boost-1.66.0 * cmake-3.12.4 @@ -82,8 +87,9 @@ Contains: * openexr-2.3.0 * blosc-1.5.0 * numpy-1.14 +* vfxplatform-2019 -## [aswf/osl:2020-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2020-clang7.3) +## [aswf/ci-osl:2020-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2020-clang7.3) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -94,8 +100,9 @@ Contains: * openexr-2.4.0 * blosc-1.5.0 * numpy-1.16 +* vfxplatform-2020 -## [aswf/osl:2021-clang10.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2021-clang10.3) +## [aswf/ci-osl:2021-clang10.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2021-clang10.3) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -106,8 +113,9 @@ Contains: * openexr-2.4.0 * blosc-1.20.1 * numpy-1.16 +* vfxplatform-2021 -## [aswf/osl:2021-clang11.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2021-clang11.3) +## [aswf/ci-osl:2021-clang11.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2021-clang11.3) Contains: * boost-1.70.0 * cmake-3.18.4 @@ -118,4 +126,5 @@ Contains: * openexr-2.4.0 * blosc-1.20.1 * numpy-1.16 +* vfxplatform-2021 diff --git a/ci-osl/data.yaml b/ci-osl/image.yaml similarity index 60% rename from ci-osl/data.yaml rename to ci-osl/image.yaml index 1ef531b2..b7a8ce6e 100644 --- a/ci-osl/data.yaml +++ b/ci-osl/image.yaml @@ -1,6 +1,6 @@ -ci_image_name: "osl" -ci_image_title: "OpenShadingLanguage CI Docker Image" -ci_image_description: | +name: "osl" +title: "OpenShadingLanguage CI Docker Image" +description: | Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstream dependencies Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage! packages: @@ -14,3 +14,6 @@ packages: - blosc implicit_packages: - numpy + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index 977ece9d..a772f419 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -7,35 +7,33 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG CMAKE_VERSION ARG QT_VERSION ARG PYSIDE_VERSION ARG NUMPY_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-$QT_VERSION as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-$PYSIDE_VERSION as ci-package-pyside - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-qt:$VFXPLATFORM_VERSION-$QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:$VFXPLATFORM_VERSION-$PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-otio ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG CMAKE_VERSION ARG QT_VERSION ARG PYSIDE_VERSION ARG NUMPY_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-otio" @@ -56,26 +54,27 @@ LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" LABEL io.aswf.docker.versions.qt="$QT_VERSION" LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV PYTHON_VERSION=$PYTHON_VERSION ENV CMAKE_VERSION=$CMAKE_VERSION ENV QT_VERSION=$QT_VERSION ENV PYSIDE_VERSION=$PYSIDE_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-pyside /. /usr/local/ - +COPY ci-otio/README.md ci-otio/image.yaml /usr/local/aswf/ RUN sudo pip install flake8 tox urllib3 + + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-otio/Readme.md b/ci-otio/README.md similarity index 66% rename from ci-otio/Readme.md rename to ci-otio/README.md index 98ec2d48..6ccbca59 100644 --- a/ci-otio/Readme.md +++ b/ci-otio/README.md @@ -11,27 +11,30 @@ Contains: python, Qt, PySide and other OpenTimelineIO upstream dependencies Warning: this image does *not* contain OpenTimelineIO itself as it is used to *build* OpenTimelineIO! -## [aswf/otio:2019.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2019.2) +## [aswf/ci-otio:2019.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2019.2) Contains: * python-2.7.15 * cmake-3.12.4 * qt-5.12.6 * pyside-5.12.6 * numpy-1.14 +* vfxplatform-2019 -## [aswf/otio:2020.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2020.2) +## [aswf/ci-otio:2020.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2020.2) Contains: * python-3.7.3 * cmake-3.18.4 * qt-5.12.6 * pyside-5.12.6 * numpy-1.16 +* vfxplatform-2020 -## [aswf/otio:2021.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2021.2) +## [aswf/ci-otio:2021.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2021.2) Contains: * python-3.7.3 * cmake-3.18.4 * qt-5.12.8 * pyside-5.12.6 * numpy-1.16 +* vfxplatform-2021 diff --git a/ci-otio/data.yaml b/ci-otio/image.yaml similarity index 56% rename from ci-otio/data.yaml rename to ci-otio/image.yaml index 079829cf..51856c32 100644 --- a/ci-otio/data.yaml +++ b/ci-otio/image.yaml @@ -1,6 +1,6 @@ -ci_image_name: "otio" -ci_image_title: "OpenTimelineIO CI Docker Image" -ci_image_description: | +name: "otio" +title: "OpenTimelineIO CI Docker Image" +description: | Contains: python, Qt, PySide and other OpenTimelineIO upstream dependencies Warning: this image does *not* contain OpenTimelineIO itself as it is used to *build* OpenTimelineIO! packages: @@ -10,5 +10,8 @@ packages: - pyside implicit_packages: - numpy -extra_commands: | + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION +docker_commands: | RUN sudo pip install flake8 tox urllib3 diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index 3dd36492..fbec5c2a 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -7,8 +7,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG TBB_VERSION @@ -29,34 +27,32 @@ ARG BLOSC_VERSION ARG OPENVDB_VERSION ARG NUMPY_VERSION ARG HDF5_VERSION - -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-$LOG4CPLUS_VERSION as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-$QT_VERSION as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-$PYSIDE_VERSION as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-$OIIO_VERSION as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-$OCIO_VERSION as ci-package-ocio -FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION}-$PTEX_VERSION as ci-package-ptex -FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION}-$OPENSUBDIV_VERSION as ci-package-opensubdiv -FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-$ALEMBIC_VERSION as ci-package-alembic -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-$BLOSC_VERSION as ci-package-blosc -FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-$OPENVDB_VERSION as ci-package-openvdb - +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$VFXPLATFORM_VERSION-$LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-qt:$VFXPLATFORM_VERSION-$QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:$VFXPLATFORM_VERSION-$PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-oiio:$VFXPLATFORM_VERSION-$OIIO_VERSION as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:$VFXPLATFORM_VERSION-$OCIO_VERSION as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-ptex:$VFXPLATFORM_VERSION-$PTEX_VERSION as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:$VFXPLATFORM_VERSION-$OPENSUBDIV_VERSION as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-alembic:$VFXPLATFORM_VERSION-$ALEMBIC_VERSION as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-blosc:$VFXPLATFORM_VERSION-$BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:$VFXPLATFORM_VERSION-$OPENVDB_VERSION as ci-package-openvdb +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-usd ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG TBB_VERSION @@ -77,6 +73,8 @@ ARG BLOSC_VERSION ARG OPENVDB_VERSION ARG NUMPY_VERSION ARG HDF5_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-usd" @@ -111,13 +109,11 @@ LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" LABEL io.aswf.docker.versions.openvdb="$OPENVDB_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" LABEL io.aswf.docker.versions.hdf5="$HDF5_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV PYTHON_VERSION=$PYTHON_VERSION ENV TBB_VERSION=$TBB_VERSION ENV BOOST_VERSION=$BOOST_VERSION @@ -137,10 +133,10 @@ ENV BLOSC_VERSION=$BLOSC_VERSION ENV OPENVDB_VERSION=$OPENVDB_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION ENV HDF5_VERSION=$HDF5_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ @@ -158,6 +154,8 @@ COPY --from=ci-package-opensubdiv /. /usr/local/ COPY --from=ci-package-alembic /. /usr/local/ COPY --from=ci-package-blosc /. /usr/local/ COPY --from=ci-package-openvdb /. /usr/local/ +COPY ci-usd/README.md ci-usd/image.yaml /usr/local/aswf/ + -RUN sudo pip install jinja2 PyOpenGL +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-usd/Readme.md b/ci-usd/README.md similarity index 79% rename from ci-usd/Readme.md rename to ci-usd/README.md index 334c45d2..551fc308 100644 --- a/ci-usd/Readme.md +++ b/ci-usd/README.md @@ -11,7 +11,7 @@ Contains: python, Qt, PySide and other USD upstream dependencies Warning: this image does *not* contain USD itself as it is used to *build* USD! -## [aswf/usd:2019.8](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2019.8) +## [aswf/ci-usd:2019.8](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2019.8) Contains: * python-2.7.15 * tbb-2018 @@ -32,8 +32,9 @@ Contains: * openvdb-6.2.1 * numpy-1.14 * hdf5-1.8.21 +* vfxplatform-2019 -## [aswf/usd:2020.7](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2020.7) +## [aswf/ci-usd:2020.7](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2020.7) Contains: * python-3.7.3 * tbb-2019_U6 @@ -54,8 +55,9 @@ Contains: * openvdb-7.1.0 * numpy-1.16 * hdf5-1.8.21 +* vfxplatform-2020 -## [aswf/usd:2021.3](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2021.3) +## [aswf/ci-usd:2021.3](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2021.3) Contains: * python-3.7.3 * tbb-2019_U6 @@ -76,4 +78,5 @@ Contains: * openvdb-7.1.0 * numpy-1.16 * hdf5-1.8.21 +* vfxplatform-2021 diff --git a/ci-usd/data.yaml b/ci-usd/image.yaml similarity index 65% rename from ci-usd/data.yaml rename to ci-usd/image.yaml index b89a5f1d..1c26cea0 100644 --- a/ci-usd/data.yaml +++ b/ci-usd/image.yaml @@ -1,6 +1,6 @@ -ci_image_name: "usd" -ci_image_title: "USD CI Docker Image" -ci_image_description: | +name: "usd" +title: "USD CI Docker Image" +description: | Contains: python, Qt, PySide and other USD upstream dependencies Warning: this image does *not* contain USD itself as it is used to *build* USD! packages: @@ -24,5 +24,6 @@ packages: implicit_packages: - numpy - hdf5 -extra_commands: | - RUN sudo pip install jinja2 PyOpenGL + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 34983188..1347b7ab 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -7,8 +7,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG TBB_VERSION @@ -34,39 +32,37 @@ ARG OSL_VERSION ARG OTIO_VERSION ARG NUMPY_VERSION ARG HDF5_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR + -FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:${VFXPLATFORM_VERSION}-$LOG4CPLUS_VERSION as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-$QT_VERSION as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-$PYSIDE_VERSION as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-$BLOSC_VERSION as ci-package-blosc -FROM ${ASWF_PKG_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-$ALEMBIC_VERSION as ci-package-alembic -FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-$OIIO_VERSION as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-$OCIO_VERSION as ci-package-ocio -FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:${VFXPLATFORM_VERSION}-$OPENSUBDIV_VERSION as ci-package-opensubdiv -FROM ${ASWF_PKG_ORG}/ci-package-ptex:${VFXPLATFORM_VERSION}-$PTEX_VERSION as ci-package-ptex -FROM ${ASWF_PKG_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-$OPENVDB_VERSION as ci-package-openvdb -FROM ${ASWF_PKG_ORG}/ci-package-usd:${VFXPLATFORM_VERSION}-$USD_VERSION as ci-package-usd -FROM ${ASWF_PKG_ORG}/ci-package-partio:${VFXPLATFORM_VERSION}-$PARTIO_VERSION as ci-package-partio -FROM ${ASWF_PKG_ORG}/ci-package-osl:${VFXPLATFORM_VERSION}-$OSL_VERSION as ci-package-osl -FROM ${ASWF_PKG_ORG}/ci-package-otio:${VFXPLATFORM_VERSION}-$OTIO_VERSION as ci-package-otio - - - -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$VFXPLATFORM_VERSION-$LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-qt:$VFXPLATFORM_VERSION-$QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:$VFXPLATFORM_VERSION-$PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:$VFXPLATFORM_VERSION-$BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-alembic:$VFXPLATFORM_VERSION-$ALEMBIC_VERSION as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-oiio:$VFXPLATFORM_VERSION-$OIIO_VERSION as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:$VFXPLATFORM_VERSION-$OCIO_VERSION as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:$VFXPLATFORM_VERSION-$OPENSUBDIV_VERSION as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-ptex:$VFXPLATFORM_VERSION-$PTEX_VERSION as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:$VFXPLATFORM_VERSION-$OPENVDB_VERSION as ci-package-openvdb +FROM ${ASWF_PKG_ORG}/ci-package-usd:$VFXPLATFORM_VERSION-$USD_VERSION as ci-package-usd +FROM ${ASWF_PKG_ORG}/ci-package-partio:$VFXPLATFORM_VERSION-$PARTIO_VERSION as ci-package-partio +FROM ${ASWF_PKG_ORG}/ci-package-osl:$VFXPLATFORM_VERSION-$OSL_VERSION as ci-package-osl +FROM ${ASWF_PKG_ORG}/ci-package-otio:$VFXPLATFORM_VERSION-$OTIO_VERSION as ci-package-otio +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-vfxall ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR ARG PYTHON_VERSION ARG TBB_VERSION @@ -92,6 +88,8 @@ ARG OSL_VERSION ARG OTIO_VERSION ARG NUMPY_VERSION ARG HDF5_VERSION +ARG VFXPLATFORM_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR LABEL org.opencontainers.image.name="$ASWF_ORG/ci-vfxall" @@ -130,13 +128,11 @@ LABEL io.aswf.docker.versions.osl="$OSL_VERSION" LABEL io.aswf.docker.versions.otio="$OTIO_VERSION" LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" LABEL io.aswf.docker.versions.hdf5="$HDF5_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} - ENV PYTHON_VERSION=$PYTHON_VERSION ENV TBB_VERSION=$TBB_VERSION ENV BOOST_VERSION=$BOOST_VERSION @@ -161,10 +157,10 @@ ENV OSL_VERSION=$OSL_VERSION ENV OTIO_VERSION=$OTIO_VERSION ENV NUMPY_VERSION=$NUMPY_VERSION ENV HDF5_VERSION=$HDF5_VERSION +ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION +ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - COPY --from=ci-package-python /. /usr/local/ COPY --from=ci-package-tbb /. /usr/local/ COPY --from=ci-package-boost /. /usr/local/ @@ -187,5 +183,8 @@ COPY --from=ci-package-usd /. /usr/local/ COPY --from=ci-package-partio /. /usr/local/ COPY --from=ci-package-osl /. /usr/local/ COPY --from=ci-package-otio /. /usr/local/ +COPY ci-vfxall/README.md ci-vfxall/image.yaml /usr/local/aswf/ + +ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-vfxall/Readme.md b/ci-vfxall/README.md similarity index 76% rename from ci-vfxall/Readme.md rename to ci-vfxall/README.md index 6d35060a..5bdbc7d7 100644 --- a/ci-vfxall/Readme.md +++ b/ci-vfxall/README.md @@ -10,7 +10,7 @@ Warning: this file is automatically generated from a template! Contains: all supported VFX packages -## [aswf/vfxall:2019-clang6.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang6.11) +## [aswf/ci-vfxall:2019-clang6.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang6.11) Contains: * python-2.7.15 * tbb-2018 @@ -36,8 +36,9 @@ Contains: * otio-0.12.1 * numpy-1.14 * hdf5-1.8.21 +* vfxplatform-2019 -## [aswf/vfxall:2019-clang7.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang7.11) +## [aswf/ci-vfxall:2019-clang7.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang7.11) Contains: * python-2.7.15 * tbb-2018 @@ -63,8 +64,9 @@ Contains: * otio-0.12.1 * numpy-1.14 * hdf5-1.8.21 +* vfxplatform-2019 -## [aswf/vfxall:2019-clang8.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang8.11) +## [aswf/ci-vfxall:2019-clang8.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang8.11) Contains: * python-2.7.15 * tbb-2018 @@ -90,8 +92,9 @@ Contains: * otio-0.12.1 * numpy-1.14 * hdf5-1.8.21 +* vfxplatform-2019 -## [aswf/vfxall:2019-clang9.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang9.11) +## [aswf/ci-vfxall:2019-clang9.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang9.11) Contains: * python-2.7.15 * tbb-2018 @@ -117,8 +120,9 @@ Contains: * otio-0.12.1 * numpy-1.14 * hdf5-1.8.21 +* vfxplatform-2019 -## [aswf/vfxall:2020-clang7.9](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2020-clang7.9) +## [aswf/ci-vfxall:2020-clang7.9](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2020-clang7.9) Contains: * python-3.7.3 * tbb-2019_U6 @@ -144,8 +148,9 @@ Contains: * otio-0.12.1 * numpy-1.16 * hdf5-1.8.21 +* vfxplatform-2020 -## [aswf/vfxall:2021-clang10.4](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2021-clang10.4) +## [aswf/ci-vfxall:2021-clang10.4](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2021-clang10.4) Contains: * python-3.7.3 * tbb-2019_U6 @@ -171,4 +176,5 @@ Contains: * otio-0.12.1 * numpy-1.16 * hdf5-1.8.21 +* vfxplatform-2021 diff --git a/ci-vfxall/data.yaml b/ci-vfxall/image.yaml similarity index 60% rename from ci-vfxall/data.yaml rename to ci-vfxall/image.yaml index 95981231..f7a39637 100644 --- a/ci-vfxall/data.yaml +++ b/ci-vfxall/image.yaml @@ -1,6 +1,6 @@ -ci_image_name: "vfxall" -ci_image_title: "VFX All CI Docker Image" -ci_image_description: | +name: "vfxall" +title: "VFX All CI Docker Image" +description: | Contains: all supported VFX packages packages: - python @@ -28,3 +28,6 @@ packages: implicit_packages: - numpy - hdf5 + - vfxplatform +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} +docker_package_version: $VFXPLATFORM_VERSION diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index 27213732..e55b9958 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -402,9 +402,8 @@ def dockergen(context, image_name, check): """ if image_name == "all": images = [] - for group, gimages in constants.GROUPS[constants.ImageType.IMAGE].items(): - if group != "common": - images.extend(gimages) + for gimages in constants.GROUPS[constants.ImageType.IMAGE].values(): + images.extend(gimages) else: images = [image_name] if check: @@ -441,8 +440,11 @@ def dockergen(context, image_name, check): def pushoverview( build_info, ci_image_type, group, version, full_name, target, username, password, ): - """Pushes the Docker Image Readme file to DockerHub + """Pushes the Docker Image README file to DockerHub """ + if ci_image_type == constants.ImageType.PACKAGE: + click.echo("Package readme do not exist yet.") + return group_info = get_group_info( build_info, ci_image_type, group, version, full_name, target ) diff --git a/python/aswfdocker/data/ci-image-dockerfile.tmpl b/python/aswfdocker/data/ci-image-dockerfile.tmpl index 4a460a3f..24c08d17 100644 --- a/python/aswfdocker/data/ci-image-dockerfile.tmpl +++ b/python/aswfdocker/data/ci-image-dockerfile.tmpl @@ -7,34 +7,51 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR + +{% for arg in docker_args -%} +ARG {{ arg }} +{% endfor -%} {% for package in packages + implicit_packages -%} ARG {{package.upper()}}_VERSION +{% endfor -%} + +{% for package in packages + implicit_packages -%} +{% for arg in index.package_data(package).get("docker_args", []) -%} +ARG {{ arg }} +{% endfor -%} {% endfor %} + {% for package in packages -%} -FROM ${ASWF_PKG_ORG}/ci-package-{{ package }}:${VFXPLATFORM_VERSION}-${{package.upper()}}_VERSION as ci-package-{{ package }} -{% endfor %} +FROM ${ASWF_PKG_ORG}/ci-package-{{ package }}:{{docker_package_version}}-${{package.upper()}}_VERSION as ci-package-{{ package }} +{% endfor -%} -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +FROM {{ docker_from }} as ci-{{ name }} ARG ASWF_ORG ARG ASWF_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR + +{% for arg in docker_args -%} +ARG {{ arg }} +{% endfor -%} {% for package in packages + implicit_packages -%} ARG {{package.upper()}}_VERSION +{% endfor -%} + +{% for package in packages + implicit_packages -%} +{% for arg in index.package_data(package).get("docker_args", []) -%} +ARG {{ arg }} +{% endfor -%} {% endfor %} -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-{{ ci_image_name }}" -LABEL org.opencontainers.image.title="{{ ci_image_title }}" -LABEL org.opencontainers.image.description="{{ "\\\n".join(ci_image_description.split("\n")) }}" +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-{{ name }}" +LABEL org.opencontainers.image.title="{{ title }}" +LABEL org.opencontainers.image.description="{{ "\\\n".join(description.split("\n")) }}" LABEL org.opencontainers.image.url="http://aswf.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-{{ ci_image_name }}/Dockerfile" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-{{ name }}/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" @@ -47,17 +64,28 @@ LABEL io.aswf.docker.versions.{{ package }}="${{ package.upper() }}_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} +{% for arg in docker_args -%} +ENV {{ arg }}=${{ arg }} +{% endfor -%} {% for package in packages + implicit_packages -%} ENV {{package.upper()}}_VERSION=${{package.upper()}}_VERSION -{% endfor %} +{% endfor -%} -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} +{% for package in packages + implicit_packages -%} +{% for arg in index.package_data(package).get("docker_args", []) -%} +ENV {{ arg }}=${{ arg }} +{% endfor -%} +{% endfor %} {% for package in packages -%} COPY --from=ci-package-{{ package }} /. /usr/local/ -{% endfor %} +{% endfor -%} -{{ extra_commands }} +COPY ci-{{name}}/README.md ci-{{name}}/image.yaml /usr/local/aswf/ + +{{ docker_commands }} + +{% for package in packages + implicit_packages -%} +{{ index.package_data(package).get("docker_commands", "") -}} +{% endfor -%} diff --git a/python/aswfdocker/data/ci-image-readme.tmpl b/python/aswfdocker/data/ci-image-readme.tmpl index 857f327e..11a706ff 100644 --- a/python/aswfdocker/data/ci-image-readme.tmpl +++ b/python/aswfdocker/data/ci-image-readme.tmpl @@ -5,12 +5,12 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# {{ ci_image_title }} +# {{ title }} -{{ ci_image_description }} +{{ description }} -{% for version in index.iter_versions(constants.ImageType.IMAGE, ci_image_name) -%} -## [aswf/{{ci_image_name}}:{{version}}](https://hub.docker.com/r/aswf/ci-{{ci_image_name}}/tags?page=1&name={{version}}) +{% for version in index.iter_versions(constants.ImageType.IMAGE, name) -%} +## [aswf/ci-{{name}}:{{version}}](https://hub.docker.com/r/aswf/ci-{{name}}/tags?page=1&name={{version}}) Contains: {% for package in packages + implicit_packages -%} * {{package}}-{{ index.version_info(version.split(".")[0]).all_package_versions[package.upper() + "_VERSION"] }} diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index fe518b78..27193dae 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -22,10 +22,13 @@ def __init__(self, image_name): def _get_image_data(self): image_data_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/data.yaml" + utils.get_git_top_level(), f"ci-{self.image_name}/image.yaml" ) with open(image_data_path) as f: - return yaml.load(f, Loader=yaml.FullLoader) + image_data = yaml.load(f, Loader=yaml.FullLoader) + image_data["index"] = index.Index() + image_data["constants"] = constants + return image_data def generate_dockerfile(self): image_data = self._get_image_data() @@ -51,12 +54,9 @@ def check_dockerfile(self): def generate_readme(self): image_data = self._get_image_data() - image_data["index"] = index.Index() - image_data["constants"] = constants - template = self.env.get_template("ci-image-readme.tmpl") readme_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/Readme.md" + utils.get_git_top_level(), f"ci-{self.image_name}/README.md" ) with open(readme_path, "w") as f: @@ -65,12 +65,9 @@ def generate_readme(self): def check_readme(self): image_data = self._get_image_data() - image_data["index"] = index.Index() - image_data["constants"] = constants - template = self.env.get_template("ci-image-readme.tmpl") readme_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/Readme.md" + utils.get_git_top_level(), f"ci-{self.image_name}/README.md" ) with open(readme_path) as f: @@ -79,7 +76,7 @@ def check_readme(self): def push_overview(self, docker_org, token): readme_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/Readme.md" + utils.get_git_top_level(), f"ci-{self.image_name}/README.md" ) with open(readme_path) as f: @@ -89,9 +86,7 @@ def push_overview(self, docker_org, token): body = { # "registry": "registry-1.docker.io", - "description": image_data["ci_image_title"] - + "\n" - + image_data["ci_image_description"], + "description": image_data["title"] + "\n" + image_data["description"], "full_description": full_description, } url = ( diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index 99737e44..6ecd215e 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -69,3 +69,6 @@ def version_info(self, version): if version == vi.version: return vi raise ValueError("VersionInfo not found for version {}".format(version)) + + def package_data(self, package_name): + return self._versions["package_data"].get(package_name, {}) diff --git a/versions.yaml b/versions.yaml index 93f5c7ae..51d5f734 100644 --- a/versions.yaml +++ b/versions.yaml @@ -106,6 +106,7 @@ versions: QT_VERSION: "5.6.1" TBB_VERSION: "2017_U6" USD_VERSION: "19.11" + VFXPLATFORM_VERSION: "2018" "2018-clang7": parent_versions: ["1", "1-clang7", "2018"] major_version: "2018" @@ -142,6 +143,7 @@ versions: QT_VERSION: "5.12.6" TBB_VERSION: "2018" USD_VERSION: "19.11" + VFXPLATFORM_VERSION: "2019" "2019-clang6": parent_versions: ["1", "1-clang6", "2019"] major_version: "2019" @@ -195,6 +197,7 @@ versions: QT_VERSION: "5.12.6" TBB_VERSION: "2019_U6" USD_VERSION: "20.11" + VFXPLATFORM_VERSION: "2020" "2020-clang7": parent_versions: ["1", "1-clang7", "2020"] major_version: "2020" @@ -232,6 +235,7 @@ versions: QT_VERSION: "5.12.8" TBB_VERSION: "2019_U6" USD_VERSION: "20.11" + VFXPLATFORM_VERSION: "2021" "2021-clang10": parent_versions: ["2", "2-clang10", "2021"] major_version: "2021" @@ -445,3 +449,10 @@ rt-images: - "2019.0" - "2020.0" - "2021.0" + +package_data: + python: + docker_args: + - PYTHON_VERSION_MAJOR_MINOR + docker_commands: | + ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} From 2231958b52a6fe7ebbfe92d4170512798aea63b8 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 00:23:16 +1100 Subject: [PATCH 061/132] Added dockergen tests Signed-off-by: Aloys Baillet --- python/aswfdocker/dockergen.py | 76 +++++++++-------------- python/aswfdocker/tests/test_dockergen.py | 42 +++++++++++++ 2 files changed, 73 insertions(+), 45 deletions(-) create mode 100644 python/aswfdocker/tests/test_dockergen.py diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index 27193dae..82def108 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -19,6 +19,7 @@ class DockerGen: def __init__(self, image_name): self.image_name = image_name self.env = Environment(loader=PackageLoader("aswfdocker", "data")) + self.image_data = self._get_image_data() def _get_image_data(self): image_data_path = os.path.join( @@ -30,64 +31,49 @@ def _get_image_data(self): image_data["constants"] = constants return image_data - def generate_dockerfile(self): - image_data = self._get_image_data() - template = self.env.get_template("ci-image-dockerfile.tmpl") + def _render_template(self, template_name, path): + template = self.env.get_template(template_name) dockerfile_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/Dockerfile" + utils.get_git_top_level(), f"ci-{self.image_name}/{path}" ) + return dockerfile_path, template.render(self.image_data) - with open(dockerfile_path, "w") as f: - f.write(template.render(image_data)) - return dockerfile_path - - def check_dockerfile(self): - image_data = self._get_image_data() - template = self.env.get_template("ci-image-dockerfile.tmpl") - dockerfile_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/Dockerfile" - ) + def _render_dockerfile(self): + return self._render_template("ci-image-dockerfile.tmpl", "Dockerfile") - with open(dockerfile_path) as f: - ok = f.read() == template.render(image_data) - return dockerfile_path, ok + def _render_readme(self): + return self._render_template("ci-image-readme.tmpl", "README.md") - def generate_readme(self): - image_data = self._get_image_data() - template = self.env.get_template("ci-image-readme.tmpl") - readme_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/README.md" - ) + def _generate(self, path, content): + with open(path, "w") as f: + f.write(content) + return path - with open(readme_path, "w") as f: - f.write(template.render(image_data)) - return readme_path + def _check(self, path, content): + with open(path) as f: + ok = f.read() == content + return path, ok - def check_readme(self): - image_data = self._get_image_data() - template = self.env.get_template("ci-image-readme.tmpl") - readme_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/README.md" - ) + def generate_dockerfile(self): + return self._generate(*self._render_dockerfile()) - with open(readme_path) as f: - ok = f.read() == template.render(image_data) - return readme_path, ok + def check_dockerfile(self): + return self._check(*self._render_dockerfile()) - def push_overview(self, docker_org, token): - readme_path = os.path.join( - utils.get_git_top_level(), f"ci-{self.image_name}/README.md" - ) + def generate_readme(self): + return self._generate(*self._render_readme()) - with open(readme_path) as f: - full_description = f.read() + def check_readme(self): + return self._check(*self._render_readme()) - image_data = self._get_image_data() + def push_overview(self, docker_org, token): + _, readme = self._render_readme() body = { - # "registry": "registry-1.docker.io", - "description": image_data["title"] + "\n" + image_data["description"], - "full_description": full_description, + "description": self.image_data["title"] + + "\n" + + self.image_data["description"], + "full_description": readme, } url = ( f"https://hub.docker.com/v2/repositories/{docker_org}/ci-{self.image_name}/" diff --git a/python/aswfdocker/tests/test_dockergen.py b/python/aswfdocker/tests/test_dockergen.py new file mode 100644 index 00000000..e78b6939 --- /dev/null +++ b/python/aswfdocker/tests/test_dockergen.py @@ -0,0 +1,42 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +""" +Tests for the utility commands +""" + +import unittest +import logging +import tempfile +import os + +from click.testing import CliRunner + +from aswfdocker import utils, index, constants, dockergen +from aswfdocker.cli import aswfdocker + + +class TestDockerGen(unittest.TestCase): + def test_dockergen(self): + dg = dockergen.DockerGen("base") + self.assertTrue(dg.check_dockerfile()) + self.assertTrue(dg.check_readme()) + + +class TestUtilsCli(unittest.TestCase): + def setUp(self): + self._log_handlers = logging.getLogger("").handlers + logging.getLogger("").handlers = [] + self.maxDiff = None + + def tearDown(self): + logging.getLogger("").handlers = self._log_handlers + + def test_cli_dockergen(self): + runner = CliRunner() + result = runner.invoke(aswfdocker.cli, ["dockergen", "--check", "-n", "base"]) + self.assertEqual(result.exit_code, 0) + self.assertEqual( + result.output, + "/home/ggaloys/dev/aswf-docker/ci-base/Dockerfile is up to date\n" + "/home/ggaloys/dev/aswf-docker/ci-base/README.md is up to date\n", + ) From b89b76f934b6ea50d05f8d1b1d89b85751b42213 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 00:35:23 +1100 Subject: [PATCH 062/132] Do not push package overview yet Signed-off-by: Aloys Baillet --- python/aswfdocker/cli/aswfdocker.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index e55b9958..7c72cb50 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -442,12 +442,12 @@ def pushoverview( ): """Pushes the Docker Image README file to DockerHub """ - if ci_image_type == constants.ImageType.PACKAGE: - click.echo("Package readme do not exist yet.") - return group_info = get_group_info( build_info, ci_image_type, group, version, full_name, target ) + if group_info.type == constants.ImageType.PACKAGE: + click.echo("Package readme do not exist yet.") + return token = utils.get_dockerhub_token(username, password) for image, _ in group_info.iter_images_versions(): dg = aswf_dockergen.DockerGen(image.replace("ci-", "")) From 1eac3d43f88c7e4af1cc463371561ef6ed0e00be Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 00:44:54 +1100 Subject: [PATCH 063/132] Fixed dockergen test Signed-off-by: Aloys Baillet --- python/aswfdocker/tests/test_dockergen.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/python/aswfdocker/tests/test_dockergen.py b/python/aswfdocker/tests/test_dockergen.py index e78b6939..86cc1998 100644 --- a/python/aswfdocker/tests/test_dockergen.py +++ b/python/aswfdocker/tests/test_dockergen.py @@ -35,8 +35,7 @@ def test_cli_dockergen(self): runner = CliRunner() result = runner.invoke(aswfdocker.cli, ["dockergen", "--check", "-n", "base"]) self.assertEqual(result.exit_code, 0) - self.assertEqual( - result.output, - "/home/ggaloys/dev/aswf-docker/ci-base/Dockerfile is up to date\n" - "/home/ggaloys/dev/aswf-docker/ci-base/README.md is up to date\n", - ) + lines = result.output.split("\n") + self.assertEqual(len(lines), 3) + self.assertTrue(lines[0].endswith("ci-base/Dockerfile is up to date")) + self.assertTrue(lines[1].endswith("ci-base/README.md is up to date")) From 0d679d4c3513c0b014e2e6fbfcee991186133bc0 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 00:50:11 +1100 Subject: [PATCH 064/132] Updated image.yaml references Signed-off-by: Aloys Baillet --- ci-base/Dockerfile | 2 +- ci-baseqt/Dockerfile | 2 +- ci-common/Dockerfile | 2 +- ci-ocio/Dockerfile | 2 +- ci-opencue/Dockerfile | 2 +- ci-openexr/Dockerfile | 2 +- ci-openvdb/Dockerfile | 2 +- ci-osl/Dockerfile | 2 +- ci-otio/Dockerfile | 2 +- ci-usd/Dockerfile | 2 +- ci-vfxall/Dockerfile | 2 +- python/aswfdocker/data/ci-image-dockerfile.tmpl | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 1ac66c4b..1b4801d8 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index c89ad712..f25ab8e9 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index 633315f1..86ade431 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index 9515c86f..fdbd24c2 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index 843bef1e..da5ec6fa 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index 91f68870..07b63ce0 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 82afbe13..c5d663de 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index d3fb18b7..6a22c8ac 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index a772f419..60e61f15 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index fbec5c2a..57fa4232 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 1347b7ab..aa7cccc2 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG diff --git a/python/aswfdocker/data/ci-image-dockerfile.tmpl b/python/aswfdocker/data/ci-image-dockerfile.tmpl index 24c08d17..0833e17a 100644 --- a/python/aswfdocker/data/ci-image-dockerfile.tmpl +++ b/python/aswfdocker/data/ci-image-dockerfile.tmpl @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# !!! This file is automatically generated from a template and the `data.yaml` file in the same folder !!! +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! ARG ASWF_ORG ARG ASWF_PKG_ORG From 96258a7619ee0e70338416aa972ef8d37604f411 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 21:11:20 +1100 Subject: [PATCH 065/132] Renamed template file extensions to .jinja2 Signed-off-by: Aloys Baillet --- .../{ci-image-dockerfile.tmpl => ci-image-dockerfile.jinja2} | 0 .../data/{ci-image-readme.tmpl => ci-image-readme.jinja2} | 0 python/aswfdocker/dockergen.py | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename python/aswfdocker/data/{ci-image-dockerfile.tmpl => ci-image-dockerfile.jinja2} (100%) rename python/aswfdocker/data/{ci-image-readme.tmpl => ci-image-readme.jinja2} (100%) diff --git a/python/aswfdocker/data/ci-image-dockerfile.tmpl b/python/aswfdocker/data/ci-image-dockerfile.jinja2 similarity index 100% rename from python/aswfdocker/data/ci-image-dockerfile.tmpl rename to python/aswfdocker/data/ci-image-dockerfile.jinja2 diff --git a/python/aswfdocker/data/ci-image-readme.tmpl b/python/aswfdocker/data/ci-image-readme.jinja2 similarity index 100% rename from python/aswfdocker/data/ci-image-readme.tmpl rename to python/aswfdocker/data/ci-image-readme.jinja2 diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index 82def108..1f55a5da 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -39,10 +39,10 @@ def _render_template(self, template_name, path): return dockerfile_path, template.render(self.image_data) def _render_dockerfile(self): - return self._render_template("ci-image-dockerfile.tmpl", "Dockerfile") + return self._render_template("ci-image-dockerfile.jinja2", "Dockerfile") def _render_readme(self): - return self._render_template("ci-image-readme.tmpl", "README.md") + return self._render_template("ci-image-readme.jinja2", "README.md") def _generate(self, path, content): with open(path, "w") as f: From 806fc097dbb4ab73b55ed3054c8bd9b46759653c Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 22:42:48 +1100 Subject: [PATCH 066/132] Proper resource handling for files so aswfdocker can be used in wheels Signed-off-by: Aloys Baillet --- pyproject.toml | 3 +++ python/aswfdocker/data/__init__.py | 2 ++ python/aswfdocker/data/versions.yaml | 1 + python/aswfdocker/index.py | 7 +++---- setup.py | 2 ++ 5 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 pyproject.toml create mode 100644 python/aswfdocker/data/__init__.py create mode 120000 python/aswfdocker/data/versions.yaml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..55544cdf --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = [] +build-backend = "setuptools.build_meta:__legacy__" \ No newline at end of file diff --git a/python/aswfdocker/data/__init__.py b/python/aswfdocker/data/__init__.py new file mode 100644 index 00000000..9d3ba5eb --- /dev/null +++ b/python/aswfdocker/data/__init__.py @@ -0,0 +1,2 @@ +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 diff --git a/python/aswfdocker/data/versions.yaml b/python/aswfdocker/data/versions.yaml new file mode 120000 index 00000000..fa1e67b3 --- /dev/null +++ b/python/aswfdocker/data/versions.yaml @@ -0,0 +1 @@ +../../../versions.yaml \ No newline at end of file diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index 6ecd215e..5bc0605f 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -3,11 +3,11 @@ """ Index of docker images and versions. """ -import os import logging import yaml +import importlib -from aswfdocker import constants, utils, versioninfo +from aswfdocker import constants, versioninfo logger = logging.getLogger(__name__) @@ -19,8 +19,7 @@ class Index: """ def __init__(self): - versions_file_path = os.path.join(utils.get_git_top_level(), "versions.yaml") - with open(versions_file_path) as f: + with importlib.resources.open_text("aswfdocker.data", "versions.yaml") as f: self._versions = yaml.load(f, Loader=yaml.FullLoader) self._version_infos = {} for version, v in self._versions["versions"].items(): diff --git a/setup.py b/setup.py index 18e72957..52febb40 100644 --- a/setup.py +++ b/setup.py @@ -16,6 +16,8 @@ url="https://github.com/AcademySoftwareFoundation/aswf-docker", packages=find_packages(where="python"), package_dir={"": "python"}, + package_data={"aswfdocker": ["data/*.yaml", "data/*.jinja2"]}, + include_package_data=True, classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: Apache 2 License", From d85a3da6d3ea16897a79fc495944ac6912895297 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 22:47:27 +1100 Subject: [PATCH 067/132] Fixed setup.py for pypi use Signed-off-by: Aloys Baillet --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 52febb40..44c0aad5 100644 --- a/setup.py +++ b/setup.py @@ -20,7 +20,7 @@ include_package_data=True, classifiers=[ "Programming Language :: Python :: 3", - "License :: OSI Approved :: Apache 2 License", + "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", ], install_requires=[ @@ -38,6 +38,6 @@ "urllib3==1.25.9; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", "wrapt==1.12.1", ], - python_requires=">=3.6", + python_requires=">=3.8", entry_points={"console_scripts": ["aswfdocker=aswfdocker.cli.aswfdocker:cli",],}, ) From f8108337dd68695b8b18f8aab47ade89b84e6045 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 23:04:22 +1100 Subject: [PATCH 068/132] Switched to importlib_resources to support earlier python versions Signed-off-by: Aloys Baillet --- Pipfile | 1 + Pipfile.lock | 18 +++++++++++++++++- python/aswfdocker/index.py | 6 ++++-- setup.py | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Pipfile b/Pipfile index 41d0ad96..ac6cc5cf 100644 --- a/Pipfile +++ b/Pipfile @@ -19,6 +19,7 @@ pygithub = "*" pyyaml = "*" jinja2 = "*" requests = "*" +importlib-resources = "*" [requires] python_version = "3.7" diff --git a/Pipfile.lock b/Pipfile.lock index 8b795773..ef7185be 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "3c565ce3d24411f9e7fb5104e2db47e2e6c251ad3c056e9d81cf35e780b6e11c" + "sha256": "662b07efd1b9a42cea85a94522e96fa64b5dd5916ec4b3fde73f7ff65f81b6fd" }, "pipfile-spec": 6, "requires": { @@ -58,6 +58,14 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9" }, + "importlib-resources": { + "hashes": [ + "sha256:7b51f0106c8ec564b1bef3d9c588bc694ce2b92125bbb6278f4f2f5b54ec3592", + "sha256:a3d34a8464ce1d5d7c92b0ea4e921e696d86f2aa212e684451cb1482c8d84ed5" + ], + "index": "pypi", + "version": "==3.3.0" + }, "jinja2": { "hashes": [ "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0", @@ -159,6 +167,14 @@ "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7" ], "version": "==1.12.1" + }, + "zipp": { + "hashes": [ + "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108", + "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb" + ], + "markers": "python_version < '3.8'", + "version": "==3.4.0" } }, "develop": { diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index 5bc0605f..e82b194c 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -5,7 +5,7 @@ """ import logging import yaml -import importlib +import importlib_resources from aswfdocker import constants, versioninfo @@ -19,7 +19,9 @@ class Index: """ def __init__(self): - with importlib.resources.open_text("aswfdocker.data", "versions.yaml") as f: + with importlib_resources.files("aswfdocker.data").joinpath( + "versions.yaml" + ).open() as f: self._versions = yaml.load(f, Loader=yaml.FullLoader) self._version_infos = {} for version, v in self._versions["versions"].items(): diff --git a/setup.py b/setup.py index 44c0aad5..9fa8e5d5 100644 --- a/setup.py +++ b/setup.py @@ -38,6 +38,6 @@ "urllib3==1.25.9; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", "wrapt==1.12.1", ], - python_requires=">=3.8", + python_requires=">=3.6", entry_points={"console_scripts": ["aswfdocker=aswfdocker.cli.aswfdocker:cli",],}, ) From e4debc8d3e78b85628ec94b2d1603be443895fee Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 23:07:35 +1100 Subject: [PATCH 069/132] New patch version Signed-off-by: Aloys Baillet --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 9fa8e5d5..100230cc 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name="aswfdocker", - version="0.3.0", + version="0.3.1", author="Aloys Baillet", author_email="aloys.baillet+github@gmail.com", description="ASWF Docker Utilities", From 142ae1de7fc64a21a4ca8386be7e267754186fa2 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 23:14:31 +1100 Subject: [PATCH 070/132] New patch and added missing packages Signed-off-by: Aloys Baillet --- setup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 100230cc..2554bbcb 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name="aswfdocker", - version="0.3.1", + version="0.3.2", author="Aloys Baillet", author_email="aloys.baillet+github@gmail.com", description="ASWF Docker Utilities", @@ -29,6 +29,7 @@ "click==7.1.2", "deprecated==1.2.10; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "idna==2.9; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "importlib-resources==3.3.0", "jinja2==2.11.2", "markupsafe==1.1.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "pygithub==1.51", @@ -37,6 +38,7 @@ "requests==2.23.0", "urllib3==1.25.9; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", "wrapt==1.12.1", + "zipp==3.4.0; python_version < '3.8'", ], python_requires=">=3.6", entry_points={"console_scripts": ["aswfdocker=aswfdocker.cli.aswfdocker:cli",],}, From 88da49fe1d2b90399cce5b86522bd3bb7995f542 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 23:32:05 +1100 Subject: [PATCH 071/132] Updated pipfile.lock Signed-off-by: Aloys Baillet --- Pipfile.lock | 16 ++++++++-------- setup.py | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index ef7185be..f5b99fc3 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -173,7 +173,7 @@ "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108", "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb" ], - "markers": "python_version < '3.8'", + "markers": "python_version < '3.8' and python_version < '3.8'", "version": "==3.4.0" } }, @@ -357,7 +357,7 @@ "sha256:77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da", "sha256:cefa1a2f919b866c5beb7c9f7b0ebb4061f30a8a9bf16d609b000e2dfaceb9c3" ], - "markers": "python_version < '3.8'", + "markers": "python_version < '3.8' and python_version < '3.8'", "version": "==2.0.0" }, "iniconfig": { @@ -606,7 +606,7 @@ "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", "version": "==2.4.7" }, "pytest": { @@ -630,7 +630,7 @@ "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==2.8.1" }, "pyyaml": { @@ -732,7 +732,7 @@ "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==1.15.0" }, "snowballstemmer": { @@ -747,7 +747,7 @@ "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", "version": "==0.10.2" }, "tomlkit": { @@ -791,7 +791,7 @@ "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f", "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7" ], - "markers": "python_version < '3.8' and implementation_name == 'cpython'", + "markers": "implementation_name == 'cpython' and python_version < '3.8'", "version": "==1.4.1" }, "typing-extensions": { @@ -845,7 +845,7 @@ "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108", "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb" ], - "markers": "python_version < '3.8'", + "markers": "python_version < '3.8' and python_version < '3.8'", "version": "==3.4.0" } } diff --git a/setup.py b/setup.py index 2554bbcb..77536013 100644 --- a/setup.py +++ b/setup.py @@ -38,7 +38,7 @@ "requests==2.23.0", "urllib3==1.25.9; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", "wrapt==1.12.1", - "zipp==3.4.0; python_version < '3.8'", + "zipp==3.4.0; python_version < '3.8' and python_version < '3.8'", ], python_requires=">=3.6", entry_points={"console_scripts": ["aswfdocker=aswfdocker.cli.aswfdocker:cli",],}, From f3856a81ef3be4075d6f32d3b8704c6b89c54cfc Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sat, 7 Nov 2020 23:38:57 +1100 Subject: [PATCH 072/132] Removed bad pyproject.toml Signed-off-by: Aloys Baillet --- pyproject.toml | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 55544cdf..00000000 --- a/pyproject.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build-system] -requires = [] -build-backend = "setuptools.build_meta:__legacy__" \ No newline at end of file From 8d66a547c683cd36dfbf8699090eed25caf93732 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sun, 8 Nov 2020 18:36:47 +1100 Subject: [PATCH 073/132] Split package dockerfile alongside groups to speed builds Signed-off-by: Aloys Baillet --- packages/Dockerfile | 1168 ----------------------- packages/base1/Dockerfile | 395 ++++++++ packages/base2/Dockerfile | 71 ++ packages/base3/Dockerfile | 80 ++ packages/common/Dockerfile | 128 +++ packages/vfx1/Dockerfile | 287 ++++++ packages/vfx2/Dockerfile | 394 ++++++++ python/aswfdocker/builder.py | 2 +- python/aswfdocker/cli/aswfdocker.py | 9 +- python/aswfdocker/constants.py | 35 - python/aswfdocker/groupinfo.py | 4 +- python/aswfdocker/index.py | 11 + python/aswfdocker/tests/test_builder.py | 4 + python/aswfdocker/tests/test_index.py | 6 + python/aswfdocker/tests/test_utils.py | 5 - python/aswfdocker/utils.py | 3 + versions.yaml | 50 + 17 files changed, 1437 insertions(+), 1215 deletions(-) delete mode 100644 packages/Dockerfile create mode 100644 packages/base1/Dockerfile create mode 100644 packages/base2/Dockerfile create mode 100644 packages/base3/Dockerfile create mode 100644 packages/common/Dockerfile create mode 100644 packages/vfx1/Dockerfile create mode 100644 packages/vfx2/Dockerfile diff --git a/packages/Dockerfile b/packages/Dockerfile deleted file mode 100644 index 04a6c0e8..00000000 --- a/packages/Dockerfile +++ /dev/null @@ -1,1168 +0,0 @@ -# syntax = docker/dockerfile:experimental -# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# "Global" ARGs -ARG ALEMBIC_VERSION -ARG ASWF_ORG -ARG BLOSC_VERSION -ARG BOOST_VERSION -ARG CCACHE_VERSION -ARG CI_COMMON_VERSION -ARG CLANG_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG CUDA_VERSION -ARG DTS_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG HDF5_VERSION -ARG LOG4CPLUS_VERSION -ARG NINJA_VERSION -ARG NUMPY_VERSION -ARG OCIO_CONFIGS_VERSION -ARG OCIO_VERSION -ARG OIIO_VERSION -ARG OPENEXR_VERSION -ARG OPENSUBDIV_VERSION -ARG OPENVDB_VERSION -ARG OSL_VERSION -ARG OTIO_VERSION -ARG PARTIO_VERSION -ARG PTEX_VERSION -ARG PYSIDE_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG QT_VERSION -ARG SONAR_VERSION -ARG TBB_VERSION -ARG USD_VERSION -ARG VFXPLATFORM_VERSION - -# Required base packages built in previous passes to speed things up -FROM ${ASWF_ORG}/ci-package-clang:${CI_COMMON_VERSION}-${CLANG_VERSION} as ci-package-clang-external -FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external -FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost-external -FROM ${ASWF_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt-external -FROM ${ASWF_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside-external - -#################### ci-centos7-gl-packages #################### -FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-centos7-gl-packages - -ARG CI_COMMON_VERSION -ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} -ARG CUDA_VERSION -ENV CUDA_VERSION=${CUDA_VERSION} -ARG DTS_VERSION -ENV DTS_VERSION=${DTS_VERSION} - -COPY ../scripts/common/install_yumpackages.sh \ - /tmp/ - -RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ - /tmp/install_yumpackages.sh - -COPY ../scripts/common/install_dev_ccache.sh \ - ../scripts/common/before_build.sh \ - ../scripts/common/copy_new_files.sh \ - ../scripts/common/install_dev_cmake.sh \ - /tmp/ - -ENV DOWNLOADS_DIR=/tmp/downloads \ - CCACHE_DIR=/tmp/ccache \ - ASWF_INSTALL_PREFIX=/usr/local \ - LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ - PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin - -RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/install_dev_cmake.sh && \ - /tmp/install_dev_ccache.sh - - -#################### ci-clang-builder #################### -FROM ci-centos7-gl-packages as ci-clang-builder -ARG CLANG_VERSION -ENV CLANG_VERSION=${CLANG_VERSION} - -COPY ../scripts/common/build_clang.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,target=/tmp/downloads \ - /tmp/install_dev_cmake.sh && \ - /tmp/before_build.sh && \ - /tmp/build_clang.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-clang #################### -FROM scratch as ci-package-clang - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG CLANG_VERSION -ARG DTS_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-clang" -LABEL org.opencontainers.image.title="Clang package built for ASWF docker images" -LABEL org.opencontainers.image.description="Clang (llvm) build artifacts to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://llvm.org/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${CLANG_VERSION}" -LABEL org.opencontainers.image.licenses="Apache-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.clang="${CLANG_VERSION}" - -COPY --from=ci-clang-builder /package/. / - - -#################### ci-ninja-builder #################### -FROM ci-centos7-gl-packages as ci-ninja-builder - -ARG NINJA_VERSION -ENV NINJA_VERSION=${NINJA_VERSION} - -COPY ../scripts/common/build_ninja.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_ninja.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-ninja #################### -FROM scratch as ci-package-ninja - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG NINJA_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" -LABEL org.opencontainers.image.title="Ninja package built for ASWF docker images" -LABEL org.opencontainers.image.description="Ninja binary to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://ninja-build.org/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${NINJA_VERSION}" -LABEL org.opencontainers.image.licenses="Apache-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.ninja="${NINJA_VERSION}" - -COPY --from=ci-ninja-builder /package/. / - - -#################### ci-cmake-builder #################### -FROM ci-centos7-gl-packages as ci-cmake-builder - -ARG CI_COMMON_VERSION -ARG CMAKE_VERSION -ENV CMAKE_VERSION=${CMAKE_VERSION} - -COPY ../scripts/base/install_cmake.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/install_cmake.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-cmake #################### -FROM scratch as ci-package-cmake - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG CMAKE_VERSION -ARG DTS_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" -LABEL org.opencontainers.image.title="CMake package built for ASWF docker images" -LABEL org.opencontainers.image.description="CMake binary to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://cmake.org/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${CMAKE_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" - -COPY --from=ci-cmake-builder /package/. / - - -#################### ci-base-builder #################### -FROM ci-cmake-builder as ci-base-builder - -ARG PYTHON_VERSION_MAJOR_MINOR -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} -ARG VFXPLATFORM_VERSION -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} - -ENV PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} - - -#################### ci-python-builder #################### -FROM ci-base-builder as ci-python-builder - -ARG NUMPY_VERSION -ENV NUMPY_VERSION=${NUMPY_VERSION} -ARG PYTHON_VERSION -ENV PYTHON_VERSION=${PYTHON_VERSION} - -COPY ../scripts/base/build_python.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_python.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-python #################### -FROM scratch as ci-package-python - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG NUMPY_VERSION -ARG PYTHON_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-python" -LABEL org.opencontainers.image.title="Python and numpy packages built for ASWF docker images" -LABEL org.opencontainers.image.description="Python (PSF-2.0 license) and numpy (BSD-3-Clause license) to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://www.python.org/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${PYTHON_VERSION}" -LABEL org.opencontainers.image.licenses="PSF-2.0 AND BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" - -COPY --from=ci-python-builder /package/. / - - -#################### ci-boost-builder #################### -FROM ci-python-builder as ci-boost-builder - -ARG BOOST_VERSION -ENV BOOST_VERSION=${BOOST_VERSION} - -COPY ../scripts/base/build_boost.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_boost.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-boost #################### -FROM scratch as ci-package-boost - -ARG ASWF_ORG -ARG BOOST_VERSION -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-boost" -LABEL org.opencontainers.image.title="Boost package built for ASWF docker images" -LABEL org.opencontainers.image.description="Boost binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://www.boost.org/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${BOOST_VERSION}" -LABEL org.opencontainers.image.licenses="BSL-1.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" - -COPY --from=ci-boost-builder /package/. / - - -#################### ci-tbb-builder #################### -FROM ci-base-builder as ci-tbb-builder - -ARG TBB_VERSION -ENV TBB_VERSION=${TBB_VERSION} - -COPY ../scripts/base/build_tbb.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_tbb.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-tbb #################### -FROM scratch as ci-package-tbb - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG TBB_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-tbb" -LABEL org.opencontainers.image.title="Intel TBB package built for ASWF docker images" -LABEL org.opencontainers.image.description="TBB binaries and headers to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://software.intel.com/en-us/tbb" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${TBB_VERSION}" -LABEL org.opencontainers.image.licenses="Apache-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.boost="${TBB_VERSION}" - -COPY --from=ci-tbb-builder /package/. / - - -#################### ci-cppunit-builder #################### -FROM ci-python-builder as ci-cppunit-builder - -ARG CPPUNIT_VERSION -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} - -COPY ../scripts/base/build_cppunit.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_cppunit.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-cppunit #################### -FROM scratch as ci-package-cppunit - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG CPPUNIT_VERSION -ARG DTS_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-cppunit" -LABEL org.opencontainers.image.title="CppUnit package built for ASWF docker images" -LABEL org.opencontainers.image.description="CppUnit headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://www.boost.org/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${CPPUNIT_VERSION}" -LABEL org.opencontainers.image.licenses="LGPL-2.1-only" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" - -COPY --from=ci-cppunit-builder /package/. / - - -#################### ci-log4cplus-builder #################### -FROM ci-python-builder as ci-log4cplus-builder - -ARG LOG4CPLUS_VERSION -ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} - -COPY ../scripts/base/build_log4cplus.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_log4cplus.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-log4cplus #################### -FROM scratch as ci-package-log4cplus - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG LOG4CPLUS_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-log4cplus" -LABEL org.opencontainers.image.title="log4cplus package built for ASWF docker images" -LABEL org.opencontainers.image.description="log4cplus headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://sourceforge.net/projects/log4cplus/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${LOG4CPLUS_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-2-Clause AND Apache-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" - -COPY --from=ci-log4cplus-builder /package/. / - - -#################### ci-glew-builder #################### -FROM ci-python-builder as ci-glew-builder - -ARG GLEW_VERSION -ENV GLEW_VERSION=${GLEW_VERSION} - -COPY ../scripts/base/build_glew.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_glew.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-glew #################### -FROM scratch as ci-package-glew - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG GLEW_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glew" -LABEL org.opencontainers.image.title="glew package built for ASWF docker images" -LABEL org.opencontainers.image.description="glew headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="http://glew.sourceforge.net/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${GLEW_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause AND MIT" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" - -COPY --from=ci-glew-builder /package/. / - - -#################### ci-glfw-builder #################### -FROM ci-python-builder as ci-glfw-builder - -ARG GLFW_VERSION -ENV GLFW_VERSION=${GLFW_VERSION} - -COPY ../scripts/base/build_glfw.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_glfw.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-glfw #################### -FROM scratch as ci-package-glfw - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG GLFW_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glfw" -LABEL org.opencontainers.image.title="glfw package built for ASWF docker images" -LABEL org.opencontainers.image.description="glfw headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://www.glfw.org/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${GLFW_VERSION}" -LABEL org.opencontainers.image.licenses="Zlib" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" - -COPY --from=ci-glfw-builder /package/. / - - -#################### ci-qt-builder #################### -FROM ci-python-builder as ci-qt-builder - -ARG QT_VERSION -ENV QT_VERSION=${QT_VERSION} - -COPY ../scripts/base/build_qt.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_qt.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-qt #################### -FROM scratch as ci-package-qt - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG QT_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-qt" -LABEL org.opencontainers.image.title="Qt package built for ASWF docker images" -LABEL org.opencontainers.image.description="Qt headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://www.qt.io/" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${QT_VERSION}" -LABEL org.opencontainers.image.licenses="https://doc.qt.io/qt-5/licenses-used-in-qt.html" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.glfw="${QT_VERSION}" - -COPY --from=ci-qt-builder /package/. / - - -#################### ci-pyside-builder #################### -FROM ci-python-builder as ci-pyside-builder - -ARG PYSIDE_VERSION -ENV PYSIDE_VERSION=${PYSIDE_VERSION} - -# Workaround pyside issue with Qt headers within system location https://bugreports.qt.io/browse/PYSIDE-787 -COPY --from=ci-package-qt-external /. /tmp/qt5temp - -COPY ../scripts/base/build_pyside.sh \ - /tmp/ - -COPY --from=ci-package-clang-external /. /usr/local/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_pyside.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-pyside #################### -FROM scratch as ci-package-pyside - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG PYSIDE_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-pyside" -LABEL org.opencontainers.image.title="PySide package built for ASWF docker images" -LABEL org.opencontainers.image.description="PySide headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://www.qt.io/qt-for-python" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${PYSIDE_VERSION}" -LABEL org.opencontainers.image.licenses="LGPL-2.1" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" - -COPY --from=ci-pyside-builder /package/. / - - - -#################### ci-openexr-builder #################### -FROM ci-base-builder as ci-openexr-builder - -ARG OPENEXR_VERSION -ENV OPENEXR_VERSION=${OPENEXR_VERSION} - -COPY --from=ci-package-python-external /. /usr/local/ -COPY --from=ci-package-boost-external /. /usr/local/ - -COPY ../scripts/vfx/build_openexr.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_openexr.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-openexr #################### -FROM scratch as ci-package-openexr - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OPENEXR_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openexr" -LABEL org.opencontainers.image.title="OpenEXR package built for ASWF docker images" -LABEL org.opencontainers.image.description="OpenEXR headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openexr" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OPENEXR_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.pyside="${OPENEXR_VERSION}" - -COPY --from=ci-openexr-builder /package/. / - - -#################### ci-blosc-builder #################### -FROM ci-python-builder as ci-blosc-builder - -ARG BLOSC_VERSION -ENV BLOSC_VERSION=${BLOSC_VERSION} - -COPY ../scripts/vfx/build_blosc.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_blosc.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-blosc #################### -FROM scratch as ci-package-blosc - -ARG ASWF_ORG -ARG BLOSC_VERSION -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-blosc" -LABEL org.opencontainers.image.title="Blosc package built for ASWF docker images" -LABEL org.opencontainers.image.description="Blosc headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/Blosc/c-blosc" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${BLOSC_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.blosc="${BLOSC_VERSION}" - -COPY --from=ci-blosc-builder /package/. / - - -#################### ci-partio-builder #################### -FROM ci-python-builder as ci-partio-builder - -ARG PARTIO_VERSION -ENV PARTIO_VERSION=${PARTIO_VERSION} - -COPY ../scripts/vfx/build_partio.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_partio.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-partio #################### -FROM scratch as ci-package-partio - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG PARTIO_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-partio" -LABEL org.opencontainers.image.title="Partio package built for ASWF docker images" -LABEL org.opencontainers.image.description="Partio headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/wdas/partio" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${PARTIO_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.partio="${PARTIO_VERSION}" - -COPY --from=ci-partio-builder /package/. / - - -#################### ci-oiio-builder #################### -FROM ci-openexr-builder as ci-oiio-builder - -ARG OIIO_VERSION -ENV OIIO_VERSION=${OIIO_VERSION} - -COPY ../scripts/vfx/build_oiio.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_oiio.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-oiio #################### -FROM scratch as ci-package-oiio - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OIIO_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-oiio" -LABEL org.opencontainers.image.title="OpenImageIO package built for ASWF docker images" -LABEL org.opencontainers.image.description="OpenImageIO headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/OpenImageIO/oiio" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OIIO_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" - -COPY --from=ci-oiio-builder /package/. / - - -#################### ci-ocio-builder #################### -FROM ci-oiio-builder as ci-ocio-builder - -ARG OCIO_VERSION -ENV OCIO_VERSION=${OCIO_VERSION} -ARG OCIO_CONFIGS_VERSION -ENV OCIO_CONFIGS_VERSION=${OCIO_CONFIGS_VERSION} - -COPY ../scripts/vfx/build_ocio.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_ocio.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-ocio #################### -FROM scratch as ci-package-ocio - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OCIO_CONFIGS_VERSION -ARG OCIO_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ocio" -LABEL org.opencontainers.image.title="OpenColorIO package built for ASWF docker images" -LABEL org.opencontainers.image.description="OpenColorIO headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/OpenColorIO" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OCIO_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.ocio="${OCIO_VERSION}" -LABEL io.aswf.docker.versions.ocioconfigs="${OCIO_CONFIGS_VERSION}" - -COPY --from=ci-ocio-builder /package/. / - - -#################### ci-osl-builder #################### -FROM ci-oiio-builder as ci-osl-builder - -ARG OSL_VERSION -ENV OSL_VERSION=${OSL_VERSION} - -COPY --from=ci-package-clang-external /. /usr/local/ -COPY --from=ci-package-qt-external /. /usr/local/ -COPY --from=ci-package-partio /. /usr/local/ - -COPY ../scripts/vfx/build_osl.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_osl.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-osl #################### -FROM scratch as ci-package-osl - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OSL_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-osl" -LABEL org.opencontainers.image.title="OpenShadingLanguage package built for ASWF docker images" -LABEL org.opencontainers.image.description="OpenShadingLanguage headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/imageworks/OpenShadingLanguage" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OSL_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.osl="${OSL_VERSION}" - -COPY --from=ci-osl-builder /package/. / - - -#################### ci-alembic-builder #################### -FROM ci-openexr-builder as ci-alembic-builder - -ARG ALEMBIC_VERSION -ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} -ARG HDF5_VERSION -ENV HDF5_VERSION=${HDF5_VERSION} - -COPY ../scripts/vfx/build_alembic.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_alembic.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-alembic #################### -FROM scratch as ci-package-alembic - -ARG ALEMBIC_VERSION -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG HDF5_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-alembic" -LABEL org.opencontainers.image.title="Alembic package built for ASWF docker images" -LABEL org.opencontainers.image.description="Alembic headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/alembic/alembic" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${ALEMBIC_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.alembic="${ALEMBIC_VERSION}" -LABEL io.aswf.docker.versions.hdf5="${HDF5_VERSION}" - -COPY --from=ci-alembic-builder /package/. / - - - -#################### ci-ptex-builder #################### -FROM ci-openexr-builder as ci-ptex-builder - -ARG PTEX_VERSION -ENV PTEX_VERSION=${PTEX_VERSION} - -COPY ../scripts/vfx/build_ptex.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_ptex.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-ptex #################### -FROM scratch as ci-package-ptex - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG PTEX_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ptex" -LABEL org.opencontainers.image.title="Ptex package built for ASWF docker images" -LABEL org.opencontainers.image.description="Ptex headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/wdas/ptex" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${PTEX_VERSION}" -LABEL org.opencontainers.image.licenses="BSD-3-Clause" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.ptex="${PTEX_VERSION}" - -COPY --from=ci-ptex-builder /package/. / - - -#################### ci-opensubdiv-builder #################### -FROM ci-ptex-builder as ci-opensubdiv-builder - -ARG OPENSUBDIV_VERSION -ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} - -COPY ../scripts/vfx/build_opensubdiv.sh \ - /tmp/ - -COPY --from=ci-package-glew /. /usr/local/ -COPY --from=ci-package-tbb /. /usr/local/ -COPY --from=ci-package-glfw /. /usr/local/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_opensubdiv.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-opensubdiv #################### -FROM scratch as ci-package-opensubdiv - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OPENSUBDIV_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-opensubdiv" -LABEL org.opencontainers.image.title="OpenSubdiv package built for ASWF docker images" -LABEL org.opencontainers.image.description="OpenSubdiv headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/OpenSubdiv" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OPENSUBDIV_VERSION}" -LABEL org.opencontainers.image.licenses="Apache-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.opensubdiv="${OPENSUBDIV_VERSION}" - -COPY --from=ci-opensubdiv-builder /package/. / - - -#################### ci-openvdb-builder #################### -FROM ci-openexr-builder as ci-openvdb-builder - -ARG OPENVDB_VERSION -ENV OPENVDB_VERSION=${OPENVDB_VERSION} - -COPY ../scripts/vfx/build_openvdb.sh \ - /tmp/ - -COPY --from=ci-package-glew /. /usr/local/ -COPY --from=ci-package-tbb /. /usr/local/ -COPY --from=ci-package-cppunit /. /usr/local/ -COPY --from=ci-package-glfw /. /usr/local/ -COPY --from=ci-package-blosc /. /usr/local/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_openvdb.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-openvdb #################### -FROM scratch as ci-package-openvdb - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OPENVDB_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openvdb" -LABEL org.opencontainers.image.title="OpenVDB package built for ASWF docker images" -LABEL org.opencontainers.image.description="OpenVDB headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openvdb" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OPENVDB_VERSION}" -LABEL org.opencontainers.image.licenses="MPL-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.openvdb="${OPENVDB_VERSION}" - -COPY --from=ci-openvdb-builder /package/. / - - -#################### ci-usd-builder #################### -FROM ci-opensubdiv-builder as ci-usd-builder - -ARG USD_VERSION -ENV USD_VERSION=${USD_VERSION} - -COPY --from=ci-package-glew /. /usr/local/ -COPY --from=ci-package-alembic /. /usr/local/ -COPY --from=ci-package-openvdb /. /usr/local/ -COPY --from=ci-package-oiio /. /usr/local/ -COPY --from=ci-package-ocio /. /usr/local/ -COPY --from=ci-package-qt-external /. /usr/local/ -COPY --from=ci-package-pyside-external /. /usr/local/ - -COPY ../scripts/vfx/build_usd.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_usd.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-usd #################### -FROM scratch as ci-package-usd - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG USD_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-usd" -LABEL org.opencontainers.image.title="USD package built for ASWF docker images" -LABEL org.opencontainers.image.description="USD (Universal Scene Description) headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/USD" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${USD_VERSION}" -LABEL org.opencontainers.image.licenses="Apache-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.usd="${USD_VERSION}" - -COPY --from=ci-usd-builder /package/. / - - -#################### ci-otio-builder #################### -FROM ci-python-builder as ci-otio-builder - -ARG OTIO_VERSION -ENV OTIO_VERSION=${OTIO_VERSION} - -COPY --from=ci-package-clang-external /. /usr/local/ -COPY --from=ci-package-qt-external /. /usr/local/ -COPY --from=ci-package-pyside-external /. /usr/local/ - -COPY ../scripts/vfx/build_otio.sh \ - /tmp/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_otio.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-otio #################### -FROM scratch as ci-package-otio - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OTIO_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-otio" -LABEL org.opencontainers.image.title="OpenTimelineIO package built for ASWF docker images" -LABEL org.opencontainers.image.description="OpenTimelineIO headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/OpenTimelineIO" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OTIO_VERSION}" -LABEL org.opencontainers.image.licenses="Apache-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.otio="${OTIO_VERSION}" - -COPY --from=ci-otio-builder /package/. / - diff --git a/packages/base1/Dockerfile b/packages/base1/Dockerfile new file mode 100644 index 00000000..f1fdc478 --- /dev/null +++ b/packages/base1/Dockerfile @@ -0,0 +1,395 @@ +# syntax = docker/dockerfile:experimental +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# "Global" ARGs +ARG ASWF_ORG +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG CUDA_VERSION +ARG DTS_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG LOG4CPLUS_VERSION +ARG NINJA_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG TBB_VERSION +ARG VFXPLATFORM_VERSION + + +#################### ci-centos7-gl-packages #################### +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-centos7-gl-packages + +COPY ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + /tmp/ + +ENV DOWNLOADS_DIR=/tmp/downloads \ + CCACHE_DIR=/tmp/ccache \ + ASWF_INSTALL_PREFIX=/usr/local + + +#################### ci-cmake-builder #################### +FROM ci-centos7-gl-packages as ci-cmake-builder + +ARG CI_COMMON_VERSION +ARG CMAKE_VERSION +ENV CMAKE_VERSION=${CMAKE_VERSION} + +COPY ../scripts/base/install_cmake.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/install_cmake.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-cmake #################### +FROM scratch as ci-package-cmake + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG CMAKE_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" +LABEL org.opencontainers.image.title="CMake package built for ASWF docker images" +LABEL org.opencontainers.image.description="CMake binary to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://cmake.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${CMAKE_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" + +COPY --from=ci-cmake-builder /package/. / + + +#################### ci-base-builder #################### +FROM ci-cmake-builder as ci-base-builder + +ARG PYTHON_VERSION_MAJOR_MINOR +ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} +ARG VFXPLATFORM_VERSION +ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} + +ENV PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + + +#################### ci-python-builder #################### +FROM ci-base-builder as ci-python-builder + +ARG NUMPY_VERSION +ENV NUMPY_VERSION=${NUMPY_VERSION} +ARG PYTHON_VERSION +ENV PYTHON_VERSION=${PYTHON_VERSION} + +COPY ../scripts/base/build_python.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_python.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-python #################### +FROM scratch as ci-package-python + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG NUMPY_VERSION +ARG PYTHON_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-python" +LABEL org.opencontainers.image.title="Python and numpy packages built for ASWF docker images" +LABEL org.opencontainers.image.description="Python (PSF-2.0 license) and numpy (BSD-3-Clause license) to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.python.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${PYTHON_VERSION}" +LABEL org.opencontainers.image.licenses="PSF-2.0 AND BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" +LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" + +COPY --from=ci-python-builder /package/. / + + +#################### ci-boost-builder #################### +FROM ci-python-builder as ci-boost-builder + +ARG BOOST_VERSION +ENV BOOST_VERSION=${BOOST_VERSION} + +COPY ../scripts/base/build_boost.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_boost.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-boost #################### +FROM scratch as ci-package-boost + +ARG ASWF_ORG +ARG BOOST_VERSION +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-boost" +LABEL org.opencontainers.image.title="Boost package built for ASWF docker images" +LABEL org.opencontainers.image.description="Boost binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.boost.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${BOOST_VERSION}" +LABEL org.opencontainers.image.licenses="BSL-1.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" + +COPY --from=ci-boost-builder /package/. / + + +#################### ci-tbb-builder #################### +FROM ci-base-builder as ci-tbb-builder + +ARG TBB_VERSION +ENV TBB_VERSION=${TBB_VERSION} + +COPY ../scripts/base/build_tbb.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_tbb.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-tbb #################### +FROM scratch as ci-package-tbb + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG TBB_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-tbb" +LABEL org.opencontainers.image.title="Intel TBB package built for ASWF docker images" +LABEL org.opencontainers.image.description="TBB binaries and headers to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://software.intel.com/en-us/tbb" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${TBB_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.boost="${TBB_VERSION}" + +COPY --from=ci-tbb-builder /package/. / + + +#################### ci-cppunit-builder #################### +FROM ci-python-builder as ci-cppunit-builder + +ARG CPPUNIT_VERSION +ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} + +COPY ../scripts/base/build_cppunit.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_cppunit.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-cppunit #################### +FROM scratch as ci-package-cppunit + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG CPPUNIT_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-cppunit" +LABEL org.opencontainers.image.title="CppUnit package built for ASWF docker images" +LABEL org.opencontainers.image.description="CppUnit headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.boost.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${CPPUNIT_VERSION}" +LABEL org.opencontainers.image.licenses="LGPL-2.1-only" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" + +COPY --from=ci-cppunit-builder /package/. / + + +#################### ci-log4cplus-builder #################### +FROM ci-python-builder as ci-log4cplus-builder + +ARG LOG4CPLUS_VERSION +ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} + +COPY ../scripts/base/build_log4cplus.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_log4cplus.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-log4cplus #################### +FROM scratch as ci-package-log4cplus + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG LOG4CPLUS_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-log4cplus" +LABEL org.opencontainers.image.title="log4cplus package built for ASWF docker images" +LABEL org.opencontainers.image.description="log4cplus headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://sourceforge.net/projects/log4cplus/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${LOG4CPLUS_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-2-Clause AND Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" + +COPY --from=ci-log4cplus-builder /package/. / + + +#################### ci-glew-builder #################### +FROM ci-python-builder as ci-glew-builder + +ARG GLEW_VERSION +ENV GLEW_VERSION=${GLEW_VERSION} + +COPY ../scripts/base/build_glew.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_glew.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-glew #################### +FROM scratch as ci-package-glew + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG GLEW_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glew" +LABEL org.opencontainers.image.title="glew package built for ASWF docker images" +LABEL org.opencontainers.image.description="glew headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="http://glew.sourceforge.net/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${GLEW_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause AND MIT" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" + +COPY --from=ci-glew-builder /package/. / + + +#################### ci-glfw-builder #################### +FROM ci-python-builder as ci-glfw-builder + +ARG GLFW_VERSION +ENV GLFW_VERSION=${GLFW_VERSION} + +COPY ../scripts/base/build_glfw.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_glfw.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-glfw #################### +FROM scratch as ci-package-glfw + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG GLFW_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glfw" +LABEL org.opencontainers.image.title="glfw package built for ASWF docker images" +LABEL org.opencontainers.image.description="glfw headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.glfw.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${GLFW_VERSION}" +LABEL org.opencontainers.image.licenses="Zlib" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" + +COPY --from=ci-glfw-builder /package/. / diff --git a/packages/base2/Dockerfile b/packages/base2/Dockerfile new file mode 100644 index 00000000..ee5319ab --- /dev/null +++ b/packages/base2/Dockerfile @@ -0,0 +1,71 @@ +# syntax = docker/dockerfile:experimental +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# "Global" ARGs +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG QT_VERSION +ARG VFXPLATFORM_VERSION + +# Required base packages built in previous stages +FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external + +#################### ci-centos7-gl-packages #################### +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-centos7-gl-packages + +COPY --from=ci-package-cmake-external /. /usr/local/ + +COPY ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + /tmp/ + +ENV DOWNLOADS_DIR=/tmp/downloads \ + CCACHE_DIR=/tmp/ccache \ + ASWF_INSTALL_PREFIX=/usr/local + + +#################### ci-qt-builder #################### +FROM ci-centos7-gl-packages as ci-qt-builder + +ARG QT_VERSION +ENV QT_VERSION=${QT_VERSION} + +COPY ../scripts/base/build_qt.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_qt.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-qt #################### +FROM scratch as ci-package-qt + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG QT_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-qt" +LABEL org.opencontainers.image.title="Qt package built for ASWF docker images" +LABEL org.opencontainers.image.description="Qt headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.qt.io/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${QT_VERSION}" +LABEL org.opencontainers.image.licenses="https://doc.qt.io/qt-5/licenses-used-in-qt.html" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.glfw="${QT_VERSION}" + +COPY --from=ci-qt-builder /package/. / diff --git a/packages/base3/Dockerfile b/packages/base3/Dockerfile new file mode 100644 index 00000000..dc44af01 --- /dev/null +++ b/packages/base3/Dockerfile @@ -0,0 +1,80 @@ +# syntax = docker/dockerfile:experimental +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# "Global" ARGs +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG CMAKE_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG QT_VERSION +ARG VFXPLATFORM_VERSION + +# Required base packages built in previous stages +FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external +FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external +FROM ${ASWF_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt-external + +#################### ci-centos7-gl-packages #################### +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-centos7-gl-packages + +COPY --from=ci-package-cmake-external /. /usr/local/ + +COPY ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + /tmp/ + +ENV DOWNLOADS_DIR=/tmp/downloads \ + CCACHE_DIR=/tmp/ccache \ + ASWF_INSTALL_PREFIX=/usr/local \ + PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + + +#################### ci-pyside-builder #################### +FROM ci-centos7-gl-packages as ci-pyside-builder + +ARG PYSIDE_VERSION +ENV PYSIDE_VERSION=${PYSIDE_VERSION} + +COPY --from=ci-package-python-external /. /usr/local/ +# Workaround pyside issue with Qt headers within system location https://bugreports.qt.io/browse/PYSIDE-787 +COPY --from=ci-package-qt-external /. /tmp/qt5temp + +COPY ../scripts/base/build_pyside.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_pyside.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-pyside #################### +FROM scratch as ci-package-pyside + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG PYSIDE_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-pyside" +LABEL org.opencontainers.image.title="PySide package built for ASWF docker images" +LABEL org.opencontainers.image.description="PySide headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://www.qt.io/qt-for-python" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${PYSIDE_VERSION}" +LABEL org.opencontainers.image.licenses="LGPL-2.1" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" + +COPY --from=ci-pyside-builder /package/. / + diff --git a/packages/common/Dockerfile b/packages/common/Dockerfile new file mode 100644 index 00000000..a8da5598 --- /dev/null +++ b/packages/common/Dockerfile @@ -0,0 +1,128 @@ +# syntax = docker/dockerfile:experimental +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# "Global" ARGs +ARG ASWF_ORG +ARG CCACHE_VERSION +ARG CI_COMMON_VERSION +ARG CLANG_VERSION +ARG CUDA_VERSION +ARG DTS_VERSION +ARG NINJA_VERSION + +#################### ci-centos7-gl-packages #################### +FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-centos7-gl-packages + +ARG CI_COMMON_VERSION +ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} +ARG CUDA_VERSION +ENV CUDA_VERSION=${CUDA_VERSION} +ARG DTS_VERSION +ENV DTS_VERSION=${DTS_VERSION} + +COPY ../scripts/common/install_yumpackages.sh \ + /tmp/ + +RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ + /tmp/install_yumpackages.sh + +COPY ../scripts/common/install_dev_ccache.sh \ + ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + ../scripts/common/install_dev_cmake.sh \ + /tmp/ + +ENV DOWNLOADS_DIR=/tmp/downloads \ + CCACHE_DIR=/tmp/ccache \ + ASWF_INSTALL_PREFIX=/usr/local \ + LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ + PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin + +RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/install_dev_cmake.sh && \ + /tmp/install_dev_ccache.sh + + +#################### ci-clang-builder #################### +FROM ci-centos7-gl-packages as ci-clang-builder +ARG CLANG_VERSION +ENV CLANG_VERSION=${CLANG_VERSION} + +COPY ../scripts/common/build_clang.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,target=/tmp/downloads \ + /tmp/install_dev_cmake.sh && \ + /tmp/before_build.sh && \ + /tmp/build_clang.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-clang #################### +FROM scratch as ci-package-clang + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG CLANG_VERSION +ARG DTS_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-clang" +LABEL org.opencontainers.image.title="Clang package built for ASWF docker images" +LABEL org.opencontainers.image.description="Clang (llvm) build artifacts to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://llvm.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${CLANG_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.clang="${CLANG_VERSION}" + +COPY --from=ci-clang-builder /package/. / + + +#################### ci-ninja-builder #################### +FROM ci-centos7-gl-packages as ci-ninja-builder + +ARG NINJA_VERSION +ENV NINJA_VERSION=${NINJA_VERSION} + +COPY ../scripts/common/build_ninja.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_ninja.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-ninja #################### +FROM scratch as ci-package-ninja + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG NINJA_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" +LABEL org.opencontainers.image.title="Ninja package built for ASWF docker images" +LABEL org.opencontainers.image.description="Ninja binary to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://ninja-build.org/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${NINJA_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.ninja="${NINJA_VERSION}" + +COPY --from=ci-ninja-builder /package/. / + + diff --git a/packages/vfx1/Dockerfile b/packages/vfx1/Dockerfile new file mode 100644 index 00000000..4cad45d8 --- /dev/null +++ b/packages/vfx1/Dockerfile @@ -0,0 +1,287 @@ +# syntax = docker/dockerfile:experimental +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# "Global" ARGs +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION + +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG CMAKE_VERSION +ARG BOOST_VERSION + +ARG ALEMBIC_VERSION +ARG BLOSC_VERSION +ARG HDF5_VERSION +ARG OCIO_CONFIGS_VERSION +ARG OCIO_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION + +# Required base packages built in previous stages +FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external +FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external +FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost-external + +#################### ci-centos7-gl-packages #################### +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base-builder + +COPY --from=ci-package-cmake-external /. /usr/local/ +COPY --from=ci-package-python-external /. /usr/local/ +COPY --from=ci-package-boost-external /. /usr/local/ + +COPY ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + /tmp/ + +ENV DOWNLOADS_DIR=/tmp/downloads \ + CCACHE_DIR=/tmp/ccache \ + ASWF_INSTALL_PREFIX=/usr/local \ + PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + +#################### ci-openexr-builder #################### +FROM ci-base-builder as ci-openexr-builder + +ARG OPENEXR_VERSION +ENV OPENEXR_VERSION=${OPENEXR_VERSION} + +COPY ../scripts/vfx/build_openexr.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_openexr.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-openexr #################### +FROM scratch as ci-package-openexr + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG OPENEXR_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openexr" +LABEL org.opencontainers.image.title="OpenEXR package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenEXR headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openexr" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OPENEXR_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.pyside="${OPENEXR_VERSION}" + +COPY --from=ci-openexr-builder /package/. / + + + +#################### ci-alembic-builder #################### +FROM ci-openexr-builder as ci-alembic-builder + +ARG ALEMBIC_VERSION +ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} +ARG HDF5_VERSION +ENV HDF5_VERSION=${HDF5_VERSION} + +COPY ../scripts/vfx/build_alembic.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_alembic.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-alembic #################### +FROM scratch as ci-package-alembic + +ARG ALEMBIC_VERSION +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG HDF5_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-alembic" +LABEL org.opencontainers.image.title="Alembic package built for ASWF docker images" +LABEL org.opencontainers.image.description="Alembic headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/alembic/alembic" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${ALEMBIC_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.alembic="${ALEMBIC_VERSION}" +LABEL io.aswf.docker.versions.hdf5="${HDF5_VERSION}" + +COPY --from=ci-alembic-builder /package/. / + + +#################### ci-blosc-builder #################### +FROM ci-base-builder as ci-blosc-builder + +ARG BLOSC_VERSION +ENV BLOSC_VERSION=${BLOSC_VERSION} + +COPY ../scripts/vfx/build_blosc.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_blosc.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-blosc #################### +FROM scratch as ci-package-blosc + +ARG ASWF_ORG +ARG BLOSC_VERSION +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-blosc" +LABEL org.opencontainers.image.title="Blosc package built for ASWF docker images" +LABEL org.opencontainers.image.description="Blosc headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/Blosc/c-blosc" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${BLOSC_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.blosc="${BLOSC_VERSION}" + +COPY --from=ci-blosc-builder /package/. / + + +#################### ci-oiio-builder #################### +FROM ci-openexr-builder as ci-oiio-builder + +ARG OIIO_VERSION +ENV OIIO_VERSION=${OIIO_VERSION} + +COPY ../scripts/vfx/build_oiio.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_oiio.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-oiio #################### +FROM scratch as ci-package-oiio + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG OIIO_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-oiio" +LABEL org.opencontainers.image.title="OpenImageIO package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenImageIO headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/OpenImageIO/oiio" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OIIO_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" + +COPY --from=ci-oiio-builder /package/. / + + +#################### ci-ocio-builder #################### +FROM ci-oiio-builder as ci-ocio-builder + +ARG OCIO_VERSION +ENV OCIO_VERSION=${OCIO_VERSION} +ARG OCIO_CONFIGS_VERSION +ENV OCIO_CONFIGS_VERSION=${OCIO_CONFIGS_VERSION} + +COPY ../scripts/vfx/build_ocio.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_ocio.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-ocio #################### +FROM scratch as ci-package-ocio + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG OCIO_CONFIGS_VERSION +ARG OCIO_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ocio" +LABEL org.opencontainers.image.title="OpenColorIO package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenColorIO headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/OpenColorIO" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OCIO_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.ocio="${OCIO_VERSION}" +LABEL io.aswf.docker.versions.ocioconfigs="${OCIO_CONFIGS_VERSION}" + +COPY --from=ci-ocio-builder /package/. / + + +#################### ci-osl-builder #################### +FROM ci-oiio-builder as ci-osl-builder + +ARG OSL_VERSION +ENV OSL_VERSION=${OSL_VERSION} + +COPY --from=ci-package-clang-external /. /usr/local/ +COPY --from=ci-package-qt-external /. /usr/local/ +COPY --from=ci-package-partio /. /usr/local/ + +COPY ../scripts/vfx/build_osl.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_osl.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats diff --git a/packages/vfx2/Dockerfile b/packages/vfx2/Dockerfile new file mode 100644 index 00000000..9a7e558a --- /dev/null +++ b/packages/vfx2/Dockerfile @@ -0,0 +1,394 @@ +# syntax = docker/dockerfile:experimental +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# "Global" ARGs +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG CLANG_MAJOR_VERSION +ARG VFXPLATFORM_VERSION + +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION +ARG PYTHON_VERSION +ARG PYTHON_VERSION_MAJOR_MINOR +ARG TBB_VERSION + +ARG ALEMBIC_VERSION +ARG BLOSC_VERSION +ARG OCIO_VERSION +ARG OIIO_VERSION +ARG OPENEXR_VERSION +ARG OPENSUBDIV_VERSION +ARG OPENVDB_VERSION +ARG OSL_VERSION +ARG OTIO_VERSION +ARG PARTIO_VERSION +ARG PTEX_VERSION +ARG PYSIDE_VERSION +ARG QT_VERSION +ARG USD_VERSION + +# Required base packages built in previous stages +FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external +FROM ${ASWF_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit-external +FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external +FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost-external +FROM ${ASWF_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb-external +FROM ${ASWF_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt-external +FROM ${ASWF_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside-external + +FROM ${ASWF_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr-external +FROM ${ASWF_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc-external +FROM ${ASWF_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew-external +FROM ${ASWF_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw-external +FROM ${ASWF_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-${ALEMBIC_VERSION} as ci-package-alembic-external +FROM ${ASWF_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-${OPENVDB_VERSION} as ci-package-openvdb-external +FROM ${ASWF_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio-external +FROM ${ASWF_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio-external + +#################### ci-centos7-gl-packages #################### +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base-builder + +COPY --from=ci-package-cmake-external /. /usr/local/ +COPY --from=ci-package-python-external /. /usr/local/ +COPY --from=ci-package-boost-external /. /usr/local/ + +COPY ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + /tmp/ + +ENV DOWNLOADS_DIR=/tmp/downloads \ + CCACHE_DIR=/tmp/ccache \ + ASWF_INSTALL_PREFIX=/usr/local \ + PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + + +#################### ci-partio-builder #################### +FROM ci-base-builder as ci-partio-builder + +ARG PARTIO_VERSION +ENV PARTIO_VERSION=${PARTIO_VERSION} + +COPY ../scripts/vfx/build_partio.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_partio.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-partio #################### +FROM scratch as ci-package-partio + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG PARTIO_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-partio" +LABEL org.opencontainers.image.title="Partio package built for ASWF docker images" +LABEL org.opencontainers.image.description="Partio headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/wdas/partio" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${PARTIO_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.partio="${PARTIO_VERSION}" + +COPY --from=ci-partio-builder /package/. / + + +#################### ci-osl-builder #################### +FROM ci-partio-builder as ci-osl-builder + +ARG OSL_VERSION +ENV OSL_VERSION=${OSL_VERSION} + +COPY --from=ci-package-openexr-external /. /usr/local/ +COPY --from=ci-package-oiio-external /. /usr/local/ + +COPY ../scripts/vfx/build_osl.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_osl.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-osl #################### +FROM scratch as ci-package-osl + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG OSL_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-osl" +LABEL org.opencontainers.image.title="OpenShadingLanguage package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenShadingLanguage headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/imageworks/OpenShadingLanguage" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OSL_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.osl="${OSL_VERSION}" + +COPY --from=ci-osl-builder /package/. / + + +#################### ci-ptex-builder #################### +FROM ci-base-builder as ci-ptex-builder + +ARG PTEX_VERSION +ENV PTEX_VERSION=${PTEX_VERSION} + +COPY ../scripts/vfx/build_ptex.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_ptex.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-ptex #################### +FROM scratch as ci-package-ptex + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG PTEX_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ptex" +LABEL org.opencontainers.image.title="Ptex package built for ASWF docker images" +LABEL org.opencontainers.image.description="Ptex headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/wdas/ptex" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${PTEX_VERSION}" +LABEL org.opencontainers.image.licenses="BSD-3-Clause" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.ptex="${PTEX_VERSION}" + +COPY --from=ci-ptex-builder /package/. / + + +#################### ci-opensubdiv-builder #################### +FROM ci-ptex-builder as ci-opensubdiv-builder + +ARG OPENSUBDIV_VERSION +ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} + +COPY ../scripts/vfx/build_opensubdiv.sh \ + /tmp/ + +COPY --from=ci-package-glew-external /. /usr/local/ +COPY --from=ci-package-tbb-external /. /usr/local/ +COPY --from=ci-package-glfw-external /. /usr/local/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_opensubdiv.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-opensubdiv #################### +FROM scratch as ci-package-opensubdiv + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG OPENSUBDIV_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-opensubdiv" +LABEL org.opencontainers.image.title="OpenSubdiv package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenSubdiv headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/OpenSubdiv" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OPENSUBDIV_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.opensubdiv="${OPENSUBDIV_VERSION}" + +COPY --from=ci-opensubdiv-builder /package/. / + + +#################### ci-openvdb-builder #################### +FROM ci-base-builder as ci-openvdb-builder + +ARG OPENVDB_VERSION +ENV OPENVDB_VERSION=${OPENVDB_VERSION} + +COPY ../scripts/vfx/build_openvdb.sh \ + /tmp/ + +COPY --from=ci-package-openexr-external /. /usr/local/ +COPY --from=ci-package-glew-external /. /usr/local/ +COPY --from=ci-package-tbb-external /. /usr/local/ +COPY --from=ci-package-cppunit-external /. /usr/local/ +COPY --from=ci-package-glfw-external /. /usr/local/ +COPY --from=ci-package-blosc-external /. /usr/local/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_openvdb.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-openvdb #################### +FROM scratch as ci-package-openvdb + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG OPENVDB_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openvdb" +LABEL org.opencontainers.image.title="OpenVDB package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenVDB headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openvdb" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OPENVDB_VERSION}" +LABEL org.opencontainers.image.licenses="MPL-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.openvdb="${OPENVDB_VERSION}" + +COPY --from=ci-openvdb-builder /package/. / + + +#################### ci-usd-builder #################### +FROM ci-opensubdiv-builder as ci-usd-builder + +ARG USD_VERSION +ENV USD_VERSION=${USD_VERSION} + +COPY --from=ci-package-glew-external /. /usr/local/ +COPY --from=ci-package-alembic-external /. /usr/local/ +COPY --from=ci-package-openvdb-external /. /usr/local/ +COPY --from=ci-package-oiio-external /. /usr/local/ +COPY --from=ci-package-ocio-external /. /usr/local/ +COPY --from=ci-package-qt-external /. /usr/local/ +COPY --from=ci-package-pyside-external /. /usr/local/ + +COPY ../scripts/vfx/build_usd.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_usd.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-usd #################### +FROM scratch as ci-package-usd + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG USD_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-usd" +LABEL org.opencontainers.image.title="USD package built for ASWF docker images" +LABEL org.opencontainers.image.description="USD (Universal Scene Description) headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/USD" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${USD_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.usd="${USD_VERSION}" + +COPY --from=ci-usd-builder /package/. / + + +#################### ci-otio-builder #################### +FROM ci-base-builder as ci-otio-builder + +ARG OTIO_VERSION +ENV OTIO_VERSION=${OTIO_VERSION} + +COPY --from=ci-package-qt-external /. /usr/local/ +COPY --from=ci-package-pyside-external /. /usr/local/ + +COPY ../scripts/vfx/build_otio.sh \ + /tmp/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_otio.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-otio #################### +FROM scratch as ci-package-otio + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG OTIO_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-otio" +LABEL org.opencontainers.image.title="OpenTimelineIO package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenTimelineIO headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/OpenTimelineIO" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OTIO_VERSION}" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.otio="${OTIO_VERSION}" + +COPY --from=ci-otio-builder /package/. / + diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index e11954dd..390531c6 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -45,7 +45,7 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: image.replace("ci-package-", "").upper() + "_VERSION" ), ) - docker_file = "packages/Dockerfile" + docker_file = f"packages/{self.index.get_group_from_image(self.group_info.type, image.replace('ci-package-', ''))}/Dockerfile" else: tags = version_info.get_tags(version, self.build_info.docker_org, image) docker_file = f"{image}/Dockerfile" diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index 7c72cb50..03a64e41 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -107,19 +107,20 @@ def common_image_options(function): def get_group_info(build_info, ci_image_type, groups, versions, full_name, targets): + idx = index.Index() if full_name: org, image_type, target, version = full_name versions = [version] targets = [target] try: - groups = [utils.get_group_from_image(image_type, target)] + groups = [idx.get_group_from_image(image_type, target)] except RuntimeError as e: raise click.BadOptionUsage(option_name="--full-name", message=e.args[0]) build_info.set_org(org) else: image_type = constants.ImageType[ci_image_type] if not groups and targets: - groups = [utils.get_group_from_image(image_type, targets[0])] + groups = [idx.get_group_from_image(image_type, targets[0])] group_info = groupinfo.GroupInfo( type_=image_type, names=groups, versions=versions, targets=targets, ) @@ -247,7 +248,7 @@ def download(build_info, docker_org, package, version): def packages(): """Lists all known ci packages in this format: PACKAGEGROUP/ci-package-PACKAGE:VERSION """ - for group, packages in constants.GROUPS[constants.ImageType.PACKAGE].items(): + for group, packages in index.Index().groups[constants.ImageType.PACKAGE].items(): for package in packages: image_name = utils.get_image_name(constants.ImageType.PACKAGE, package) for version in index.Index().iter_versions( @@ -402,7 +403,7 @@ def dockergen(context, image_name, check): """ if image_name == "all": images = [] - for gimages in constants.GROUPS[constants.ImageType.IMAGE].values(): + for gimages in index.Index().groups[constants.ImageType.IMAGE].values(): images.extend(gimages) else: images = [image_name] diff --git a/python/aswfdocker/constants.py b/python/aswfdocker/constants.py index 26271b2e..b27cab89 100644 --- a/python/aswfdocker/constants.py +++ b/python/aswfdocker/constants.py @@ -12,41 +12,6 @@ class ImageType(enum.Enum): PACKAGE = "package" -# Groups try to split builds into reasonable blocks of build time -GROUPS = { - ImageType.PACKAGE: { - "common": ["clang", "ninja"], - "base1": [ - "cmake", - "python", - "boost", - "tbb", - "cppunit", - "glew", - "glfw", - "log4cplus", - ], - "base2": ["qt"], - "base3": ["pyside"], - "vfx1": ["blosc", "openexr", "alembic", "ocio", "oiio"], - "vfx2": ["opensubdiv", "ptex", "openvdb", "usd", "otio"], - "vfx3": ["partio", "osl"], - }, - ImageType.CI_IMAGE: { - "common": ["common"], - "base": ["base", "baseqt"], - "vfx1": ["openexr", "openvdb", "opencue"], - "vfx2": ["ocio", "osl", "otio"], - "usd": ["usd"], - "vfxall": ["vfxall"], - }, - ImageType.RT_IMAGE: { - "base": ["base"], - "vfx1": ["vfxall"], - "vfx2": ["vfxall-jupyter"], - }, -} - PUBLISH_DOCKER_ORG = "aswf" TESTING_DOCKER_ORG = "aswftesting" # this org is not valid, but this ensures that the test will not accidently pull an existing image diff --git a/python/aswfdocker/groupinfo.py b/python/aswfdocker/groupinfo.py index 330f3202..420837da 100644 --- a/python/aswfdocker/groupinfo.py +++ b/python/aswfdocker/groupinfo.py @@ -28,10 +28,10 @@ def __init__( self.names = names self.versions = [utils.get_major_version(v) for v in versions] for name in self.names: - if name not in constants.GROUPS[self.type]: + if name not in self.index.groups[self.type]: raise TypeError(f"Group {name} is not valid!") self.images = [] - for images in [constants.GROUPS[self.type][n] for n in self.names]: + for images in [self.index.groups[self.type][n] for n in self.names]: self.images.extend(images) self.targets = targets logger.debug( diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index e82b194c..27ca2fa8 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -23,6 +23,10 @@ def __init__(self): "versions.yaml" ).open() as f: self._versions = yaml.load(f, Loader=yaml.FullLoader) + self.groups = { + constants.ImageType.IMAGE: self._versions["groups"]["image"], + constants.ImageType.PACKAGE: self._versions["groups"]["package"], + } self._version_infos = {} for version, v in self._versions["versions"].items(): self._version_infos[version] = versioninfo.VersionInfo( @@ -73,3 +77,10 @@ def version_info(self, version): def package_data(self, package_name): return self._versions["package_data"].get(package_name, {}) + + def get_group_from_image(self, image_type: constants.ImageType, image: str): + for group, images in self.groups[image_type].items(): + for img in images: + if img == image: + return group + raise RuntimeError(f"Cannot find group for image {image}") diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index c969e1e2..48c3cdc0 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -47,6 +47,10 @@ def test_package_baseqt_2019_dict(self): self.assertEqual( baked["target"]["ci-package-qt-2019"]["args"]["ASWF_VERSION"], qt_version ) + self.assertEqual( + baked["target"]["ci-package-qt-2019"]["dockerfile"], + "packages/base2/Dockerfile", + ) def test_image_base_2019_dict(self): b = builder.Builder( diff --git a/python/aswfdocker/tests/test_index.py b/python/aswfdocker/tests/test_index.py index b6f3b332..cd2d6e2a 100644 --- a/python/aswfdocker/tests/test_index.py +++ b/python/aswfdocker/tests/test_index.py @@ -38,3 +38,9 @@ def test_version_info(self): vi = self.index.version_info("2019") self.assertTrue(vi) self.assertEqual(vi.version, "2019") + + def test_group_from_image(self): + self.assertEqual( + self.index.get_group_from_image(constants.ImageType.PACKAGE, "clang"), + "common", + ) diff --git a/python/aswfdocker/tests/test_utils.py b/python/aswfdocker/tests/test_utils.py index 7fedaf03..41cbe955 100644 --- a/python/aswfdocker/tests/test_utils.py +++ b/python/aswfdocker/tests/test_utils.py @@ -90,11 +90,6 @@ def test_image_def_from_name(self): ("aswf", constants.ImageType.PACKAGE, "clang", "1-clang6"), ) - def test_group_from_image(self): - self.assertEqual( - utils.get_group_from_image(constants.ImageType.PACKAGE, "clang"), "common" - ) - class TestUtilsCli(unittest.TestCase): def setUp(self): diff --git a/python/aswfdocker/utils.py b/python/aswfdocker/utils.py index 718d54f8..53c3883c 100644 --- a/python/aswfdocker/utils.py +++ b/python/aswfdocker/utils.py @@ -116,6 +116,7 @@ def get_image_spec(name: str): return org, image_type, image, version +<<<<<<< HEAD def get_group_from_image(image_type: constants.ImageType, image: str): for group, images in constants.GROUPS[image_type].items(): for img in images: @@ -164,6 +165,8 @@ def iter_all_images(): for image in images: yield org, image_type, image ======= +======= +>>>>>>> Split package dockerfile alongside groups to speed builds def get_dockerhub_token(username, password): body = {"username": username, "password": password} response = requests.post("https://hub.docker.com/v2/users/login", json=body) diff --git a/versions.yaml b/versions.yaml index 51d5f734..a96baa3c 100644 --- a/versions.yaml +++ b/versions.yaml @@ -450,6 +450,56 @@ rt-images: - "2020.0" - "2021.0" +groups: + package: + common: + - clang + - ninja + base1: + - boost + - cmake + - cppunit + - glew + - glfw + - log4cplus + - python + - tbb + base2: + - qt + base3: + - pyside + vfx1: + - alembic + - blosc + - ocio + - oiio + - openexr + vfx2: + - opensubdiv + - openvdb + - osl + - otio + - partio + - ptex + - usd + image: + common: + - common + base: + - base + - baseqt + vfx1: + - opencue + - openexr + - openvdb + vfx2: + - ocio + - osl + - otio + - usd + vfx3: + - vfxall + package_data: python: docker_args: From f60aebc67a98d8f57214acdf871434ea7259e8c7 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sun, 8 Nov 2020 20:50:26 +1100 Subject: [PATCH 074/132] Fixed missing openexr for usd Signed-off-by: Aloys Baillet --- packages/vfx2/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/vfx2/Dockerfile b/packages/vfx2/Dockerfile index 9a7e558a..3ca3bcdd 100644 --- a/packages/vfx2/Dockerfile +++ b/packages/vfx2/Dockerfile @@ -302,6 +302,7 @@ FROM ci-opensubdiv-builder as ci-usd-builder ARG USD_VERSION ENV USD_VERSION=${USD_VERSION} +COPY --from=ci-package-openexr-external /. /usr/local/ COPY --from=ci-package-glew-external /. /usr/local/ COPY --from=ci-package-alembic-external /. /usr/local/ COPY --from=ci-package-openvdb-external /. /usr/local/ From 87b6436334080ace3741c66501502d38fc70ef6d Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Sun, 8 Nov 2020 22:05:08 +1100 Subject: [PATCH 075/132] New aswfdocker patch version Signed-off-by: Aloys Baillet --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 77536013..b420e91d 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name="aswfdocker", - version="0.3.2", + version="0.3.3", author="Aloys Baillet", author_email="aloys.baillet+github@gmail.com", description="ASWF Docker Utilities", From c9bfea225b4e357e7a52504bdb2b63c91c4c5267 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 9 Nov 2020 14:22:32 +1100 Subject: [PATCH 076/132] Fixed qt package build Signed-off-by: Aloys Baillet --- packages/base2/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/base2/Dockerfile b/packages/base2/Dockerfile index ee5319ab..f7580efa 100644 --- a/packages/base2/Dockerfile +++ b/packages/base2/Dockerfile @@ -5,6 +5,7 @@ # "Global" ARGs ARG ASWF_ORG ARG CI_COMMON_VERSION +ARG CMAKE_VERSION ARG CLANG_MAJOR_VERSION ARG PYTHON_VERSION ARG PYTHON_VERSION_MAJOR_MINOR From f1503b5f5f7fa8c1a0528590ba6e7de0d29ccbf5 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Mon, 9 Nov 2020 15:43:28 +1100 Subject: [PATCH 077/132] Improved docker image readme Signed-off-by: Aloys Baillet --- ci-base/README.md | 8 +++++++- ci-baseqt/README.md | 8 +++++++- ci-common/README.md | 8 +++++++- ci-ocio/README.md | 8 +++++++- ci-opencue/README.md | 8 +++++++- ci-openexr/README.md | 8 +++++++- ci-openvdb/README.md | 8 +++++++- ci-osl/README.md | 8 +++++++- ci-otio/README.md | 8 +++++++- ci-usd/README.md | 8 +++++++- ci-vfxall/README.md | 8 +++++++- python/aswfdocker/data/ci-image-readme.jinja2 | 8 +++++++- 12 files changed, 84 insertions(+), 12 deletions(-) diff --git a/ci-base/README.md b/ci-base/README.md index 882f8ce2..7256f2ef 100644 --- a/ci-base/README.md +++ b/ci-base/README.md @@ -5,11 +5,17 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# Base CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## Base CI Docker Image Contains: python, tbb, boost and other base libraries +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-base/Dockerfile) + ## [aswf/ci-base:2018.7](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2018.7) Contains: * boost-1.61.0 diff --git a/ci-baseqt/README.md b/ci-baseqt/README.md index 16bda42f..ebd8ca4f 100644 --- a/ci-baseqt/README.md +++ b/ci-baseqt/README.md @@ -5,11 +5,17 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# Base with Qt and PySide CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## Base with Qt and PySide CI Docker Image Contains: python, tbb, boost, Qt, PySide and other base libraries +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-baseqt/Dockerfile) + ## [aswf/ci-baseqt:2018.0](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2018.0) Contains: * boost-1.61.0 diff --git a/ci-common/README.md b/ci-common/README.md index fe7fe6e7..b1248afb 100644 --- a/ci-common/README.md +++ b/ci-common/README.md @@ -5,11 +5,17 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# Common CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## Common CI Docker Image Contains: gcc, clang, ninja, ccache and all base OS libraries +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-common/Dockerfile) + ## [aswf/ci-common:1-clang6.7](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=1-clang6.7) Contains: * clang-6.0.1 diff --git a/ci-ocio/README.md b/ci-ocio/README.md index 637e1e8b..24802750 100644 --- a/ci-ocio/README.md +++ b/ci-ocio/README.md @@ -5,12 +5,18 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# OpenColorIO CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## OpenColorIO CI Docker Image Contains: python, tbb, boost and other OpenColorIO upstream dependencies Warning: this image does *not* contain OpenColorIO itself as it is used to *build* OpenColorIO! +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-ocio/Dockerfile) + ## [aswf/ci-ocio:2018.8](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2018.8) Contains: * python-2.7.15 diff --git a/ci-opencue/README.md b/ci-opencue/README.md index d5b3428c..3dbf8452 100644 --- a/ci-opencue/README.md +++ b/ci-opencue/README.md @@ -5,12 +5,18 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# OpenCue CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## OpenCue CI Docker Image Contains: python, cmake and other OpenCue upstream dependencies Warning: this image does *not* contain OpenCue itself as it is used to *build* OpenCue! +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-opencue/Dockerfile) + ## [aswf/ci-opencue:2018.7](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2018.7) Contains: * python-2.7.15 diff --git a/ci-openexr/README.md b/ci-openexr/README.md index 175a36ee..2968af31 100644 --- a/ci-openexr/README.md +++ b/ci-openexr/README.md @@ -5,12 +5,18 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# OpenEXR CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## OpenEXR CI Docker Image Contains: python, boost and other OpenEXR upstream dependencies Warning: this image does *not* contain OpenEXR itself as it is used to *build* OpenEXR! +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-openexr/Dockerfile) + ## [aswf/ci-openexr:2018.7](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2018.7) Contains: * python-2.7.15 diff --git a/ci-openvdb/README.md b/ci-openvdb/README.md index 5b0272ff..6d00e42c 100644 --- a/ci-openvdb/README.md +++ b/ci-openvdb/README.md @@ -5,12 +5,18 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# OpenVDB CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## OpenVDB CI Docker Image Contains: python, boost, tbb and other OpenVDB upstream dependencies Warning: this image does *not* contain OpenVDB itself as it is used to *build* OpenVDB! +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-openvdb/Dockerfile) + ## [aswf/ci-openvdb:2018-clang7.7](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2018-clang7.7) Contains: * boost-1.61.0 diff --git a/ci-osl/README.md b/ci-osl/README.md index f68b80ba..6d38e940 100644 --- a/ci-osl/README.md +++ b/ci-osl/README.md @@ -5,12 +5,18 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# OpenShadingLanguage CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## OpenShadingLanguage CI Docker Image Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstream dependencies Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage! +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-osl/Dockerfile) + ## [aswf/ci-osl:2018-clang7.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2018-clang7.3) Contains: * boost-1.61.0 diff --git a/ci-otio/README.md b/ci-otio/README.md index 6ccbca59..408f38f2 100644 --- a/ci-otio/README.md +++ b/ci-otio/README.md @@ -5,12 +5,18 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# OpenTimelineIO CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## OpenTimelineIO CI Docker Image Contains: python, Qt, PySide and other OpenTimelineIO upstream dependencies Warning: this image does *not* contain OpenTimelineIO itself as it is used to *build* OpenTimelineIO! +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-otio/Dockerfile) + ## [aswf/ci-otio:2019.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2019.2) Contains: * python-2.7.15 diff --git a/ci-usd/README.md b/ci-usd/README.md index 551fc308..5a5abcb8 100644 --- a/ci-usd/README.md +++ b/ci-usd/README.md @@ -5,12 +5,18 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# USD CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## USD CI Docker Image Contains: python, Qt, PySide and other USD upstream dependencies Warning: this image does *not* contain USD itself as it is used to *build* USD! +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-usd/Dockerfile) + ## [aswf/ci-usd:2019.8](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2019.8) Contains: * python-2.7.15 diff --git a/ci-vfxall/README.md b/ci-vfxall/README.md index 5bdbc7d7..e1491662 100644 --- a/ci-vfxall/README.md +++ b/ci-vfxall/README.md @@ -5,11 +5,17 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# VFX All CI Docker Image +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## VFX All CI Docker Image Contains: all supported VFX packages +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-vfxall/Dockerfile) + ## [aswf/ci-vfxall:2019-clang6.11](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2019-clang6.11) Contains: * python-2.7.15 diff --git a/python/aswfdocker/data/ci-image-readme.jinja2 b/python/aswfdocker/data/ci-image-readme.jinja2 index 11a706ff..2362da1a 100644 --- a/python/aswfdocker/data/ci-image-readme.jinja2 +++ b/python/aswfdocker/data/ci-image-readme.jinja2 @@ -5,10 +5,16 @@ SPDX-License-Identifier: Apache-2.0 Warning: this file is automatically generated from a template! --> -# {{ title }} +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) for further information, and participate in the discussion on the [ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## {{ title }} {{ description }} +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-{{ name }}/Dockerfile) + {% for version in index.iter_versions(constants.ImageType.IMAGE, name) -%} ## [aswf/ci-{{name}}:{{version}}](https://hub.docker.com/r/aswf/ci-{{name}}/tags?page=1&name={{version}}) Contains: From aed0e4a9d20c0e6019c0f984b11a96e1a75d23ce Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 11 Nov 2020 09:03:39 +1100 Subject: [PATCH 078/132] Truncate description to the allowed maximum of 100 chars Signed-off-by: Aloys Baillet --- python/aswfdocker/dockergen.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index 1f55a5da..2382f677 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -69,10 +69,11 @@ def check_readme(self): def push_overview(self, docker_org, token): _, readme = self._render_readme() + description = self.image_data["title"] + "\n" + self.image_data["description"] + if len(description) > 99: + description = description[:96] + "..." body = { - "description": self.image_data["title"] - + "\n" - + self.image_data["description"], + "description": description, "full_description": readme, } url = ( @@ -82,4 +83,7 @@ def push_overview(self, docker_org, token): response = requests.patch( url, json=body, headers={"Authorization": f"JWT {token}"}, ) - return response.status_code == 200 + if response.status_code == 200: + return True + logger.error("Failed to update description: %s", response.json()) + return False From ebe7a3758d59dbff1a2025fa23779852ae5876ea Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 11 Nov 2020 10:06:17 +1100 Subject: [PATCH 079/132] Re-ordered some builds and groups to make release easier Signed-off-by: Aloys Baillet --- packages/vfx1/Dockerfile | 64 ++++++++++++++++++++++++++++++++++++++-- packages/vfx2/Dockerfile | 50 ------------------------------- versions.yaml | 30 +++++++++---------- 3 files changed, 77 insertions(+), 67 deletions(-) diff --git a/packages/vfx1/Dockerfile b/packages/vfx1/Dockerfile index 4cad45d8..3ae744bf 100644 --- a/packages/vfx1/Dockerfile +++ b/packages/vfx1/Dockerfile @@ -8,10 +8,14 @@ ARG CI_COMMON_VERSION ARG CLANG_MAJOR_VERSION ARG VFXPLATFORM_VERSION +ARG BOOST_VERSION +ARG CMAKE_VERSION +ARG CPPUNIT_VERSION +ARG GLEW_VERSION +ARG GLFW_VERSION ARG PYTHON_VERSION ARG PYTHON_VERSION_MAJOR_MINOR -ARG CMAKE_VERSION -ARG BOOST_VERSION +ARG TBB_VERSION ARG ALEMBIC_VERSION ARG BLOSC_VERSION @@ -25,6 +29,10 @@ ARG OPENEXR_VERSION FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost-external +FROM ${ASWF_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew-external +FROM ${ASWF_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb-external +FROM ${ASWF_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit-external +FROM ${ASWF_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw-external #################### ci-centos7-gl-packages #################### FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base-builder @@ -285,3 +293,55 @@ RUN --mount=type=cache,target=/tmp/ccache \ /tmp/build_osl.sh && \ /tmp/copy_new_files.sh && \ ccache --show-stats + + +#################### ci-openvdb-builder #################### +FROM ci-openexr-builder as ci-openvdb-builder + +ARG OPENVDB_VERSION +ENV OPENVDB_VERSION=${OPENVDB_VERSION} + +COPY ../scripts/vfx/build_openvdb.sh \ + /tmp/ + +COPY --from=ci-package-glew-external /. /usr/local/ +COPY --from=ci-package-tbb-external /. /usr/local/ +COPY --from=ci-package-cppunit-external /. /usr/local/ +COPY --from=ci-package-glfw-external /. /usr/local/ + +COPY --from=ci-package-blosc /. /usr/local/ + +RUN --mount=type=cache,target=/tmp/ccache \ + --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/before_build.sh && \ + /tmp/build_openvdb.sh && \ + /tmp/copy_new_files.sh && \ + ccache --show-stats + + +#################### ci-package-openvdb #################### +FROM scratch as ci-package-openvdb + +ARG ASWF_ORG +ARG CI_COMMON_VERSION +ARG DTS_VERSION +ARG OPENVDB_VERSION +ARG VFXPLATFORM_VERSION + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openvdb" +LABEL org.opencontainers.image.title="OpenVDB package built for ASWF docker images" +LABEL org.opencontainers.image.description="OpenVDB headers and binaries to be installed in ASWF docker images" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openvdb" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" +LABEL org.opencontainers.image.version="${OPENVDB_VERSION}" +LABEL org.opencontainers.image.licenses="MPL-2.0" +LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" +LABEL io.aswf.docker.versions.openvdb="${OPENVDB_VERSION}" + +COPY --from=ci-openvdb-builder /package/. / + + diff --git a/packages/vfx2/Dockerfile b/packages/vfx2/Dockerfile index 3ca3bcdd..bf93c94b 100644 --- a/packages/vfx2/Dockerfile +++ b/packages/vfx2/Dockerfile @@ -246,56 +246,6 @@ LABEL io.aswf.docker.versions.opensubdiv="${OPENSUBDIV_VERSION}" COPY --from=ci-opensubdiv-builder /package/. / -#################### ci-openvdb-builder #################### -FROM ci-base-builder as ci-openvdb-builder - -ARG OPENVDB_VERSION -ENV OPENVDB_VERSION=${OPENVDB_VERSION} - -COPY ../scripts/vfx/build_openvdb.sh \ - /tmp/ - -COPY --from=ci-package-openexr-external /. /usr/local/ -COPY --from=ci-package-glew-external /. /usr/local/ -COPY --from=ci-package-tbb-external /. /usr/local/ -COPY --from=ci-package-cppunit-external /. /usr/local/ -COPY --from=ci-package-glfw-external /. /usr/local/ -COPY --from=ci-package-blosc-external /. /usr/local/ - -RUN --mount=type=cache,target=/tmp/ccache \ - --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/before_build.sh && \ - /tmp/build_openvdb.sh && \ - /tmp/copy_new_files.sh && \ - ccache --show-stats - - -#################### ci-package-openvdb #################### -FROM scratch as ci-package-openvdb - -ARG ASWF_ORG -ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OPENVDB_VERSION -ARG VFXPLATFORM_VERSION - -LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openvdb" -LABEL org.opencontainers.image.title="OpenVDB package built for ASWF docker images" -LABEL org.opencontainers.image.description="OpenVDB headers and binaries to be installed in ASWF docker images" -LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" -LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" -LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openvdb" -LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OPENVDB_VERSION}" -LABEL org.opencontainers.image.licenses="MPL-2.0" -LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.openvdb="${OPENVDB_VERSION}" - -COPY --from=ci-openvdb-builder /package/. / - - #################### ci-usd-builder #################### FROM ci-opensubdiv-builder as ci-usd-builder diff --git a/versions.yaml b/versions.yaml index a96baa3c..2c29f33f 100644 --- a/versions.yaml +++ b/versions.yaml @@ -392,14 +392,6 @@ ci-images: - "2019.7" - "2020.7" - "2021.3" - openvdb: - - "2018-clang7.7" - - "2019-clang6.7" - - "2019-clang7.7" - - "2019-clang8.7" - - "2019-clang9.7" - - "2020-clang7.7" - - "2021-clang10.3" ocio: - "2018.8" - "2019.8" @@ -414,6 +406,10 @@ ci-images: - "2019.8" - "2020.7" - "2021.3" + otio: + - "2019.2" + - "2020.2" + - "2021.2" osl: - "2018-clang7.3" - "2019-clang6.3" @@ -424,10 +420,14 @@ ci-images: - "2020-clang7.3" - "2021-clang10.3" - "2021-clang11.3" - otio: - - "2019.2" - - "2020.2" - - "2021.2" + openvdb: + - "2018-clang7.7" + - "2019-clang6.7" + - "2019-clang7.7" + - "2019-clang8.7" + - "2019-clang9.7" + - "2020-clang7.7" + - "2021-clang10.3" vfxall: - "2019-clang6.11" - "2019-clang7.11" @@ -474,9 +474,9 @@ groups: - ocio - oiio - openexr + - openvdb vfx2: - opensubdiv - - openvdb - osl - otio - partio @@ -491,13 +491,13 @@ groups: vfx1: - opencue - openexr - - openvdb vfx2: - ocio - - osl - otio - usd vfx3: + - osl + - openvdb - vfxall package_data: From 9fcbbeb1c488f6e05ecaff3de3e0ee760d235508 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 11 Nov 2020 10:06:37 +1100 Subject: [PATCH 080/132] Mentioned sonarqube update Signed-off-by: Aloys Baillet --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2694480..3c33bd80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file. * All CI images (except `ci-common`) are now automatically generated from a template and come with a `README.md` (also templated) containing all the current package version numbers. * All package versions have been moved from version bash scripts into the `versions.yaml` file, which enables the tagging of the image with these versions. * VFX 2021 images are now built against CUDA-11.1. +* Update SonarQube client version 4.5.0.2216 (upgraded from 3.3.0.1492) ### New CI Packages: * `ci-package-clang:1-clang6.2`, `ci-package-clang:1-clang7.2`, `ci-package-clang:1-clang8.2`, `ci-package-clang:1-clang9.2`, `ci-package-clang:1-clang10.2`, `ci-package-clang:2-clang10.2`, `ci-package-clang:2-clang11.2` From 9d625897d31621cc137a3075be898b2979f794d4 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 11 Nov 2020 10:07:06 +1100 Subject: [PATCH 081/132] Added big re-release example script Signed-off-by: Aloys Baillet --- CONTRIBUTING.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0eafc56b..d9bfba6a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -365,3 +365,44 @@ aswfdocker release -n aswftesting/ci-package-xyz:2021 --sha `git rev-parse HEAD` * Create the Pull Request with these changes Check [#66](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/66) for an example. + + +### Example of a large re-release of all images: +``` +# Common packages +aswfdocker release -t PACKAGE -g common -v 1 -v 2 --target ninja --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g common -v 1-clang6 -v 1-clang7 -v 1-clang8 -v 1-clang9 -v 1-clang10 -v 2-clang10 -v 2-clang11 --target clang --docker-org aswf -m "RELEASE_NOTES!" +# Wait for clang builds to finish (from 2 to 3 hours!) + +# ci-common needs to be built before base packages can be built +aswfdocker release -t IMAGE -g common -v 1-clang6 -v 1-clang7 -v 1-clang8 -v 1-clang9 -v 1-clang10 -v 2-clang10 -v 2-clang11 --docker-org aswf -m "RELEASE_NOTES!" + +# Base packages +aswfdocker release -t PACKAGE -g base1 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g base2 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" +# Wait for Qt builds to finish (2-6 hours!) + +# Usually some Qt build will fail as too big and too slow for free GitHub actions... So here's how to build qt locally: +aswfdocker --repo-uri https://github.com/AcademySoftwareFoundation/aswf-docker --source-branch refs/heads/master --verbose build -n aswf/ci-package-qt +:2021 +docker push aswf/ci-package-qt:2021 +docker push aswf/ci-package-qt:2021-5.12.8 +docker push aswf/ci-package-qt:preview +docker push aswf/ci-package-qt:2021.1 + +# Once all Qt are out, release PySide packages +aswfdocker release -t PACKAGE -g base3 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" + + +# Wait for all Qt and Pyside builds to finish, then build downstream packages: +# VFX packages +aswfdocker release -t PACKAGE -g vfx1 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g vfx2 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" + + +# Finally build the CI images +aswfdocker release -t IMAGE -g base -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t IMAGE -g vfx1 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t IMAGE -g vfx2 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t IMAGE -g vfx3 -v 2018-clang7 -v 2019-clang6 -v 2019-clang7 -v 2019-clang8 -v 2019-clang9 -v 2020-clang7 -v 2021-clang10 -v 2021-clang11 --docker-org aswf -m "RELEASE_NOTES!" +``` From 5c15e77210ae2e8e8b2247602baccf67a7c9cc4c Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 11 Nov 2020 10:13:52 +1100 Subject: [PATCH 082/132] Fixed test failure after group change Signed-off-by: Aloys Baillet --- python/aswfdocker/tests/test_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 48c3cdc0..91c61f07 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -82,7 +82,7 @@ def test_image_base_2019clang_dict(self): b = builder.Builder( self.build_info, groupinfo.GroupInfo( - names=["vfx1"], + names=["vfx3"], versions=["2019-clang9"], type_=constants.ImageType.IMAGE, targets=["openvdb"], From 80ea29c380667e734151f717900cbf2787e3fbea Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Wed, 11 Nov 2020 20:17:09 +1100 Subject: [PATCH 083/132] Added ASWF_ prefix in front of all env vars Signed-off-by: Aloys Baillet --- README.md | 6 +- ci-base/Dockerfile | 118 ++++---- ci-base/image.yaml | 4 +- ci-baseqt/Dockerfile | 138 ++++----- ci-baseqt/image.yaml | 4 +- ci-common/Dockerfile | 64 +++-- ci-common/image.yaml | 6 +- ci-ocio/Dockerfile | 118 ++++---- ci-ocio/image.yaml | 4 +- ci-opencue/Dockerfile | 52 ++-- ci-opencue/image.yaml | 4 +- ci-openexr/Dockerfile | 62 ++-- ci-openexr/image.yaml | 4 +- ci-openvdb/Dockerfile | 118 ++++---- ci-openvdb/image.yaml | 4 +- ci-osl/Dockerfile | 118 ++++---- ci-osl/image.yaml | 4 +- ci-otio/Dockerfile | 72 ++--- ci-otio/image.yaml | 4 +- ci-usd/Dockerfile | 218 +++++++------- ci-usd/image.yaml | 4 +- ci-vfxall/Dockerfile | 268 +++++++++--------- ci-vfxall/image.yaml | 4 +- packages/base1/Dockerfile | 196 ++++++------- packages/base2/Dockerfile | 34 +-- packages/base3/Dockerfile | 40 +-- packages/common/Dockerfile | 52 ++-- packages/vfx1/Dockerfile | 184 ++++++------ packages/vfx2/Dockerfile | 196 ++++++------- python/aswfdocker/builder.py | 4 +- .../data/ci-image-dockerfile.jinja2 | 16 +- python/aswfdocker/data/ci-image-readme.jinja2 | 2 +- python/aswfdocker/tests/test_builder.py | 204 ++++++------- scripts/base/build_boost.sh | 22 +- scripts/base/build_cppunit.sh | 10 +- scripts/base/build_glew.sh | 10 +- scripts/base/build_glfw.sh | 4 +- scripts/base/build_log4cplus.sh | 10 +- scripts/base/build_pyside.sh | 22 +- scripts/base/build_python.sh | 14 +- scripts/base/build_qt.sh | 18 +- scripts/base/build_tbb.sh | 4 +- scripts/base/install_cmake.sh | 6 +- scripts/common/build_clang.sh | 12 +- scripts/common/build_ninja.sh | 8 +- scripts/common/install_ccache.sh | 8 +- scripts/common/install_sonar.sh | 6 +- scripts/common/install_yumpackages.sh | 4 +- scripts/vfx/build_alembic.sh | 18 +- scripts/vfx/build_blosc.sh | 4 +- scripts/vfx/build_ocio.sh | 14 +- scripts/vfx/build_oiio.sh | 6 +- scripts/vfx/build_openexr.sh | 16 +- scripts/vfx/build_opensubdiv.sh | 10 +- scripts/vfx/build_openvdb.sh | 12 +- scripts/vfx/build_osl.sh | 10 +- scripts/vfx/build_otio.sh | 4 +- scripts/vfx/build_partio.sh | 10 +- scripts/vfx/build_ptex.sh | 16 +- scripts/vfx/build_usd.sh | 14 +- versions.yaml | 266 ++++++++--------- 61 files changed, 1454 insertions(+), 1430 deletions(-) diff --git a/README.md b/README.md index d6ccf806..30e61272 100644 --- a/README.md +++ b/README.md @@ -53,14 +53,14 @@ Each image (apart from `ci-common`) is available for multiple VFX Platform Years ### Versions -The `VFXPLATFORM_VERSION` is the calendar year mentioned in the VFX Platform, e.g. `2019`. +The `ASWF_VFXPLATFORM_VERSION` is the calendar year mentioned in the VFX Platform, e.g. `2019`. -The `ASWF_VERSION` is a semantic version made of the `VFXPLATFORM_VERSION` as the major version number, and a minor version number to indicate minor changes in the Docker Image that still point to the same calendar year version, e.g. `2019.0` would be followed if necessary by a `2019.1` version. +The `ASWF_VERSION` is a semantic version made of the `ASWF_VFXPLATFORM_VERSION` as the major version number, and a minor version number to indicate minor changes in the Docker Image that still point to the same calendar year version, e.g. `2019.0` would be followed if necessary by a `2019.1` version. The minor version here does *not* point to a calendar month or quarter, it is solely to express that the image has changed internally. We could also have a patch version. ### Image Tags -The most precise version tag is the `ASWF_VERSION` of the image, e.g. `aswf/ci-base:2019.0`, but it is recommended to use the `VFXPLATFORM_VERSION` as the tag to use in CI pipelines, e.g. `aswf/ci-openexr:2019`. +The most precise version tag is the `ASWF_VERSION` of the image, e.g. `aswf/ci-base:2019.0`, but it is recommended to use the `ASWF_VFXPLATFORM_VERSION` as the tag to use in CI pipelines, e.g. `aswf/ci-openexr:2019`. The `latest` tag is pointing to the current VFX Platorm year images, e.g. `aswf/ci-openexr:latest` points to `aswf/ci-openexr:2019.0` but will be updated to point to `aswf/ci-openexr:2020.0` in the calendar year 2020. diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 1b4801d8..4923de11 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -6,46 +6,46 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION - -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG LOG4CPLUS_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR - - -FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$VFXPLATFORM_VERSION-$LOG4CPLUS_VERSION as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base +ARG ASWF_CLANG_MAJOR_VERSION + +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION + + +FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$ASWF_VFXPLATFORM_VERSION-$ASWF_CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glew:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$ASWF_VFXPLATFORM_VERSION-$ASWF_LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$ASWF_VFXPLATFORM_VERSION-$ASWF_TBB_VERSION as ci-package-tbb +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-base ARG ASWF_ORG ARG ASWF_VERSION -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG LOG4CPLUS_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-base" @@ -58,33 +58,35 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" -LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" -LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" -LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.cppunit="$ASWF_CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.glew="$ASWF_GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" +LABEL io.aswf.docker.versions.log4cplus="$ASWF_LOG4CPLUS_VERSION" +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=$BOOST_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV CPPUNIT_VERSION=$CPPUNIT_VERSION -ENV GLEW_VERSION=$GLEW_VERSION -ENV GLFW_VERSION=$GLFW_VERSION -ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV TBB_VERSION=$TBB_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_CPPUNIT_VERSION=$ASWF_CPPUNIT_VERSION +ENV ASWF_GLEW_VERSION=$ASWF_GLEW_VERSION +ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION +ENV ASWF_LOG4CPLUS_VERSION=$ASWF_LOG4CPLUS_VERSION +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-boost /. /usr/local/ @@ -99,4 +101,4 @@ COPY ci-base/README.md ci-base/image.yaml /usr/local/aswf/ -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-base/image.yaml b/ci-base/image.yaml index d262ff1d..47cdb976 100644 --- a/ci-base/image.yaml +++ b/ci-base/image.yaml @@ -14,5 +14,5 @@ packages: implicit_packages: - numpy - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index f25ab8e9..7f8ba372 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -6,52 +6,52 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION - -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG LOG4CPLUS_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG QT_VERSION -ARG PYSIDE_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR - - -FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$VFXPLATFORM_VERSION-$LOG4CPLUS_VERSION as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-qt:$VFXPLATFORM_VERSION-$QT_VERSION as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:$VFXPLATFORM_VERSION-$PYSIDE_VERSION as ci-package-pyside -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-baseqt +ARG ASWF_CLANG_MAJOR_VERSION + +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION + + +FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$ASWF_VFXPLATFORM_VERSION-$ASWF_CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glew:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$ASWF_VFXPLATFORM_VERSION-$ASWF_LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$ASWF_VFXPLATFORM_VERSION-$ASWF_TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-qt:$ASWF_VFXPLATFORM_VERSION-$ASWF_QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-baseqt ARG ASWF_ORG ARG ASWF_VERSION -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG LOG4CPLUS_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG QT_VERSION -ARG PYSIDE_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-baseqt" @@ -64,37 +64,39 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" -LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" -LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" -LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" -LABEL io.aswf.docker.versions.qt="$QT_VERSION" -LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.cppunit="$ASWF_CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.glew="$ASWF_GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" +LABEL io.aswf.docker.versions.log4cplus="$ASWF_LOG4CPLUS_VERSION" +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION" +LABEL io.aswf.docker.versions.qt="$ASWF_QT_VERSION" +LABEL io.aswf.docker.versions.pyside="$ASWF_PYSIDE_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=$BOOST_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV CPPUNIT_VERSION=$CPPUNIT_VERSION -ENV GLEW_VERSION=$GLEW_VERSION -ENV GLFW_VERSION=$GLFW_VERSION -ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV TBB_VERSION=$TBB_VERSION -ENV QT_VERSION=$QT_VERSION -ENV PYSIDE_VERSION=$PYSIDE_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_CPPUNIT_VERSION=$ASWF_CPPUNIT_VERSION +ENV ASWF_GLEW_VERSION=$ASWF_GLEW_VERSION +ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION +ENV ASWF_LOG4CPLUS_VERSION=$ASWF_LOG4CPLUS_VERSION +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION +ENV ASWF_QT_VERSION=$ASWF_QT_VERSION +ENV ASWF_PYSIDE_VERSION=$ASWF_PYSIDE_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-boost /. /usr/local/ @@ -111,4 +113,4 @@ COPY ci-baseqt/README.md ci-baseqt/image.yaml /usr/local/aswf/ -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-baseqt/image.yaml b/ci-baseqt/image.yaml index 73bb3383..7c661ead 100644 --- a/ci-baseqt/image.yaml +++ b/ci-baseqt/image.yaml @@ -16,5 +16,5 @@ packages: implicit_packages: - numpy - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index 86ade431..65dfbac6 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -6,30 +6,30 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION +ARG ASWF_CLANG_MAJOR_VERSION -ARG CLANG_VERSION -ARG NINJA_VERSION -ARG CUDA_VERSION -ARG CCACHE_VERSION -ARG DTS_VERSION -ARG SONAR_VERSION +ARG ASWF_CLANG_VERSION +ARG ASWF_NINJA_VERSION +ARG ASWF_CUDA_VERSION +ARG ASWF_CCACHE_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_SONAR_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-clang:$CI_COMMON_VERSION-$CLANG_VERSION as ci-package-clang -FROM ${ASWF_PKG_ORG}/ci-package-ninja:$CI_COMMON_VERSION-$NINJA_VERSION as ci-package-ninja -FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-common +FROM ${ASWF_PKG_ORG}/ci-package-clang:$CI_COMMON_VERSION-$ASWF_CLANG_VERSION as ci-package-clang +FROM ${ASWF_PKG_ORG}/ci-package-ninja:$CI_COMMON_VERSION-$ASWF_NINJA_VERSION as ci-package-ninja +FROM nvidia/cudagl:${ASWF_CUDA_VERSION}-devel-centos7 as ci-common ARG ASWF_ORG ARG ASWF_VERSION -ARG CLANG_VERSION -ARG NINJA_VERSION -ARG CUDA_VERSION -ARG CCACHE_VERSION -ARG DTS_VERSION -ARG SONAR_VERSION +ARG ASWF_CLANG_VERSION +ARG ASWF_NINJA_VERSION +ARG ASWF_CUDA_VERSION +ARG ASWF_CCACHE_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_SONAR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-common" @@ -42,24 +42,26 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.clang="$CLANG_VERSION" -LABEL io.aswf.docker.versions.ninja="$NINJA_VERSION" -LABEL io.aswf.docker.versions.cuda="$CUDA_VERSION" -LABEL io.aswf.docker.versions.ccache="$CCACHE_VERSION" -LABEL io.aswf.docker.versions.dts="$DTS_VERSION" -LABEL io.aswf.docker.versions.sonar="$SONAR_VERSION" +LABEL io.aswf.docker.versions.clang="$ASWF_CLANG_VERSION" +LABEL io.aswf.docker.versions.ninja="$ASWF_NINJA_VERSION" +LABEL io.aswf.docker.versions.cuda="$ASWF_CUDA_VERSION" +LABEL io.aswf.docker.versions.ccache="$ASWF_CCACHE_VERSION" +LABEL io.aswf.docker.versions.dts="$ASWF_DTS_VERSION" +LABEL io.aswf.docker.versions.sonar="$ASWF_SONAR_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV CLANG_VERSION=$CLANG_VERSION -ENV NINJA_VERSION=$NINJA_VERSION -ENV CUDA_VERSION=$CUDA_VERSION -ENV CCACHE_VERSION=$CCACHE_VERSION -ENV DTS_VERSION=$DTS_VERSION -ENV SONAR_VERSION=$SONAR_VERSION +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_CLANG_VERSION=$ASWF_CLANG_VERSION +ENV ASWF_NINJA_VERSION=$ASWF_NINJA_VERSION +ENV ASWF_CUDA_VERSION=$ASWF_CUDA_VERSION +ENV ASWF_CCACHE_VERSION=$ASWF_CCACHE_VERSION +ENV ASWF_DTS_VERSION=$ASWF_DTS_VERSION +ENV ASWF_SONAR_VERSION=$ASWF_SONAR_VERSION COPY --from=ci-package-clang /. /usr/local/ @@ -76,8 +78,8 @@ RUN /tmp/install_yumpackages.sh RUN mkdir /opt/aswf WORKDIR /opt/aswf -ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ - PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ + PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ PERL5LIB=/opt/rh/rh-git218/root/usr/share/perl5/vendor_perl \ MANPATH=/opt/rh/rh-git218/root/usr/share/man diff --git a/ci-common/image.yaml b/ci-common/image.yaml index 9e217232..133b0876 100644 --- a/ci-common/image.yaml +++ b/ci-common/image.yaml @@ -10,7 +10,7 @@ implicit_packages: - ccache - dts - sonar -docker_from: nvidia/cudagl:${CUDA_VERSION}-devel-centos7 +docker_from: nvidia/cudagl:${ASWF_CUDA_VERSION}-devel-centos7 docker_package_version: $CI_COMMON_VERSION docker_commands: | USER root @@ -23,8 +23,8 @@ docker_commands: | RUN mkdir /opt/aswf WORKDIR /opt/aswf - ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ - PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ + ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ + PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin \ PERL5LIB=/opt/rh/rh-git218/root/usr/share/perl5/vendor_perl \ MANPATH=/opt/rh/rh-git218/root/usr/share/man diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index fdbd24c2..7004d057 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -6,46 +6,46 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION - -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG BOOST_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG CMAKE_VERSION -ARG OPENEXR_VERSION -ARG OIIO_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR - - -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-oiio:$VFXPLATFORM_VERSION-$OIIO_VERSION as ci-package-oiio -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-ocio +ARG ASWF_CLANG_MAJOR_VERSION + +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_BOOST_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION + + +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$ASWF_VFXPLATFORM_VERSION-$ASWF_TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-glew:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-oiio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OIIO_VERSION as ci-package-oiio +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-ocio ARG ASWF_ORG ARG ASWF_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG BOOST_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG CMAKE_VERSION -ARG OPENEXR_VERSION -ARG OIIO_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_BOOST_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-ocio" @@ -59,33 +59,35 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" -LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" -LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" -LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" -LABEL io.aswf.docker.versions.oiio="$OIIO_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION" +LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" +LABEL io.aswf.docker.versions.glew="$ASWF_GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.openexr="$ASWF_OPENEXR_VERSION" +LABEL io.aswf.docker.versions.oiio="$ASWF_OIIO_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV TBB_VERSION=$TBB_VERSION -ENV BOOST_VERSION=$BOOST_VERSION -ENV GLEW_VERSION=$GLEW_VERSION -ENV GLFW_VERSION=$GLFW_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV OPENEXR_VERSION=$OPENEXR_VERSION -ENV OIIO_VERSION=$OIIO_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION +ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION +ENV ASWF_GLEW_VERSION=$ASWF_GLEW_VERSION +ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_OPENEXR_VERSION=$ASWF_OPENEXR_VERSION +ENV ASWF_OIIO_VERSION=$ASWF_OIIO_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-python /. /usr/local/ @@ -100,4 +102,4 @@ COPY ci-ocio/README.md ci-ocio/image.yaml /usr/local/aswf/ -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-ocio/image.yaml b/ci-ocio/image.yaml index b87194be..000f33a4 100644 --- a/ci-ocio/image.yaml +++ b/ci-ocio/image.yaml @@ -15,5 +15,5 @@ packages: implicit_packages: - numpy - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index da5ec6fa..a0d8394a 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -6,28 +6,28 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION +ARG ASWF_CLANG_MAJOR_VERSION -ARG PYTHON_VERSION -ARG CMAKE_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-opencue +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-opencue ARG ASWF_ORG ARG ASWF_VERSION -ARG PYTHON_VERSION -ARG CMAKE_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-opencue" @@ -41,21 +41,23 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-python /. /usr/local/ @@ -67,4 +69,4 @@ RUN sudo yum -y install \ java-1.8.0-openjdk-devel.x86_64 -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-opencue/image.yaml b/ci-opencue/image.yaml index f548f462..470fb539 100644 --- a/ci-opencue/image.yaml +++ b/ci-opencue/image.yaml @@ -9,8 +9,8 @@ packages: implicit_packages: - numpy - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION docker_commands: | RUN sudo yum -y install \ java-1.8.0-openjdk.x86_64 \ diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index 07b63ce0..16e2faec 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -6,31 +6,31 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION +ARG ASWF_CLANG_MAJOR_VERSION -ARG PYTHON_VERSION -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openexr +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-openexr ARG ASWF_ORG ARG ASWF_VERSION -ARG PYTHON_VERSION -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-openexr" @@ -44,23 +44,25 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV BOOST_VERSION=$BOOST_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-python /. /usr/local/ @@ -70,4 +72,4 @@ COPY ci-openexr/README.md ci-openexr/image.yaml /usr/local/aswf/ -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-openexr/image.yaml b/ci-openexr/image.yaml index d48c3d3d..9cfbe3ba 100644 --- a/ci-openexr/image.yaml +++ b/ci-openexr/image.yaml @@ -10,5 +10,5 @@ packages: implicit_packages: - numpy - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index c5d663de..71169138 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -6,46 +6,46 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION - -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLFW_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG OPENEXR_VERSION -ARG BLOSC_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR - - -FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:$VFXPLATFORM_VERSION-$BLOSC_VERSION as ci-package-blosc -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-openvdb +ARG ASWF_CLANG_MAJOR_VERSION + +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION + + +FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$ASWF_VFXPLATFORM_VERSION-$ASWF_CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$ASWF_VFXPLATFORM_VERSION-$ASWF_TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:$ASWF_VFXPLATFORM_VERSION-$ASWF_BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-openvdb ARG ASWF_ORG ARG ASWF_VERSION -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLFW_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG OPENEXR_VERSION -ARG BLOSC_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-openvdb" @@ -59,33 +59,35 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" -LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" -LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" -LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.cppunit="$ASWF_CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION" +LABEL io.aswf.docker.versions.openexr="$ASWF_OPENEXR_VERSION" +LABEL io.aswf.docker.versions.blosc="$ASWF_BLOSC_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=$BOOST_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV CPPUNIT_VERSION=$CPPUNIT_VERSION -ENV GLFW_VERSION=$GLFW_VERSION -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV TBB_VERSION=$TBB_VERSION -ENV OPENEXR_VERSION=$OPENEXR_VERSION -ENV BLOSC_VERSION=$BLOSC_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_CPPUNIT_VERSION=$ASWF_CPPUNIT_VERSION +ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION +ENV ASWF_OPENEXR_VERSION=$ASWF_OPENEXR_VERSION +ENV ASWF_BLOSC_VERSION=$ASWF_BLOSC_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-boost /. /usr/local/ @@ -100,4 +102,4 @@ COPY ci-openvdb/README.md ci-openvdb/image.yaml /usr/local/aswf/ -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-openvdb/image.yaml b/ci-openvdb/image.yaml index 6100d0ff..ba4295eb 100644 --- a/ci-openvdb/image.yaml +++ b/ci-openvdb/image.yaml @@ -15,5 +15,5 @@ packages: implicit_packages: - numpy - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 6a22c8ac..2124942e 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -6,46 +6,46 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION - -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLFW_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG OPENEXR_VERSION -ARG BLOSC_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR - - -FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:$VFXPLATFORM_VERSION-$BLOSC_VERSION as ci-package-blosc -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-osl +ARG ASWF_CLANG_MAJOR_VERSION + +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION + + +FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$ASWF_VFXPLATFORM_VERSION-$ASWF_CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$ASWF_VFXPLATFORM_VERSION-$ASWF_TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:$ASWF_VFXPLATFORM_VERSION-$ASWF_BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-osl ARG ASWF_ORG ARG ASWF_VERSION -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLFW_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG OPENEXR_VERSION -ARG BLOSC_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-osl" @@ -59,33 +59,35 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" -LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" -LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" -LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.cppunit="$ASWF_CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION" +LABEL io.aswf.docker.versions.openexr="$ASWF_OPENEXR_VERSION" +LABEL io.aswf.docker.versions.blosc="$ASWF_BLOSC_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV BOOST_VERSION=$BOOST_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV CPPUNIT_VERSION=$CPPUNIT_VERSION -ENV GLFW_VERSION=$GLFW_VERSION -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV TBB_VERSION=$TBB_VERSION -ENV OPENEXR_VERSION=$OPENEXR_VERSION -ENV BLOSC_VERSION=$BLOSC_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_CPPUNIT_VERSION=$ASWF_CPPUNIT_VERSION +ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION +ENV ASWF_OPENEXR_VERSION=$ASWF_OPENEXR_VERSION +ENV ASWF_BLOSC_VERSION=$ASWF_BLOSC_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-boost /. /usr/local/ @@ -100,4 +102,4 @@ COPY ci-osl/README.md ci-osl/image.yaml /usr/local/aswf/ -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-osl/image.yaml b/ci-osl/image.yaml index b7a8ce6e..797c1fdb 100644 --- a/ci-osl/image.yaml +++ b/ci-osl/image.yaml @@ -15,5 +15,5 @@ packages: implicit_packages: - numpy - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index 60e61f15..33abd138 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -6,34 +6,34 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION +ARG ASWF_CLANG_MAJOR_VERSION -ARG PYTHON_VERSION -ARG CMAKE_VERSION -ARG QT_VERSION -ARG PYSIDE_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-qt:$VFXPLATFORM_VERSION-$QT_VERSION as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:$VFXPLATFORM_VERSION-$PYSIDE_VERSION as ci-package-pyside -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-otio +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-qt:$ASWF_VFXPLATFORM_VERSION-$ASWF_QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-otio ARG ASWF_ORG ARG ASWF_VERSION -ARG PYTHON_VERSION -ARG CMAKE_VERSION -ARG QT_VERSION -ARG PYSIDE_VERSION -ARG NUMPY_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-otio" @@ -47,25 +47,27 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.qt="$QT_VERSION" -LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.qt="$ASWF_QT_VERSION" +LABEL io.aswf.docker.versions.pyside="$ASWF_PYSIDE_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV QT_VERSION=$QT_VERSION -ENV PYSIDE_VERSION=$PYSIDE_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_QT_VERSION=$ASWF_QT_VERSION +ENV ASWF_PYSIDE_VERSION=$ASWF_PYSIDE_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-python /. /usr/local/ @@ -77,4 +79,4 @@ COPY ci-otio/README.md ci-otio/image.yaml /usr/local/aswf/ RUN sudo pip install flake8 tox urllib3 -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-otio/image.yaml b/ci-otio/image.yaml index 51856c32..8210f4d5 100644 --- a/ci-otio/image.yaml +++ b/ci-otio/image.yaml @@ -11,7 +11,7 @@ packages: implicit_packages: - numpy - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION docker_commands: | RUN sudo pip install flake8 tox urllib3 diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index 57fa4232..e73090d3 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -6,75 +6,75 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION - -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG BOOST_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG LOG4CPLUS_VERSION -ARG QT_VERSION -ARG PYSIDE_VERSION -ARG CMAKE_VERSION -ARG OPENEXR_VERSION -ARG OIIO_VERSION -ARG OCIO_VERSION -ARG PTEX_VERSION -ARG OPENSUBDIV_VERSION -ARG ALEMBIC_VERSION -ARG BLOSC_VERSION -ARG OPENVDB_VERSION -ARG NUMPY_VERSION -ARG HDF5_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR - - -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$VFXPLATFORM_VERSION-$LOG4CPLUS_VERSION as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-qt:$VFXPLATFORM_VERSION-$QT_VERSION as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:$VFXPLATFORM_VERSION-$PYSIDE_VERSION as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-oiio:$VFXPLATFORM_VERSION-$OIIO_VERSION as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-ocio:$VFXPLATFORM_VERSION-$OCIO_VERSION as ci-package-ocio -FROM ${ASWF_PKG_ORG}/ci-package-ptex:$VFXPLATFORM_VERSION-$PTEX_VERSION as ci-package-ptex -FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:$VFXPLATFORM_VERSION-$OPENSUBDIV_VERSION as ci-package-opensubdiv -FROM ${ASWF_PKG_ORG}/ci-package-alembic:$VFXPLATFORM_VERSION-$ALEMBIC_VERSION as ci-package-alembic -FROM ${ASWF_PKG_ORG}/ci-package-blosc:$VFXPLATFORM_VERSION-$BLOSC_VERSION as ci-package-blosc -FROM ${ASWF_PKG_ORG}/ci-package-openvdb:$VFXPLATFORM_VERSION-$OPENVDB_VERSION as ci-package-openvdb -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-usd +ARG ASWF_CLANG_MAJOR_VERSION + +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_BOOST_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_OCIO_VERSION +ARG ASWF_PTEX_VERSION +ARG ASWF_OPENSUBDIV_VERSION +ARG ASWF_ALEMBIC_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_OPENVDB_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_HDF5_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION + + +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$ASWF_VFXPLATFORM_VERSION-$ASWF_TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-glew:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$ASWF_VFXPLATFORM_VERSION-$ASWF_LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-qt:$ASWF_VFXPLATFORM_VERSION-$ASWF_QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-oiio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OIIO_VERSION as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OCIO_VERSION as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-ptex:$ASWF_VFXPLATFORM_VERSION-$ASWF_PTEX_VERSION as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENSUBDIV_VERSION as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-alembic:$ASWF_VFXPLATFORM_VERSION-$ASWF_ALEMBIC_VERSION as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-blosc:$ASWF_VFXPLATFORM_VERSION-$ASWF_BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENVDB_VERSION as ci-package-openvdb +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-usd ARG ASWF_ORG ARG ASWF_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG BOOST_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG LOG4CPLUS_VERSION -ARG QT_VERSION -ARG PYSIDE_VERSION -ARG CMAKE_VERSION -ARG OPENEXR_VERSION -ARG OIIO_VERSION -ARG OCIO_VERSION -ARG PTEX_VERSION -ARG OPENSUBDIV_VERSION -ARG ALEMBIC_VERSION -ARG BLOSC_VERSION -ARG OPENVDB_VERSION -ARG NUMPY_VERSION -ARG HDF5_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_BOOST_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_OCIO_VERSION +ARG ASWF_PTEX_VERSION +ARG ASWF_OPENSUBDIV_VERSION +ARG ASWF_ALEMBIC_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_OPENVDB_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_HDF5_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-usd" @@ -88,53 +88,55 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" - -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" -LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" -LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" -LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" -LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" -LABEL io.aswf.docker.versions.qt="$QT_VERSION" -LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" -LABEL io.aswf.docker.versions.oiio="$OIIO_VERSION" -LABEL io.aswf.docker.versions.ocio="$OCIO_VERSION" -LABEL io.aswf.docker.versions.ptex="$PTEX_VERSION" -LABEL io.aswf.docker.versions.opensubdiv="$OPENSUBDIV_VERSION" -LABEL io.aswf.docker.versions.alembic="$ALEMBIC_VERSION" -LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" -LABEL io.aswf.docker.versions.openvdb="$OPENVDB_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.hdf5="$HDF5_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION" +LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" +LABEL io.aswf.docker.versions.glew="$ASWF_GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" +LABEL io.aswf.docker.versions.log4cplus="$ASWF_LOG4CPLUS_VERSION" +LABEL io.aswf.docker.versions.qt="$ASWF_QT_VERSION" +LABEL io.aswf.docker.versions.pyside="$ASWF_PYSIDE_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.openexr="$ASWF_OPENEXR_VERSION" +LABEL io.aswf.docker.versions.oiio="$ASWF_OIIO_VERSION" +LABEL io.aswf.docker.versions.ocio="$ASWF_OCIO_VERSION" +LABEL io.aswf.docker.versions.ptex="$ASWF_PTEX_VERSION" +LABEL io.aswf.docker.versions.opensubdiv="$ASWF_OPENSUBDIV_VERSION" +LABEL io.aswf.docker.versions.alembic="$ASWF_ALEMBIC_VERSION" +LABEL io.aswf.docker.versions.blosc="$ASWF_BLOSC_VERSION" +LABEL io.aswf.docker.versions.openvdb="$ASWF_OPENVDB_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.hdf5="$ASWF_HDF5_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV TBB_VERSION=$TBB_VERSION -ENV BOOST_VERSION=$BOOST_VERSION -ENV GLEW_VERSION=$GLEW_VERSION -ENV GLFW_VERSION=$GLFW_VERSION -ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION -ENV QT_VERSION=$QT_VERSION -ENV PYSIDE_VERSION=$PYSIDE_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV OPENEXR_VERSION=$OPENEXR_VERSION -ENV OIIO_VERSION=$OIIO_VERSION -ENV OCIO_VERSION=$OCIO_VERSION -ENV PTEX_VERSION=$PTEX_VERSION -ENV OPENSUBDIV_VERSION=$OPENSUBDIV_VERSION -ENV ALEMBIC_VERSION=$ALEMBIC_VERSION -ENV BLOSC_VERSION=$BLOSC_VERSION -ENV OPENVDB_VERSION=$OPENVDB_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV HDF5_VERSION=$HDF5_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION +ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION +ENV ASWF_GLEW_VERSION=$ASWF_GLEW_VERSION +ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION +ENV ASWF_LOG4CPLUS_VERSION=$ASWF_LOG4CPLUS_VERSION +ENV ASWF_QT_VERSION=$ASWF_QT_VERSION +ENV ASWF_PYSIDE_VERSION=$ASWF_PYSIDE_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_OPENEXR_VERSION=$ASWF_OPENEXR_VERSION +ENV ASWF_OIIO_VERSION=$ASWF_OIIO_VERSION +ENV ASWF_OCIO_VERSION=$ASWF_OCIO_VERSION +ENV ASWF_PTEX_VERSION=$ASWF_PTEX_VERSION +ENV ASWF_OPENSUBDIV_VERSION=$ASWF_OPENSUBDIV_VERSION +ENV ASWF_ALEMBIC_VERSION=$ASWF_ALEMBIC_VERSION +ENV ASWF_BLOSC_VERSION=$ASWF_BLOSC_VERSION +ENV ASWF_OPENVDB_VERSION=$ASWF_OPENVDB_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_HDF5_VERSION=$ASWF_HDF5_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-python /. /usr/local/ @@ -158,4 +160,4 @@ COPY ci-usd/README.md ci-usd/image.yaml /usr/local/aswf/ -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-usd/image.yaml b/ci-usd/image.yaml index 1c26cea0..31bd68cf 100644 --- a/ci-usd/image.yaml +++ b/ci-usd/image.yaml @@ -25,5 +25,5 @@ implicit_packages: - numpy - hdf5 - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index aa7cccc2..3067399c 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -6,90 +6,90 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION - -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG BOOST_VERSION -ARG CPPUNIT_VERSION -ARG LOG4CPLUS_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG QT_VERSION -ARG PYSIDE_VERSION -ARG CMAKE_VERSION -ARG OPENEXR_VERSION -ARG BLOSC_VERSION -ARG ALEMBIC_VERSION -ARG OIIO_VERSION -ARG OCIO_VERSION -ARG OPENSUBDIV_VERSION -ARG PTEX_VERSION -ARG OPENVDB_VERSION -ARG USD_VERSION -ARG PARTIO_VERSION -ARG OSL_VERSION -ARG OTIO_VERSION -ARG NUMPY_VERSION -ARG HDF5_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR - - -FROM ${ASWF_PKG_ORG}/ci-package-python:$VFXPLATFORM_VERSION-$PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:$VFXPLATFORM_VERSION-$TBB_VERSION as ci-package-tbb -FROM ${ASWF_PKG_ORG}/ci-package-boost:$VFXPLATFORM_VERSION-$BOOST_VERSION as ci-package-boost -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$VFXPLATFORM_VERSION-$CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$VFXPLATFORM_VERSION-$LOG4CPLUS_VERSION as ci-package-log4cplus -FROM ${ASWF_PKG_ORG}/ci-package-glew:$VFXPLATFORM_VERSION-$GLEW_VERSION as ci-package-glew -FROM ${ASWF_PKG_ORG}/ci-package-glfw:$VFXPLATFORM_VERSION-$GLFW_VERSION as ci-package-glfw -FROM ${ASWF_PKG_ORG}/ci-package-qt:$VFXPLATFORM_VERSION-$QT_VERSION as ci-package-qt -FROM ${ASWF_PKG_ORG}/ci-package-pyside:$VFXPLATFORM_VERSION-$PYSIDE_VERSION as ci-package-pyside -FROM ${ASWF_PKG_ORG}/ci-package-cmake:$VFXPLATFORM_VERSION-$CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-openexr:$VFXPLATFORM_VERSION-$OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:$VFXPLATFORM_VERSION-$BLOSC_VERSION as ci-package-blosc -FROM ${ASWF_PKG_ORG}/ci-package-alembic:$VFXPLATFORM_VERSION-$ALEMBIC_VERSION as ci-package-alembic -FROM ${ASWF_PKG_ORG}/ci-package-oiio:$VFXPLATFORM_VERSION-$OIIO_VERSION as ci-package-oiio -FROM ${ASWF_PKG_ORG}/ci-package-ocio:$VFXPLATFORM_VERSION-$OCIO_VERSION as ci-package-ocio -FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:$VFXPLATFORM_VERSION-$OPENSUBDIV_VERSION as ci-package-opensubdiv -FROM ${ASWF_PKG_ORG}/ci-package-ptex:$VFXPLATFORM_VERSION-$PTEX_VERSION as ci-package-ptex -FROM ${ASWF_PKG_ORG}/ci-package-openvdb:$VFXPLATFORM_VERSION-$OPENVDB_VERSION as ci-package-openvdb -FROM ${ASWF_PKG_ORG}/ci-package-usd:$VFXPLATFORM_VERSION-$USD_VERSION as ci-package-usd -FROM ${ASWF_PKG_ORG}/ci-package-partio:$VFXPLATFORM_VERSION-$PARTIO_VERSION as ci-package-partio -FROM ${ASWF_PKG_ORG}/ci-package-osl:$VFXPLATFORM_VERSION-$OSL_VERSION as ci-package-osl -FROM ${ASWF_PKG_ORG}/ci-package-otio:$VFXPLATFORM_VERSION-$OTIO_VERSION as ci-package-otio -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-vfxall +ARG ASWF_CLANG_MAJOR_VERSION + +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_BOOST_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_ALEMBIC_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_OCIO_VERSION +ARG ASWF_OPENSUBDIV_VERSION +ARG ASWF_PTEX_VERSION +ARG ASWF_OPENVDB_VERSION +ARG ASWF_USD_VERSION +ARG ASWF_PARTIO_VERSION +ARG ASWF_OSL_VERSION +ARG ASWF_OTIO_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_HDF5_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION + + +FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python +FROM ${ASWF_PKG_ORG}/ci-package-tbb:$ASWF_VFXPLATFORM_VERSION-$ASWF_TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost +FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$ASWF_VFXPLATFORM_VERSION-$ASWF_CPPUNIT_VERSION as ci-package-cppunit +FROM ${ASWF_PKG_ORG}/ci-package-log4cplus:$ASWF_VFXPLATFORM_VERSION-$ASWF_LOG4CPLUS_VERSION as ci-package-log4cplus +FROM ${ASWF_PKG_ORG}/ci-package-glew:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLEW_VERSION as ci-package-glew +FROM ${ASWF_PKG_ORG}/ci-package-glfw:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLFW_VERSION as ci-package-glfw +FROM ${ASWF_PKG_ORG}/ci-package-qt:$ASWF_VFXPLATFORM_VERSION-$ASWF_QT_VERSION as ci-package-qt +FROM ${ASWF_PKG_ORG}/ci-package-pyside:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYSIDE_VERSION as ci-package-pyside +FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake +FROM ${ASWF_PKG_ORG}/ci-package-openexr:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENEXR_VERSION as ci-package-openexr +FROM ${ASWF_PKG_ORG}/ci-package-blosc:$ASWF_VFXPLATFORM_VERSION-$ASWF_BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-alembic:$ASWF_VFXPLATFORM_VERSION-$ASWF_ALEMBIC_VERSION as ci-package-alembic +FROM ${ASWF_PKG_ORG}/ci-package-oiio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OIIO_VERSION as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-ocio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OCIO_VERSION as ci-package-ocio +FROM ${ASWF_PKG_ORG}/ci-package-opensubdiv:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENSUBDIV_VERSION as ci-package-opensubdiv +FROM ${ASWF_PKG_ORG}/ci-package-ptex:$ASWF_VFXPLATFORM_VERSION-$ASWF_PTEX_VERSION as ci-package-ptex +FROM ${ASWF_PKG_ORG}/ci-package-openvdb:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENVDB_VERSION as ci-package-openvdb +FROM ${ASWF_PKG_ORG}/ci-package-usd:$ASWF_VFXPLATFORM_VERSION-$ASWF_USD_VERSION as ci-package-usd +FROM ${ASWF_PKG_ORG}/ci-package-partio:$ASWF_VFXPLATFORM_VERSION-$ASWF_PARTIO_VERSION as ci-package-partio +FROM ${ASWF_PKG_ORG}/ci-package-osl:$ASWF_VFXPLATFORM_VERSION-$ASWF_OSL_VERSION as ci-package-osl +FROM ${ASWF_PKG_ORG}/ci-package-otio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OTIO_VERSION as ci-package-otio +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-vfxall ARG ASWF_ORG ARG ASWF_VERSION -ARG PYTHON_VERSION -ARG TBB_VERSION -ARG BOOST_VERSION -ARG CPPUNIT_VERSION -ARG LOG4CPLUS_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG QT_VERSION -ARG PYSIDE_VERSION -ARG CMAKE_VERSION -ARG OPENEXR_VERSION -ARG BLOSC_VERSION -ARG ALEMBIC_VERSION -ARG OIIO_VERSION -ARG OCIO_VERSION -ARG OPENSUBDIV_VERSION -ARG PTEX_VERSION -ARG OPENVDB_VERSION -ARG USD_VERSION -ARG PARTIO_VERSION -ARG OSL_VERSION -ARG OTIO_VERSION -ARG NUMPY_VERSION -ARG HDF5_VERSION -ARG VFXPLATFORM_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR +ARG ASWF_PYTHON_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_BOOST_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_ALEMBIC_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_OCIO_VERSION +ARG ASWF_OPENSUBDIV_VERSION +ARG ASWF_PTEX_VERSION +ARG ASWF_OPENVDB_VERSION +ARG ASWF_USD_VERSION +ARG ASWF_PARTIO_VERSION +ARG ASWF_OSL_VERSION +ARG ASWF_OTIO_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_HDF5_VERSION +ARG ASWF_VFXPLATFORM_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-vfxall" @@ -102,63 +102,65 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" - -LABEL io.aswf.docker.versions.python="$PYTHON_VERSION" -LABEL io.aswf.docker.versions.tbb="$TBB_VERSION" -LABEL io.aswf.docker.versions.boost="$BOOST_VERSION" -LABEL io.aswf.docker.versions.cppunit="$CPPUNIT_VERSION" -LABEL io.aswf.docker.versions.log4cplus="$LOG4CPLUS_VERSION" -LABEL io.aswf.docker.versions.glew="$GLEW_VERSION" -LABEL io.aswf.docker.versions.glfw="$GLFW_VERSION" -LABEL io.aswf.docker.versions.qt="$QT_VERSION" -LABEL io.aswf.docker.versions.pyside="$PYSIDE_VERSION" -LABEL io.aswf.docker.versions.cmake="$CMAKE_VERSION" -LABEL io.aswf.docker.versions.openexr="$OPENEXR_VERSION" -LABEL io.aswf.docker.versions.blosc="$BLOSC_VERSION" -LABEL io.aswf.docker.versions.alembic="$ALEMBIC_VERSION" -LABEL io.aswf.docker.versions.oiio="$OIIO_VERSION" -LABEL io.aswf.docker.versions.ocio="$OCIO_VERSION" -LABEL io.aswf.docker.versions.opensubdiv="$OPENSUBDIV_VERSION" -LABEL io.aswf.docker.versions.ptex="$PTEX_VERSION" -LABEL io.aswf.docker.versions.openvdb="$OPENVDB_VERSION" -LABEL io.aswf.docker.versions.usd="$USD_VERSION" -LABEL io.aswf.docker.versions.partio="$PARTIO_VERSION" -LABEL io.aswf.docker.versions.osl="$OSL_VERSION" -LABEL io.aswf.docker.versions.otio="$OTIO_VERSION" -LABEL io.aswf.docker.versions.numpy="$NUMPY_VERSION" -LABEL io.aswf.docker.versions.hdf5="$HDF5_VERSION" -LABEL io.aswf.docker.versions.vfxplatform="$VFXPLATFORM_VERSION" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" + +LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" +LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION" +LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" +LABEL io.aswf.docker.versions.cppunit="$ASWF_CPPUNIT_VERSION" +LABEL io.aswf.docker.versions.log4cplus="$ASWF_LOG4CPLUS_VERSION" +LABEL io.aswf.docker.versions.glew="$ASWF_GLEW_VERSION" +LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" +LABEL io.aswf.docker.versions.qt="$ASWF_QT_VERSION" +LABEL io.aswf.docker.versions.pyside="$ASWF_PYSIDE_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.openexr="$ASWF_OPENEXR_VERSION" +LABEL io.aswf.docker.versions.blosc="$ASWF_BLOSC_VERSION" +LABEL io.aswf.docker.versions.alembic="$ASWF_ALEMBIC_VERSION" +LABEL io.aswf.docker.versions.oiio="$ASWF_OIIO_VERSION" +LABEL io.aswf.docker.versions.ocio="$ASWF_OCIO_VERSION" +LABEL io.aswf.docker.versions.opensubdiv="$ASWF_OPENSUBDIV_VERSION" +LABEL io.aswf.docker.versions.ptex="$ASWF_PTEX_VERSION" +LABEL io.aswf.docker.versions.openvdb="$ASWF_OPENVDB_VERSION" +LABEL io.aswf.docker.versions.usd="$ASWF_USD_VERSION" +LABEL io.aswf.docker.versions.partio="$ASWF_PARTIO_VERSION" +LABEL io.aswf.docker.versions.osl="$ASWF_OSL_VERSION" +LABEL io.aswf.docker.versions.otio="$ASWF_OTIO_VERSION" +LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" +LABEL io.aswf.docker.versions.hdf5="$ASWF_HDF5_VERSION" +LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} -ENV PYTHON_VERSION=$PYTHON_VERSION -ENV TBB_VERSION=$TBB_VERSION -ENV BOOST_VERSION=$BOOST_VERSION -ENV CPPUNIT_VERSION=$CPPUNIT_VERSION -ENV LOG4CPLUS_VERSION=$LOG4CPLUS_VERSION -ENV GLEW_VERSION=$GLEW_VERSION -ENV GLFW_VERSION=$GLFW_VERSION -ENV QT_VERSION=$QT_VERSION -ENV PYSIDE_VERSION=$PYSIDE_VERSION -ENV CMAKE_VERSION=$CMAKE_VERSION -ENV OPENEXR_VERSION=$OPENEXR_VERSION -ENV BLOSC_VERSION=$BLOSC_VERSION -ENV ALEMBIC_VERSION=$ALEMBIC_VERSION -ENV OIIO_VERSION=$OIIO_VERSION -ENV OCIO_VERSION=$OCIO_VERSION -ENV OPENSUBDIV_VERSION=$OPENSUBDIV_VERSION -ENV PTEX_VERSION=$PTEX_VERSION -ENV OPENVDB_VERSION=$OPENVDB_VERSION -ENV USD_VERSION=$USD_VERSION -ENV PARTIO_VERSION=$PARTIO_VERSION -ENV OSL_VERSION=$OSL_VERSION -ENV OTIO_VERSION=$OTIO_VERSION -ENV NUMPY_VERSION=$NUMPY_VERSION -ENV HDF5_VERSION=$HDF5_VERSION -ENV VFXPLATFORM_VERSION=$VFXPLATFORM_VERSION -ENV PYTHON_VERSION_MAJOR_MINOR=$PYTHON_VERSION_MAJOR_MINOR +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + +ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION +ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION +ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION +ENV ASWF_CPPUNIT_VERSION=$ASWF_CPPUNIT_VERSION +ENV ASWF_LOG4CPLUS_VERSION=$ASWF_LOG4CPLUS_VERSION +ENV ASWF_GLEW_VERSION=$ASWF_GLEW_VERSION +ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION +ENV ASWF_QT_VERSION=$ASWF_QT_VERSION +ENV ASWF_PYSIDE_VERSION=$ASWF_PYSIDE_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_OPENEXR_VERSION=$ASWF_OPENEXR_VERSION +ENV ASWF_BLOSC_VERSION=$ASWF_BLOSC_VERSION +ENV ASWF_ALEMBIC_VERSION=$ASWF_ALEMBIC_VERSION +ENV ASWF_OIIO_VERSION=$ASWF_OIIO_VERSION +ENV ASWF_OCIO_VERSION=$ASWF_OCIO_VERSION +ENV ASWF_OPENSUBDIV_VERSION=$ASWF_OPENSUBDIV_VERSION +ENV ASWF_PTEX_VERSION=$ASWF_PTEX_VERSION +ENV ASWF_OPENVDB_VERSION=$ASWF_OPENVDB_VERSION +ENV ASWF_USD_VERSION=$ASWF_USD_VERSION +ENV ASWF_PARTIO_VERSION=$ASWF_PARTIO_VERSION +ENV ASWF_OSL_VERSION=$ASWF_OSL_VERSION +ENV ASWF_OTIO_VERSION=$ASWF_OTIO_VERSION +ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION +ENV ASWF_HDF5_VERSION=$ASWF_HDF5_VERSION +ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-python /. /usr/local/ @@ -187,4 +189,4 @@ COPY ci-vfxall/README.md ci-vfxall/image.yaml /usr/local/aswf/ -ENV PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib64/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:/usr/local/lib/python:${PYTHONPATH} +ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH} diff --git a/ci-vfxall/image.yaml b/ci-vfxall/image.yaml index f7a39637..5cf61731 100644 --- a/ci-vfxall/image.yaml +++ b/ci-vfxall/image.yaml @@ -29,5 +29,5 @@ implicit_packages: - numpy - hdf5 - vfxplatform -docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} -docker_package_version: $VFXPLATFORM_VERSION +docker_from: ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} +docker_package_version: $ASWF_VFXPLATFORM_VERSION diff --git a/packages/base1/Dockerfile b/packages/base1/Dockerfile index f1fdc478..35832ac1 100644 --- a/packages/base1/Dockerfile +++ b/packages/base1/Dockerfile @@ -4,27 +4,27 @@ # "Global" ARGs ARG ASWF_ORG -ARG BOOST_VERSION +ARG ASWF_BOOST_VERSION ARG CI_COMMON_VERSION -ARG CLANG_VERSION -ARG CLANG_MAJOR_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG CUDA_VERSION -ARG DTS_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG LOG4CPLUS_VERSION -ARG NINJA_VERSION -ARG NUMPY_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_CLANG_VERSION +ARG ASWF_CLANG_MAJOR_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_CUDA_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_NINJA_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_VFXPLATFORM_VERSION #################### ci-centos7-gl-packages #################### -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-centos7-gl-packages +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-centos7-gl-packages COPY ../scripts/common/before_build.sh \ ../scripts/common/copy_new_files.sh \ @@ -39,8 +39,8 @@ ENV DOWNLOADS_DIR=/tmp/downloads \ FROM ci-centos7-gl-packages as ci-cmake-builder ARG CI_COMMON_VERSION -ARG CMAKE_VERSION -ENV CMAKE_VERSION=${CMAKE_VERSION} +ARG ASWF_CMAKE_VERSION +ENV ASWF_CMAKE_VERSION=${ASWF_CMAKE_VERSION} COPY ../scripts/base/install_cmake.sh \ /tmp/ @@ -58,9 +58,9 @@ FROM scratch as ci-package-cmake ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG CMAKE_VERSION -ARG DTS_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" LABEL org.opencontainers.image.title="CMake package built for ASWF docker images" @@ -69,12 +69,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://cmake.org/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${CMAKE_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_CMAKE_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.cmake="${CMAKE_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.cmake="${ASWF_CMAKE_VERSION}" COPY --from=ci-cmake-builder /package/. / @@ -82,21 +82,21 @@ COPY --from=ci-cmake-builder /package/. / #################### ci-base-builder #################### FROM ci-cmake-builder as ci-base-builder -ARG PYTHON_VERSION_MAJOR_MINOR -ENV PYTHON_VERSION_MAJOR_MINOR=${PYTHON_VERSION_MAJOR_MINOR} -ARG VFXPLATFORM_VERSION -ENV VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=${ASWF_PYTHON_MAJOR_MINOR_VERSION} +ARG ASWF_VFXPLATFORM_VERSION +ENV ASWF_VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} -ENV PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} +ENV PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:${PYTHONPATH} #################### ci-python-builder #################### FROM ci-base-builder as ci-python-builder -ARG NUMPY_VERSION -ENV NUMPY_VERSION=${NUMPY_VERSION} -ARG PYTHON_VERSION -ENV PYTHON_VERSION=${PYTHON_VERSION} +ARG ASWF_NUMPY_VERSION +ENV ASWF_NUMPY_VERSION=${ASWF_NUMPY_VERSION} +ARG ASWF_PYTHON_VERSION +ENV ASWF_PYTHON_VERSION=${ASWF_PYTHON_VERSION} COPY ../scripts/base/build_python.sh \ /tmp/ @@ -114,10 +114,10 @@ FROM scratch as ci-package-python ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG NUMPY_VERSION -ARG PYTHON_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_NUMPY_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-python" LABEL org.opencontainers.image.title="Python and numpy packages built for ASWF docker images" @@ -126,13 +126,13 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://www.python.org/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${PYTHON_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_PYTHON_VERSION}" LABEL org.opencontainers.image.licenses="PSF-2.0 AND BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.python="${PYTHON_VERSION}" -LABEL io.aswf.docker.versions.numpy="${NUMPY_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.python="${ASWF_PYTHON_VERSION}" +LABEL io.aswf.docker.versions.numpy="${ASWF_NUMPY_VERSION}" COPY --from=ci-python-builder /package/. / @@ -140,8 +140,8 @@ COPY --from=ci-python-builder /package/. / #################### ci-boost-builder #################### FROM ci-python-builder as ci-boost-builder -ARG BOOST_VERSION -ENV BOOST_VERSION=${BOOST_VERSION} +ARG ASWF_BOOST_VERSION +ENV ASWF_BOOST_VERSION=${ASWF_BOOST_VERSION} COPY ../scripts/base/build_boost.sh \ /tmp/ @@ -158,10 +158,10 @@ RUN --mount=type=cache,target=/tmp/ccache \ FROM scratch as ci-package-boost ARG ASWF_ORG -ARG BOOST_VERSION +ARG ASWF_BOOST_VERSION ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-boost" LABEL org.opencontainers.image.title="Boost package built for ASWF docker images" @@ -170,12 +170,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://www.boost.org/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${BOOST_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_BOOST_VERSION}" LABEL org.opencontainers.image.licenses="BSL-1.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.boost="${BOOST_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.boost="${ASWF_BOOST_VERSION}" COPY --from=ci-boost-builder /package/. / @@ -183,8 +183,8 @@ COPY --from=ci-boost-builder /package/. / #################### ci-tbb-builder #################### FROM ci-base-builder as ci-tbb-builder -ARG TBB_VERSION -ENV TBB_VERSION=${TBB_VERSION} +ARG ASWF_TBB_VERSION +ENV ASWF_TBB_VERSION=${ASWF_TBB_VERSION} COPY ../scripts/base/build_tbb.sh \ /tmp/ @@ -202,9 +202,9 @@ FROM scratch as ci-package-tbb ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG TBB_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_TBB_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-tbb" LABEL org.opencontainers.image.title="Intel TBB package built for ASWF docker images" @@ -213,12 +213,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://software.intel.com/en-us/tbb" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${TBB_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_TBB_VERSION}" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.boost="${TBB_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.boost="${ASWF_TBB_VERSION}" COPY --from=ci-tbb-builder /package/. / @@ -226,8 +226,8 @@ COPY --from=ci-tbb-builder /package/. / #################### ci-cppunit-builder #################### FROM ci-python-builder as ci-cppunit-builder -ARG CPPUNIT_VERSION -ENV CPPUNIT_VERSION=${CPPUNIT_VERSION} +ARG ASWF_CPPUNIT_VERSION +ENV ASWF_CPPUNIT_VERSION=${ASWF_CPPUNIT_VERSION} COPY ../scripts/base/build_cppunit.sh \ /tmp/ @@ -245,9 +245,9 @@ FROM scratch as ci-package-cppunit ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG CPPUNIT_VERSION -ARG DTS_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-cppunit" LABEL org.opencontainers.image.title="CppUnit package built for ASWF docker images" @@ -256,12 +256,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://www.boost.org/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${CPPUNIT_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_CPPUNIT_VERSION}" LABEL org.opencontainers.image.licenses="LGPL-2.1-only" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.cppunit="${CPPUNIT_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.cppunit="${ASWF_CPPUNIT_VERSION}" COPY --from=ci-cppunit-builder /package/. / @@ -269,8 +269,8 @@ COPY --from=ci-cppunit-builder /package/. / #################### ci-log4cplus-builder #################### FROM ci-python-builder as ci-log4cplus-builder -ARG LOG4CPLUS_VERSION -ENV LOG4CPLUS_VERSION=${LOG4CPLUS_VERSION} +ARG ASWF_LOG4CPLUS_VERSION +ENV ASWF_LOG4CPLUS_VERSION=${ASWF_LOG4CPLUS_VERSION} COPY ../scripts/base/build_log4cplus.sh \ /tmp/ @@ -288,9 +288,9 @@ FROM scratch as ci-package-log4cplus ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG LOG4CPLUS_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_LOG4CPLUS_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-log4cplus" LABEL org.opencontainers.image.title="log4cplus package built for ASWF docker images" @@ -299,12 +299,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://sourceforge.net/projects/log4cplus/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${LOG4CPLUS_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_LOG4CPLUS_VERSION}" LABEL org.opencontainers.image.licenses="BSD-2-Clause AND Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.log4cplus="${LOG4CPLUS_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.log4cplus="${ASWF_LOG4CPLUS_VERSION}" COPY --from=ci-log4cplus-builder /package/. / @@ -312,8 +312,8 @@ COPY --from=ci-log4cplus-builder /package/. / #################### ci-glew-builder #################### FROM ci-python-builder as ci-glew-builder -ARG GLEW_VERSION -ENV GLEW_VERSION=${GLEW_VERSION} +ARG ASWF_GLEW_VERSION +ENV ASWF_GLEW_VERSION=${ASWF_GLEW_VERSION} COPY ../scripts/base/build_glew.sh \ /tmp/ @@ -331,9 +331,9 @@ FROM scratch as ci-package-glew ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG GLEW_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glew" LABEL org.opencontainers.image.title="glew package built for ASWF docker images" @@ -342,12 +342,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="http://glew.sourceforge.net/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${GLEW_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_GLEW_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause AND MIT" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.glew="${GLEW_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.glew="${ASWF_GLEW_VERSION}" COPY --from=ci-glew-builder /package/. / @@ -355,8 +355,8 @@ COPY --from=ci-glew-builder /package/. / #################### ci-glfw-builder #################### FROM ci-python-builder as ci-glfw-builder -ARG GLFW_VERSION -ENV GLFW_VERSION=${GLFW_VERSION} +ARG ASWF_GLFW_VERSION +ENV ASWF_GLFW_VERSION=${ASWF_GLFW_VERSION} COPY ../scripts/base/build_glfw.sh \ /tmp/ @@ -374,9 +374,9 @@ FROM scratch as ci-package-glfw ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG GLFW_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-glfw" LABEL org.opencontainers.image.title="glfw package built for ASWF docker images" @@ -385,11 +385,11 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://www.glfw.org/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${GLFW_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_GLFW_VERSION}" LABEL org.opencontainers.image.licenses="Zlib" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.glfw="${GLFW_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.glfw="${ASWF_GLFW_VERSION}" COPY --from=ci-glfw-builder /package/. / diff --git a/packages/base2/Dockerfile b/packages/base2/Dockerfile index f7580efa..80bb25ad 100644 --- a/packages/base2/Dockerfile +++ b/packages/base2/Dockerfile @@ -5,18 +5,18 @@ # "Global" ARGs ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG CMAKE_VERSION -ARG CLANG_MAJOR_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG QT_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CLANG_MAJOR_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_VFXPLATFORM_VERSION # Required base packages built in previous stages -FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external +FROM ${ASWF_ORG}/ci-package-cmake:${ASWF_VFXPLATFORM_VERSION}-${ASWF_CMAKE_VERSION} as ci-package-cmake-external #################### ci-centos7-gl-packages #################### -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-centos7-gl-packages +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-centos7-gl-packages COPY --from=ci-package-cmake-external /. /usr/local/ @@ -32,8 +32,8 @@ ENV DOWNLOADS_DIR=/tmp/downloads \ #################### ci-qt-builder #################### FROM ci-centos7-gl-packages as ci-qt-builder -ARG QT_VERSION -ENV QT_VERSION=${QT_VERSION} +ARG ASWF_QT_VERSION +ENV ASWF_QT_VERSION=${ASWF_QT_VERSION} COPY ../scripts/base/build_qt.sh \ /tmp/ @@ -51,9 +51,9 @@ FROM scratch as ci-package-qt ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG QT_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-qt" LABEL org.opencontainers.image.title="Qt package built for ASWF docker images" @@ -62,11 +62,11 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://www.qt.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${QT_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_QT_VERSION}" LABEL org.opencontainers.image.licenses="https://doc.qt.io/qt-5/licenses-used-in-qt.html" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.glfw="${QT_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.glfw="${ASWF_QT_VERSION}" COPY --from=ci-qt-builder /package/. / diff --git a/packages/base3/Dockerfile b/packages/base3/Dockerfile index dc44af01..632b2b08 100644 --- a/packages/base3/Dockerfile +++ b/packages/base3/Dockerfile @@ -5,20 +5,20 @@ # "Global" ARGs ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION -ARG CMAKE_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG QT_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_CLANG_MAJOR_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_VFXPLATFORM_VERSION # Required base packages built in previous stages -FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external -FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external -FROM ${ASWF_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt-external +FROM ${ASWF_ORG}/ci-package-cmake:${ASWF_VFXPLATFORM_VERSION}-${ASWF_CMAKE_VERSION} as ci-package-cmake-external +FROM ${ASWF_ORG}/ci-package-python:${ASWF_VFXPLATFORM_VERSION}-${ASWF_PYTHON_VERSION} as ci-package-python-external +FROM ${ASWF_ORG}/ci-package-qt:${ASWF_VFXPLATFORM_VERSION}-${ASWF_QT_VERSION} as ci-package-qt-external #################### ci-centos7-gl-packages #################### -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-centos7-gl-packages +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-centos7-gl-packages COPY --from=ci-package-cmake-external /. /usr/local/ @@ -29,14 +29,14 @@ COPY ../scripts/common/before_build.sh \ ENV DOWNLOADS_DIR=/tmp/downloads \ CCACHE_DIR=/tmp/ccache \ ASWF_INSTALL_PREFIX=/usr/local \ - PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:${PYTHONPATH} #################### ci-pyside-builder #################### FROM ci-centos7-gl-packages as ci-pyside-builder -ARG PYSIDE_VERSION -ENV PYSIDE_VERSION=${PYSIDE_VERSION} +ARG ASWF_PYSIDE_VERSION +ENV ASWF_PYSIDE_VERSION=${ASWF_PYSIDE_VERSION} COPY --from=ci-package-python-external /. /usr/local/ # Workaround pyside issue with Qt headers within system location https://bugreports.qt.io/browse/PYSIDE-787 @@ -58,9 +58,9 @@ FROM scratch as ci-package-pyside ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG PYSIDE_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-pyside" LABEL org.opencontainers.image.title="PySide package built for ASWF docker images" @@ -69,12 +69,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://www.qt.io/qt-for-python" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${PYSIDE_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_PYSIDE_VERSION}" LABEL org.opencontainers.image.licenses="LGPL-2.1" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.pyside="${PYSIDE_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.pyside="${ASWF_PYSIDE_VERSION}" COPY --from=ci-pyside-builder /package/. / diff --git a/packages/common/Dockerfile b/packages/common/Dockerfile index a8da5598..4d6cd287 100644 --- a/packages/common/Dockerfile +++ b/packages/common/Dockerfile @@ -4,22 +4,22 @@ # "Global" ARGs ARG ASWF_ORG -ARG CCACHE_VERSION +ARG ASWF_CCACHE_VERSION ARG CI_COMMON_VERSION -ARG CLANG_VERSION -ARG CUDA_VERSION -ARG DTS_VERSION -ARG NINJA_VERSION +ARG ASWF_CLANG_VERSION +ARG ASWF_CUDA_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_NINJA_VERSION #################### ci-centos7-gl-packages #################### -FROM nvidia/cudagl:${CUDA_VERSION}-devel-centos7 as ci-centos7-gl-packages +FROM nvidia/cudagl:${ASWF_CUDA_VERSION}-devel-centos7 as ci-centos7-gl-packages ARG CI_COMMON_VERSION ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} -ARG CUDA_VERSION -ENV CUDA_VERSION=${CUDA_VERSION} -ARG DTS_VERSION -ENV DTS_VERSION=${DTS_VERSION} +ARG ASWF_CUDA_VERSION +ENV ASWF_CUDA_VERSION=${ASWF_CUDA_VERSION} +ARG ASWF_DTS_VERSION +ENV ASWF_DTS_VERSION=${ASWF_DTS_VERSION} COPY ../scripts/common/install_yumpackages.sh \ /tmp/ @@ -36,8 +36,8 @@ COPY ../scripts/common/install_dev_ccache.sh \ ENV DOWNLOADS_DIR=/tmp/downloads \ CCACHE_DIR=/tmp/ccache \ ASWF_INSTALL_PREFIX=/usr/local \ - LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ - PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin + LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ + PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ /tmp/install_dev_cmake.sh && \ @@ -46,8 +46,8 @@ RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ #################### ci-clang-builder #################### FROM ci-centos7-gl-packages as ci-clang-builder -ARG CLANG_VERSION -ENV CLANG_VERSION=${CLANG_VERSION} +ARG ASWF_CLANG_VERSION +ENV ASWF_CLANG_VERSION=${ASWF_CLANG_VERSION} COPY ../scripts/common/build_clang.sh \ /tmp/ @@ -66,8 +66,8 @@ FROM scratch as ci-package-clang ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG CLANG_VERSION -ARG DTS_VERSION +ARG ASWF_CLANG_VERSION +ARG ASWF_DTS_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-clang" LABEL org.opencontainers.image.title="Clang package built for ASWF docker images" @@ -76,11 +76,11 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://llvm.org/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${CLANG_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_CLANG_VERSION}" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.clang="${CLANG_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.clang="${ASWF_CLANG_VERSION}" COPY --from=ci-clang-builder /package/. / @@ -88,8 +88,8 @@ COPY --from=ci-clang-builder /package/. / #################### ci-ninja-builder #################### FROM ci-centos7-gl-packages as ci-ninja-builder -ARG NINJA_VERSION -ENV NINJA_VERSION=${NINJA_VERSION} +ARG ASWF_NINJA_VERSION +ENV ASWF_NINJA_VERSION=${ASWF_NINJA_VERSION} COPY ../scripts/common/build_ninja.sh \ /tmp/ @@ -107,8 +107,8 @@ FROM scratch as ci-package-ninja ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG NINJA_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_NINJA_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ninja" LABEL org.opencontainers.image.title="Ninja package built for ASWF docker images" @@ -117,11 +117,11 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://ninja-build.org/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${NINJA_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_NINJA_VERSION}" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.ninja="${NINJA_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.ninja="${ASWF_NINJA_VERSION}" COPY --from=ci-ninja-builder /package/. / diff --git a/packages/vfx1/Dockerfile b/packages/vfx1/Dockerfile index 3ae744bf..249273f5 100644 --- a/packages/vfx1/Dockerfile +++ b/packages/vfx1/Dockerfile @@ -5,37 +5,37 @@ # "Global" ARGs ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION - -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG TBB_VERSION - -ARG ALEMBIC_VERSION -ARG BLOSC_VERSION -ARG HDF5_VERSION -ARG OCIO_CONFIGS_VERSION -ARG OCIO_VERSION -ARG OIIO_VERSION -ARG OPENEXR_VERSION +ARG ASWF_CLANG_MAJOR_VERSION +ARG ASWF_VFXPLATFORM_VERSION + +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION +ARG ASWF_TBB_VERSION + +ARG ASWF_ALEMBIC_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_HDF5_VERSION +ARG ASWF_OCIO_CONFIGS_VERSION +ARG ASWF_OCIO_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_OPENEXR_VERSION # Required base packages built in previous stages -FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external -FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external -FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost-external -FROM ${ASWF_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew-external -FROM ${ASWF_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb-external -FROM ${ASWF_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit-external -FROM ${ASWF_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw-external +FROM ${ASWF_ORG}/ci-package-cmake:${ASWF_VFXPLATFORM_VERSION}-${ASWF_CMAKE_VERSION} as ci-package-cmake-external +FROM ${ASWF_ORG}/ci-package-python:${ASWF_VFXPLATFORM_VERSION}-${ASWF_PYTHON_VERSION} as ci-package-python-external +FROM ${ASWF_ORG}/ci-package-boost:${ASWF_VFXPLATFORM_VERSION}-${ASWF_BOOST_VERSION} as ci-package-boost-external +FROM ${ASWF_ORG}/ci-package-glew:${ASWF_VFXPLATFORM_VERSION}-${ASWF_GLEW_VERSION} as ci-package-glew-external +FROM ${ASWF_ORG}/ci-package-tbb:${ASWF_VFXPLATFORM_VERSION}-${ASWF_TBB_VERSION} as ci-package-tbb-external +FROM ${ASWF_ORG}/ci-package-cppunit:${ASWF_VFXPLATFORM_VERSION}-${ASWF_CPPUNIT_VERSION} as ci-package-cppunit-external +FROM ${ASWF_ORG}/ci-package-glfw:${ASWF_VFXPLATFORM_VERSION}-${ASWF_GLFW_VERSION} as ci-package-glfw-external #################### ci-centos7-gl-packages #################### -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base-builder +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-base-builder COPY --from=ci-package-cmake-external /. /usr/local/ COPY --from=ci-package-python-external /. /usr/local/ @@ -48,13 +48,13 @@ COPY ../scripts/common/before_build.sh \ ENV DOWNLOADS_DIR=/tmp/downloads \ CCACHE_DIR=/tmp/ccache \ ASWF_INSTALL_PREFIX=/usr/local \ - PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:${PYTHONPATH} #################### ci-openexr-builder #################### FROM ci-base-builder as ci-openexr-builder -ARG OPENEXR_VERSION -ENV OPENEXR_VERSION=${OPENEXR_VERSION} +ARG ASWF_OPENEXR_VERSION +ENV ASWF_OPENEXR_VERSION=${ASWF_OPENEXR_VERSION} COPY ../scripts/vfx/build_openexr.sh \ /tmp/ @@ -72,9 +72,9 @@ FROM scratch as ci-package-openexr ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OPENEXR_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openexr" LABEL org.opencontainers.image.title="OpenEXR package built for ASWF docker images" @@ -83,12 +83,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openexr" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OPENEXR_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_OPENEXR_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.pyside="${OPENEXR_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.pyside="${ASWF_OPENEXR_VERSION}" COPY --from=ci-openexr-builder /package/. / @@ -97,10 +97,10 @@ COPY --from=ci-openexr-builder /package/. / #################### ci-alembic-builder #################### FROM ci-openexr-builder as ci-alembic-builder -ARG ALEMBIC_VERSION -ENV ALEMBIC_VERSION=${ALEMBIC_VERSION} -ARG HDF5_VERSION -ENV HDF5_VERSION=${HDF5_VERSION} +ARG ASWF_ALEMBIC_VERSION +ENV ASWF_ALEMBIC_VERSION=${ASWF_ALEMBIC_VERSION} +ARG ASWF_HDF5_VERSION +ENV ASWF_HDF5_VERSION=${ASWF_HDF5_VERSION} COPY ../scripts/vfx/build_alembic.sh \ /tmp/ @@ -116,12 +116,12 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-package-alembic #################### FROM scratch as ci-package-alembic -ARG ALEMBIC_VERSION +ARG ASWF_ALEMBIC_VERSION ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG HDF5_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_HDF5_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-alembic" LABEL org.opencontainers.image.title="Alembic package built for ASWF docker images" @@ -130,13 +130,13 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/alembic/alembic" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${ALEMBIC_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_ALEMBIC_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.alembic="${ALEMBIC_VERSION}" -LABEL io.aswf.docker.versions.hdf5="${HDF5_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.alembic="${ASWF_ALEMBIC_VERSION}" +LABEL io.aswf.docker.versions.hdf5="${ASWF_HDF5_VERSION}" COPY --from=ci-alembic-builder /package/. / @@ -144,8 +144,8 @@ COPY --from=ci-alembic-builder /package/. / #################### ci-blosc-builder #################### FROM ci-base-builder as ci-blosc-builder -ARG BLOSC_VERSION -ENV BLOSC_VERSION=${BLOSC_VERSION} +ARG ASWF_BLOSC_VERSION +ENV ASWF_BLOSC_VERSION=${ASWF_BLOSC_VERSION} COPY ../scripts/vfx/build_blosc.sh \ /tmp/ @@ -162,10 +162,10 @@ RUN --mount=type=cache,target=/tmp/ccache \ FROM scratch as ci-package-blosc ARG ASWF_ORG -ARG BLOSC_VERSION +ARG ASWF_BLOSC_VERSION ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-blosc" LABEL org.opencontainers.image.title="Blosc package built for ASWF docker images" @@ -174,12 +174,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/Blosc/c-blosc" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${BLOSC_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_BLOSC_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.blosc="${BLOSC_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.blosc="${ASWF_BLOSC_VERSION}" COPY --from=ci-blosc-builder /package/. / @@ -187,8 +187,8 @@ COPY --from=ci-blosc-builder /package/. / #################### ci-oiio-builder #################### FROM ci-openexr-builder as ci-oiio-builder -ARG OIIO_VERSION -ENV OIIO_VERSION=${OIIO_VERSION} +ARG ASWF_OIIO_VERSION +ENV ASWF_OIIO_VERSION=${ASWF_OIIO_VERSION} COPY ../scripts/vfx/build_oiio.sh \ /tmp/ @@ -206,9 +206,9 @@ FROM scratch as ci-package-oiio ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OIIO_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-oiio" LABEL org.opencontainers.image.title="OpenImageIO package built for ASWF docker images" @@ -217,12 +217,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/OpenImageIO/oiio" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OIIO_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_OIIO_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.oiio="${OIIO_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.oiio="${ASWF_OIIO_VERSION}" COPY --from=ci-oiio-builder /package/. / @@ -230,10 +230,10 @@ COPY --from=ci-oiio-builder /package/. / #################### ci-ocio-builder #################### FROM ci-oiio-builder as ci-ocio-builder -ARG OCIO_VERSION -ENV OCIO_VERSION=${OCIO_VERSION} -ARG OCIO_CONFIGS_VERSION -ENV OCIO_CONFIGS_VERSION=${OCIO_CONFIGS_VERSION} +ARG ASWF_OCIO_VERSION +ENV ASWF_OCIO_VERSION=${ASWF_OCIO_VERSION} +ARG ASWF_OCIO_CONFIGS_VERSION +ENV ASWF_OCIO_CONFIGS_VERSION=${ASWF_OCIO_CONFIGS_VERSION} COPY ../scripts/vfx/build_ocio.sh \ /tmp/ @@ -251,10 +251,10 @@ FROM scratch as ci-package-ocio ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OCIO_CONFIGS_VERSION -ARG OCIO_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_OCIO_CONFIGS_VERSION +ARG ASWF_OCIO_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ocio" LABEL org.opencontainers.image.title="OpenColorIO package built for ASWF docker images" @@ -263,13 +263,13 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/OpenColorIO" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OCIO_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_OCIO_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.ocio="${OCIO_VERSION}" -LABEL io.aswf.docker.versions.ocioconfigs="${OCIO_CONFIGS_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.ocio="${ASWF_OCIO_VERSION}" +LABEL io.aswf.docker.versions.ocioconfigs="${ASWF_OCIO_CONFIGS_VERSION}" COPY --from=ci-ocio-builder /package/. / @@ -277,8 +277,8 @@ COPY --from=ci-ocio-builder /package/. / #################### ci-osl-builder #################### FROM ci-oiio-builder as ci-osl-builder -ARG OSL_VERSION -ENV OSL_VERSION=${OSL_VERSION} +ARG ASWF_OSL_VERSION +ENV ASWF_OSL_VERSION=${ASWF_OSL_VERSION} COPY --from=ci-package-clang-external /. /usr/local/ COPY --from=ci-package-qt-external /. /usr/local/ @@ -298,8 +298,8 @@ RUN --mount=type=cache,target=/tmp/ccache \ #################### ci-openvdb-builder #################### FROM ci-openexr-builder as ci-openvdb-builder -ARG OPENVDB_VERSION -ENV OPENVDB_VERSION=${OPENVDB_VERSION} +ARG ASWF_OPENVDB_VERSION +ENV ASWF_OPENVDB_VERSION=${ASWF_OPENVDB_VERSION} COPY ../scripts/vfx/build_openvdb.sh \ /tmp/ @@ -324,9 +324,9 @@ FROM scratch as ci-package-openvdb ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OPENVDB_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_OPENVDB_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-openvdb" LABEL org.opencontainers.image.title="OpenVDB package built for ASWF docker images" @@ -335,12 +335,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/AcademySoftwareFoundation/openvdb" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OPENVDB_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_OPENVDB_VERSION}" LABEL org.opencontainers.image.licenses="MPL-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.openvdb="${OPENVDB_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.openvdb="${ASWF_OPENVDB_VERSION}" COPY --from=ci-openvdb-builder /package/. / diff --git a/packages/vfx2/Dockerfile b/packages/vfx2/Dockerfile index bf93c94b..c36c4b5a 100644 --- a/packages/vfx2/Dockerfile +++ b/packages/vfx2/Dockerfile @@ -5,53 +5,53 @@ # "Global" ARGs ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION -ARG VFXPLATFORM_VERSION - -ARG BOOST_VERSION -ARG CMAKE_VERSION -ARG CPPUNIT_VERSION -ARG GLEW_VERSION -ARG GLFW_VERSION -ARG PYTHON_VERSION -ARG PYTHON_VERSION_MAJOR_MINOR -ARG TBB_VERSION - -ARG ALEMBIC_VERSION -ARG BLOSC_VERSION -ARG OCIO_VERSION -ARG OIIO_VERSION -ARG OPENEXR_VERSION -ARG OPENSUBDIV_VERSION -ARG OPENVDB_VERSION -ARG OSL_VERSION -ARG OTIO_VERSION -ARG PARTIO_VERSION -ARG PTEX_VERSION -ARG PYSIDE_VERSION -ARG QT_VERSION -ARG USD_VERSION +ARG ASWF_CLANG_MAJOR_VERSION +ARG ASWF_VFXPLATFORM_VERSION + +ARG ASWF_BOOST_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CPPUNIT_VERSION +ARG ASWF_GLEW_VERSION +ARG ASWF_GLFW_VERSION +ARG ASWF_PYTHON_VERSION +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION +ARG ASWF_TBB_VERSION + +ARG ASWF_ALEMBIC_VERSION +ARG ASWF_BLOSC_VERSION +ARG ASWF_OCIO_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_OPENEXR_VERSION +ARG ASWF_OPENSUBDIV_VERSION +ARG ASWF_OPENVDB_VERSION +ARG ASWF_OSL_VERSION +ARG ASWF_OTIO_VERSION +ARG ASWF_PARTIO_VERSION +ARG ASWF_PTEX_VERSION +ARG ASWF_PYSIDE_VERSION +ARG ASWF_QT_VERSION +ARG ASWF_USD_VERSION # Required base packages built in previous stages -FROM ${ASWF_ORG}/ci-package-cmake:${VFXPLATFORM_VERSION}-${CMAKE_VERSION} as ci-package-cmake-external -FROM ${ASWF_ORG}/ci-package-cppunit:${VFXPLATFORM_VERSION}-${CPPUNIT_VERSION} as ci-package-cppunit-external -FROM ${ASWF_ORG}/ci-package-python:${VFXPLATFORM_VERSION}-${PYTHON_VERSION} as ci-package-python-external -FROM ${ASWF_ORG}/ci-package-boost:${VFXPLATFORM_VERSION}-${BOOST_VERSION} as ci-package-boost-external -FROM ${ASWF_ORG}/ci-package-tbb:${VFXPLATFORM_VERSION}-${TBB_VERSION} as ci-package-tbb-external -FROM ${ASWF_ORG}/ci-package-qt:${VFXPLATFORM_VERSION}-${QT_VERSION} as ci-package-qt-external -FROM ${ASWF_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION}-${PYSIDE_VERSION} as ci-package-pyside-external - -FROM ${ASWF_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION}-${OPENEXR_VERSION} as ci-package-openexr-external -FROM ${ASWF_ORG}/ci-package-blosc:${VFXPLATFORM_VERSION}-${BLOSC_VERSION} as ci-package-blosc-external -FROM ${ASWF_ORG}/ci-package-glew:${VFXPLATFORM_VERSION}-${GLEW_VERSION} as ci-package-glew-external -FROM ${ASWF_ORG}/ci-package-glfw:${VFXPLATFORM_VERSION}-${GLFW_VERSION} as ci-package-glfw-external -FROM ${ASWF_ORG}/ci-package-alembic:${VFXPLATFORM_VERSION}-${ALEMBIC_VERSION} as ci-package-alembic-external -FROM ${ASWF_ORG}/ci-package-openvdb:${VFXPLATFORM_VERSION}-${OPENVDB_VERSION} as ci-package-openvdb-external -FROM ${ASWF_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION}-${OIIO_VERSION} as ci-package-oiio-external -FROM ${ASWF_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio-external +FROM ${ASWF_ORG}/ci-package-cmake:${ASWF_VFXPLATFORM_VERSION}-${ASWF_CMAKE_VERSION} as ci-package-cmake-external +FROM ${ASWF_ORG}/ci-package-cppunit:${ASWF_VFXPLATFORM_VERSION}-${ASWF_CPPUNIT_VERSION} as ci-package-cppunit-external +FROM ${ASWF_ORG}/ci-package-python:${ASWF_VFXPLATFORM_VERSION}-${ASWF_PYTHON_VERSION} as ci-package-python-external +FROM ${ASWF_ORG}/ci-package-boost:${ASWF_VFXPLATFORM_VERSION}-${ASWF_BOOST_VERSION} as ci-package-boost-external +FROM ${ASWF_ORG}/ci-package-tbb:${ASWF_VFXPLATFORM_VERSION}-${ASWF_TBB_VERSION} as ci-package-tbb-external +FROM ${ASWF_ORG}/ci-package-qt:${ASWF_VFXPLATFORM_VERSION}-${ASWF_QT_VERSION} as ci-package-qt-external +FROM ${ASWF_ORG}/ci-package-pyside:${ASWF_VFXPLATFORM_VERSION}-${ASWF_PYSIDE_VERSION} as ci-package-pyside-external + +FROM ${ASWF_ORG}/ci-package-openexr:${ASWF_VFXPLATFORM_VERSION}-${ASWF_OPENEXR_VERSION} as ci-package-openexr-external +FROM ${ASWF_ORG}/ci-package-blosc:${ASWF_VFXPLATFORM_VERSION}-${ASWF_BLOSC_VERSION} as ci-package-blosc-external +FROM ${ASWF_ORG}/ci-package-glew:${ASWF_VFXPLATFORM_VERSION}-${ASWF_GLEW_VERSION} as ci-package-glew-external +FROM ${ASWF_ORG}/ci-package-glfw:${ASWF_VFXPLATFORM_VERSION}-${ASWF_GLFW_VERSION} as ci-package-glfw-external +FROM ${ASWF_ORG}/ci-package-alembic:${ASWF_VFXPLATFORM_VERSION}-${ASWF_ALEMBIC_VERSION} as ci-package-alembic-external +FROM ${ASWF_ORG}/ci-package-openvdb:${ASWF_VFXPLATFORM_VERSION}-${ASWF_OPENVDB_VERSION} as ci-package-openvdb-external +FROM ${ASWF_ORG}/ci-package-oiio:${ASWF_VFXPLATFORM_VERSION}-${ASWF_OIIO_VERSION} as ci-package-oiio-external +FROM ${ASWF_ORG}/ci-package-ocio:${ASWF_VFXPLATFORM_VERSION}-${ASWF_OCIO_VERSION} as ci-package-ocio-external #################### ci-centos7-gl-packages #################### -FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${CLANG_MAJOR_VERSION} as ci-base-builder +FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-base-builder COPY --from=ci-package-cmake-external /. /usr/local/ COPY --from=ci-package-python-external /. /usr/local/ @@ -64,14 +64,14 @@ COPY ../scripts/common/before_build.sh \ ENV DOWNLOADS_DIR=/tmp/downloads \ CCACHE_DIR=/tmp/ccache \ ASWF_INSTALL_PREFIX=/usr/local \ - PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages:${PYTHONPATH} + PYTHONPATH=${ASWF_INSTALL_PREFIX}/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:${PYTHONPATH} #################### ci-partio-builder #################### FROM ci-base-builder as ci-partio-builder -ARG PARTIO_VERSION -ENV PARTIO_VERSION=${PARTIO_VERSION} +ARG ASWF_PARTIO_VERSION +ENV ASWF_PARTIO_VERSION=${ASWF_PARTIO_VERSION} COPY ../scripts/vfx/build_partio.sh \ /tmp/ @@ -89,9 +89,9 @@ FROM scratch as ci-package-partio ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG PARTIO_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_PARTIO_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-partio" LABEL org.opencontainers.image.title="Partio package built for ASWF docker images" @@ -100,12 +100,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/wdas/partio" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${PARTIO_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_PARTIO_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.partio="${PARTIO_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.partio="${ASWF_PARTIO_VERSION}" COPY --from=ci-partio-builder /package/. / @@ -113,8 +113,8 @@ COPY --from=ci-partio-builder /package/. / #################### ci-osl-builder #################### FROM ci-partio-builder as ci-osl-builder -ARG OSL_VERSION -ENV OSL_VERSION=${OSL_VERSION} +ARG ASWF_OSL_VERSION +ENV ASWF_OSL_VERSION=${ASWF_OSL_VERSION} COPY --from=ci-package-openexr-external /. /usr/local/ COPY --from=ci-package-oiio-external /. /usr/local/ @@ -135,9 +135,9 @@ FROM scratch as ci-package-osl ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OSL_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_OSL_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-osl" LABEL org.opencontainers.image.title="OpenShadingLanguage package built for ASWF docker images" @@ -146,12 +146,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/imageworks/OpenShadingLanguage" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OSL_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_OSL_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.osl="${OSL_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.osl="${ASWF_OSL_VERSION}" COPY --from=ci-osl-builder /package/. / @@ -159,8 +159,8 @@ COPY --from=ci-osl-builder /package/. / #################### ci-ptex-builder #################### FROM ci-base-builder as ci-ptex-builder -ARG PTEX_VERSION -ENV PTEX_VERSION=${PTEX_VERSION} +ARG ASWF_PTEX_VERSION +ENV ASWF_PTEX_VERSION=${ASWF_PTEX_VERSION} COPY ../scripts/vfx/build_ptex.sh \ /tmp/ @@ -178,9 +178,9 @@ FROM scratch as ci-package-ptex ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG PTEX_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_PTEX_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-ptex" LABEL org.opencontainers.image.title="Ptex package built for ASWF docker images" @@ -189,12 +189,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/wdas/ptex" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${PTEX_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_PTEX_VERSION}" LABEL org.opencontainers.image.licenses="BSD-3-Clause" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.ptex="${PTEX_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.ptex="${ASWF_PTEX_VERSION}" COPY --from=ci-ptex-builder /package/. / @@ -202,8 +202,8 @@ COPY --from=ci-ptex-builder /package/. / #################### ci-opensubdiv-builder #################### FROM ci-ptex-builder as ci-opensubdiv-builder -ARG OPENSUBDIV_VERSION -ENV OPENSUBDIV_VERSION=${OPENSUBDIV_VERSION} +ARG ASWF_OPENSUBDIV_VERSION +ENV ASWF_OPENSUBDIV_VERSION=${ASWF_OPENSUBDIV_VERSION} COPY ../scripts/vfx/build_opensubdiv.sh \ /tmp/ @@ -225,9 +225,9 @@ FROM scratch as ci-package-opensubdiv ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OPENSUBDIV_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_OPENSUBDIV_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-opensubdiv" LABEL org.opencontainers.image.title="OpenSubdiv package built for ASWF docker images" @@ -236,12 +236,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/OpenSubdiv" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OPENSUBDIV_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_OPENSUBDIV_VERSION}" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.opensubdiv="${OPENSUBDIV_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.opensubdiv="${ASWF_OPENSUBDIV_VERSION}" COPY --from=ci-opensubdiv-builder /package/. / @@ -249,8 +249,8 @@ COPY --from=ci-opensubdiv-builder /package/. / #################### ci-usd-builder #################### FROM ci-opensubdiv-builder as ci-usd-builder -ARG USD_VERSION -ENV USD_VERSION=${USD_VERSION} +ARG ASWF_USD_VERSION +ENV ASWF_USD_VERSION=${ASWF_USD_VERSION} COPY --from=ci-package-openexr-external /. /usr/local/ COPY --from=ci-package-glew-external /. /usr/local/ @@ -277,9 +277,9 @@ FROM scratch as ci-package-usd ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG USD_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_USD_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-usd" LABEL org.opencontainers.image.title="USD package built for ASWF docker images" @@ -288,12 +288,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/USD" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${USD_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_USD_VERSION}" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.usd="${USD_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.usd="${ASWF_USD_VERSION}" COPY --from=ci-usd-builder /package/. / @@ -301,8 +301,8 @@ COPY --from=ci-usd-builder /package/. / #################### ci-otio-builder #################### FROM ci-base-builder as ci-otio-builder -ARG OTIO_VERSION -ENV OTIO_VERSION=${OTIO_VERSION} +ARG ASWF_OTIO_VERSION +ENV ASWF_OTIO_VERSION=${ASWF_OTIO_VERSION} COPY --from=ci-package-qt-external /. /usr/local/ COPY --from=ci-package-pyside-external /. /usr/local/ @@ -323,9 +323,9 @@ FROM scratch as ci-package-otio ARG ASWF_ORG ARG CI_COMMON_VERSION -ARG DTS_VERSION -ARG OTIO_VERSION -ARG VFXPLATFORM_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_OTIO_VERSION +ARG ASWF_VFXPLATFORM_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-package-otio" LABEL org.opencontainers.image.title="OpenTimelineIO package built for ASWF docker images" @@ -334,12 +334,12 @@ LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.url="https://github.com/PixarAnimationStudios/OpenTimelineIO" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/packages/Dockerfile" -LABEL org.opencontainers.image.version="${OTIO_VERSION}" +LABEL org.opencontainers.image.version="${ASWF_OTIO_VERSION}" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL io.aswf.docker.versions.ci-common="${CI_COMMON_VERSION}" -LABEL io.aswf.docker.versions.vfx-platform="${VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.dts="${DTS_VERSION}" -LABEL io.aswf.docker.versions.otio="${OTIO_VERSION}" +LABEL io.aswf.docker.versions.vfx-platform="${ASWF_VFXPLATFORM_VERSION}" +LABEL io.aswf.docker.versions.dts="${ASWF_DTS_VERSION}" +LABEL io.aswf.docker.versions.otio="${ASWF_OTIO_VERSION}" COPY --from=ci-otio-builder /package/. / diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index 390531c6..ae9c75d6 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -42,7 +42,7 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: self.build_info.docker_org, image, extra_suffix=version_info.package_versions.get( - image.replace("ci-package-", "").upper() + "_VERSION" + "ASWF_" + image.replace("ci-package-", "").upper() + "_VERSION" ), ) docker_file = f"packages/{self.index.get_group_from_image(self.group_info.type, image.replace('ci-package-', ''))}/Dockerfile" @@ -57,7 +57,7 @@ def make_bake_dict(self) -> typing.Dict[str, dict]: "ASWF_PKG_ORG": self.build_info.package_org, "ASWF_VERSION": version, "CI_COMMON_VERSION": version_info.ci_common_version, - "VFXPLATFORM_VERSION": version_info.major_version, + "ASWF_VFXPLATFORM_VERSION": version_info.major_version, }, "labels": { "org.opencontainers.image.created": self.build_info.build_date, diff --git a/python/aswfdocker/data/ci-image-dockerfile.jinja2 b/python/aswfdocker/data/ci-image-dockerfile.jinja2 index 0833e17a..2e35fdb3 100644 --- a/python/aswfdocker/data/ci-image-dockerfile.jinja2 +++ b/python/aswfdocker/data/ci-image-dockerfile.jinja2 @@ -6,14 +6,14 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION -ARG CLANG_MAJOR_VERSION +ARG ASWF_CLANG_MAJOR_VERSION {% for arg in docker_args -%} ARG {{ arg }} {% endfor -%} {% for package in packages + implicit_packages -%} -ARG {{package.upper()}}_VERSION +ARG ASWF_{{package.upper()}}_VERSION {% endfor -%} {% for package in packages + implicit_packages -%} @@ -23,7 +23,7 @@ ARG {{ arg }} {% endfor %} {% for package in packages -%} -FROM ${ASWF_PKG_ORG}/ci-package-{{ package }}:{{docker_package_version}}-${{package.upper()}}_VERSION as ci-package-{{ package }} +FROM ${ASWF_PKG_ORG}/ci-package-{{ package }}:{{docker_package_version}}-$ASWF_{{package.upper()}}_VERSION as ci-package-{{ package }} {% endfor -%} @@ -38,7 +38,7 @@ ARG {{ arg }} {% endfor -%} {% for package in packages + implicit_packages -%} -ARG {{package.upper()}}_VERSION +ARG ASWF_{{package.upper()}}_VERSION {% endfor -%} {% for package in packages + implicit_packages -%} @@ -56,20 +56,22 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -LABEL com.vfxplatform.version="${VFXPLATFORM_VERSION}" +LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" {% for package in packages + implicit_packages -%} -LABEL io.aswf.docker.versions.{{ package }}="${{ package.upper() }}_VERSION" +LABEL io.aswf.docker.versions.{{ package }}="$ASWF_{{ package.upper() }}_VERSION" {% endfor %} ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} +ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} + {% for arg in docker_args -%} ENV {{ arg }}=${{ arg }} {% endfor -%} {% for package in packages + implicit_packages -%} -ENV {{package.upper()}}_VERSION=${{package.upper()}}_VERSION +ENV ASWF_{{package.upper()}}_VERSION=$ASWF_{{package.upper()}}_VERSION {% endfor -%} {% for package in packages + implicit_packages -%} diff --git a/python/aswfdocker/data/ci-image-readme.jinja2 b/python/aswfdocker/data/ci-image-readme.jinja2 index 2362da1a..3ea33f8e 100644 --- a/python/aswfdocker/data/ci-image-readme.jinja2 +++ b/python/aswfdocker/data/ci-image-readme.jinja2 @@ -19,6 +19,6 @@ See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftw ## [aswf/ci-{{name}}:{{version}}](https://hub.docker.com/r/aswf/ci-{{name}}/tags?page=1&name={{version}}) Contains: {% for package in packages + implicit_packages -%} -* {{package}}-{{ index.version_info(version.split(".")[0]).all_package_versions[package.upper() + "_VERSION"] }} +* {{package}}-{{ index.version_info(version.split(".")[0]).all_package_versions["ASWF_" + package.upper() + "_VERSION"] }} {% endfor %} {% endfor %} diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 91c61f07..8baf7b79 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -100,44 +100,44 @@ def test_image_base_2019clang_dict(self): "context": ".", "dockerfile": "ci-openvdb/Dockerfile", "args": { - "ALEMBIC_VERSION": "1.7.11", + "ASWF_ALEMBIC_VERSION": "1.7.11", "ASWF_ORG": "aswflocaltesting", "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": openvdb_version, - "BLOSC_VERSION": "1.5.0", - "BOOST_VERSION": "1.66.0", - "CCACHE_VERSION": "4.0", + "ASWF_BLOSC_VERSION": "1.5.0", + "ASWF_BOOST_VERSION": "1.66.0", + "ASWF_CCACHE_VERSION": "4.0", "CI_COMMON_VERSION": "1", - "CLANG_MAJOR_VERSION": "9", - "CLANG_VERSION": "9.0.1", - "CMAKE_VERSION": "3.12.4", - "CPPUNIT_VERSION": "1.14.0", - "CUDA_VERSION": "10.2", - "DTS_VERSION": "6", - "GLEW_VERSION": "2.1.0", - "GLFW_VERSION": "3.1.2", - "HDF5_VERSION": "1.8.21", - "LOG4CPLUS_VERSION": "1.1.2", - "NINJA_VERSION": "1.10.1", - "NUMPY_VERSION": "1.14", - "OCIO_CONFIGS_VERSION": "1.0_r2", - "OCIO_VERSION": "1.1.0", - "OIIO_VERSION": "2.0.8", - "OPENEXR_VERSION": "2.3.0", - "OPENSUBDIV_VERSION": "3_3_3", - "OPENVDB_VERSION": "6.2.1", - "OSL_VERSION": "1.10.9", - "OTIO_VERSION": "0.12.1", - "PARTIO_VERSION": "1.10.1", - "PTEX_VERSION": "2.1.33", - "PYSIDE_VERSION": "5.12.6", - "PYTHON_VERSION": "2.7.15", - "PYTHON_VERSION_MAJOR_MINOR": "2.7", - "QT_VERSION": "5.12.6", - "SONAR_VERSION": "4.5.0.2216", - "TBB_VERSION": "2018", - "USD_VERSION": "19.11", - "VFXPLATFORM_VERSION": "2019", + "ASWF_CLANG_MAJOR_VERSION": "9", + "ASWF_CLANG_VERSION": "9.0.1", + "ASWF_CMAKE_VERSION": "3.12.4", + "ASWF_CPPUNIT_VERSION": "1.14.0", + "ASWF_CUDA_VERSION": "10.2", + "ASWF_DTS_VERSION": "6", + "ASWF_GLEW_VERSION": "2.1.0", + "ASWF_GLFW_VERSION": "3.1.2", + "ASWF_HDF5_VERSION": "1.8.21", + "ASWF_LOG4CPLUS_VERSION": "1.1.2", + "ASWF_NINJA_VERSION": "1.10.1", + "ASWF_NUMPY_VERSION": "1.14", + "ASWF_OCIO_CONFIGS_VERSION": "1.0_r2", + "ASWF_OCIO_VERSION": "1.1.0", + "ASWF_OIIO_VERSION": "2.0.8", + "ASWF_OPENEXR_VERSION": "2.3.0", + "ASWF_OPENSUBDIV_VERSION": "3_3_3", + "ASWF_OPENVDB_VERSION": "6.2.1", + "ASWF_OSL_VERSION": "1.10.9", + "ASWF_OTIO_VERSION": "0.12.1", + "ASWF_PARTIO_VERSION": "1.10.1", + "ASWF_PTEX_VERSION": "2.1.33", + "ASWF_PYSIDE_VERSION": "5.12.6", + "ASWF_PYTHON_VERSION": "2.7.15", + "ASWF_PYTHON_MAJOR_MINOR_VERSION": "2.7", + "ASWF_QT_VERSION": "5.12.6", + "ASWF_SONAR_VERSION": "4.5.0.2216", + "ASWF_TBB_VERSION": "2018", + "ASWF_USD_VERSION": "19.11", + "ASWF_VFXPLATFORM_VERSION": "2019", }, "labels": { "org.opencontainers.image.created": constants.DEV_BUILD_DATE, @@ -175,44 +175,44 @@ def test_image_base_2019_2020_dict(self): "context": ".", "dockerfile": "ci-base/Dockerfile", "args": { - "ALEMBIC_VERSION": "1.7.12", + "ASWF_ALEMBIC_VERSION": "1.7.12", "ASWF_ORG": "aswflocaltesting", "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": base_versions[2], - "BLOSC_VERSION": "1.5.0", - "BOOST_VERSION": "1.70.0", - "CCACHE_VERSION": "4.0", + "ASWF_BLOSC_VERSION": "1.5.0", + "ASWF_BOOST_VERSION": "1.70.0", + "ASWF_CCACHE_VERSION": "4.0", "CI_COMMON_VERSION": "1", - "CLANG_MAJOR_VERSION": "7", - "CLANG_VERSION": "7.1.0", - "CMAKE_VERSION": "3.18.4", - "CPPUNIT_VERSION": "1.15.1", - "CUDA_VERSION": "10.2", - "DTS_VERSION": "6", - "GLEW_VERSION": "2.1.0", - "GLFW_VERSION": "3.1.2", - "HDF5_VERSION": "1.8.21", - "LOG4CPLUS_VERSION": "1.1.2", - "NINJA_VERSION": "1.10.1", - "NUMPY_VERSION": "1.16", - "OCIO_CONFIGS_VERSION": "1.0_r2", - "OCIO_VERSION": "1.1.1", - "OIIO_VERSION": "2.1.13.0", - "OPENEXR_VERSION": "2.4.0", - "OPENSUBDIV_VERSION": "3_4_3", - "OPENVDB_VERSION": "7.1.0", - "OSL_VERSION": "1.10.10", - "OTIO_VERSION": "0.12.1", - "PARTIO_VERSION": "1.10.1", - "PTEX_VERSION": "2.3.2", - "PYSIDE_VERSION": "5.12.6", - "PYTHON_VERSION": "3.7.3", - "PYTHON_VERSION_MAJOR_MINOR": "3.7", - "QT_VERSION": "5.12.6", - "SONAR_VERSION": "4.5.0.2216", - "TBB_VERSION": "2019_U6", - "USD_VERSION": "20.11", - "VFXPLATFORM_VERSION": "2020", + "ASWF_CLANG_MAJOR_VERSION": "7", + "ASWF_CLANG_VERSION": "7.1.0", + "ASWF_CMAKE_VERSION": "3.18.4", + "ASWF_CPPUNIT_VERSION": "1.15.1", + "ASWF_CUDA_VERSION": "10.2", + "ASWF_DTS_VERSION": "6", + "ASWF_GLEW_VERSION": "2.1.0", + "ASWF_GLFW_VERSION": "3.1.2", + "ASWF_HDF5_VERSION": "1.8.21", + "ASWF_LOG4CPLUS_VERSION": "1.1.2", + "ASWF_NINJA_VERSION": "1.10.1", + "ASWF_NUMPY_VERSION": "1.16", + "ASWF_OCIO_CONFIGS_VERSION": "1.0_r2", + "ASWF_OCIO_VERSION": "1.1.1", + "ASWF_OIIO_VERSION": "2.1.13.0", + "ASWF_OPENEXR_VERSION": "2.4.0", + "ASWF_OPENSUBDIV_VERSION": "3_4_3", + "ASWF_OPENVDB_VERSION": "7.1.0", + "ASWF_OSL_VERSION": "1.10.10", + "ASWF_OTIO_VERSION": "0.12.1", + "ASWF_PARTIO_VERSION": "1.10.1", + "ASWF_PTEX_VERSION": "2.3.2", + "ASWF_PYSIDE_VERSION": "5.12.6", + "ASWF_PYTHON_VERSION": "3.7.3", + "ASWF_PYTHON_MAJOR_MINOR_VERSION": "3.7", + "ASWF_QT_VERSION": "5.12.6", + "ASWF_SONAR_VERSION": "4.5.0.2216", + "ASWF_TBB_VERSION": "2019_U6", + "ASWF_USD_VERSION": "20.11", + "ASWF_VFXPLATFORM_VERSION": "2020", }, "labels": { "org.opencontainers.image.created": constants.DEV_BUILD_DATE, @@ -228,44 +228,44 @@ def test_image_base_2019_2020_dict(self): "context": ".", "dockerfile": "ci-base/Dockerfile", "args": { - "ALEMBIC_VERSION": "1.7.11", + "ASWF_ALEMBIC_VERSION": "1.7.11", "ASWF_ORG": "aswflocaltesting", "ASWF_PKG_ORG": "aswftesting", "ASWF_VERSION": base_versions[1], - "BLOSC_VERSION": "1.5.0", - "BOOST_VERSION": "1.66.0", - "CCACHE_VERSION": "4.0", + "ASWF_BLOSC_VERSION": "1.5.0", + "ASWF_BOOST_VERSION": "1.66.0", + "ASWF_CCACHE_VERSION": "4.0", "CI_COMMON_VERSION": "1", - "CLANG_MAJOR_VERSION": "7", - "CLANG_VERSION": "7.1.0", - "CMAKE_VERSION": "3.12.4", - "CPPUNIT_VERSION": "1.14.0", - "CUDA_VERSION": "10.2", - "DTS_VERSION": "6", - "GLEW_VERSION": "2.1.0", - "GLFW_VERSION": "3.1.2", - "HDF5_VERSION": "1.8.21", - "LOG4CPLUS_VERSION": "1.1.2", - "NINJA_VERSION": "1.10.1", - "NUMPY_VERSION": "1.14", - "OCIO_CONFIGS_VERSION": "1.0_r2", - "OCIO_VERSION": "1.1.0", - "OIIO_VERSION": "2.0.8", - "OPENEXR_VERSION": "2.3.0", - "OPENSUBDIV_VERSION": "3_3_3", - "OPENVDB_VERSION": "6.2.1", - "OSL_VERSION": "1.10.9", - "OTIO_VERSION": "0.12.1", - "PARTIO_VERSION": "1.10.1", - "PTEX_VERSION": "2.1.33", - "PYSIDE_VERSION": "5.12.6", - "PYTHON_VERSION": "2.7.15", - "PYTHON_VERSION_MAJOR_MINOR": "2.7", - "QT_VERSION": "5.12.6", - "SONAR_VERSION": "4.5.0.2216", - "TBB_VERSION": "2018", - "USD_VERSION": "19.11", - "VFXPLATFORM_VERSION": "2019", + "ASWF_CLANG_MAJOR_VERSION": "7", + "ASWF_CLANG_VERSION": "7.1.0", + "ASWF_CMAKE_VERSION": "3.12.4", + "ASWF_CPPUNIT_VERSION": "1.14.0", + "ASWF_CUDA_VERSION": "10.2", + "ASWF_DTS_VERSION": "6", + "ASWF_GLEW_VERSION": "2.1.0", + "ASWF_GLFW_VERSION": "3.1.2", + "ASWF_HDF5_VERSION": "1.8.21", + "ASWF_LOG4CPLUS_VERSION": "1.1.2", + "ASWF_NINJA_VERSION": "1.10.1", + "ASWF_NUMPY_VERSION": "1.14", + "ASWF_OCIO_CONFIGS_VERSION": "1.0_r2", + "ASWF_OCIO_VERSION": "1.1.0", + "ASWF_OIIO_VERSION": "2.0.8", + "ASWF_OPENEXR_VERSION": "2.3.0", + "ASWF_OPENSUBDIV_VERSION": "3_3_3", + "ASWF_OPENVDB_VERSION": "6.2.1", + "ASWF_OSL_VERSION": "1.10.9", + "ASWF_OTIO_VERSION": "0.12.1", + "ASWF_PARTIO_VERSION": "1.10.1", + "ASWF_PTEX_VERSION": "2.1.33", + "ASWF_PYSIDE_VERSION": "5.12.6", + "ASWF_PYTHON_VERSION": "2.7.15", + "ASWF_PYTHON_MAJOR_MINOR_VERSION": "2.7", + "ASWF_QT_VERSION": "5.12.6", + "ASWF_SONAR_VERSION": "4.5.0.2216", + "ASWF_TBB_VERSION": "2018", + "ASWF_USD_VERSION": "19.11", + "ASWF_VFXPLATFORM_VERSION": "2019", }, "labels": { "org.opencontainers.image.created": constants.DEV_BUILD_DATE, diff --git a/scripts/base/build_boost.sh b/scripts/base/build_boost.sh index fad144ff..a879e333 100755 --- a/scripts/base/build_boost.sh +++ b/scripts/base/build_boost.sh @@ -4,34 +4,34 @@ set -ex -BOOST_MAJOR_MINOR=$(echo "${BOOST_VERSION}" | cut -d. -f-2) -BOOST_MAJOR=$(echo "${BOOST_VERSION}" | cut -d. -f-1) +BOOST_MAJOR_MINOR=$(echo "${ASWF_BOOST_VERSION}" | cut -d. -f-2) +BOOST_MAJOR=$(echo "${ASWF_BOOST_VERSION}" | cut -d. -f-1) BOOST_MINOR=$(echo "${BOOST_MAJOR_MINOR}" | cut -d. -f2-) -BOOST_PATCH=$(echo "${BOOST_VERSION}" | cut -d. -f3-) +BOOST_PATCH=$(echo "${ASWF_BOOST_VERSION}" | cut -d. -f3-) BOOST_VERSION_U="${BOOST_MAJOR}_${BOOST_MINOR}_${BOOST_PATCH}" -if [[ $BOOST_VERSION != 1.61* ]]; then +if [[ $ASWF_BOOST_VERSION != 1.61* ]]; then BOOST_EXTRA_ARGS="cxxstd=14" else BOOST_EXTRA_ARGS="" fi -BOOTSTRAP_ARGS="--with-python=${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION_MAJOR_MINOR} --with-python-version=${PYTHON_VERSION_MAJOR_MINOR} --with-python-root=${ASWF_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR_MINOR}" -if [[ $PYTHON_VERSION_MAJOR_MINOR == 3* ]]; then +BOOTSTRAP_ARGS="--with-python=${ASWF_INSTALL_PREFIX}/bin/python${ASWF_PYTHON_MAJOR_MINOR_VERSION} --with-python-version=${ASWF_PYTHON_MAJOR_MINOR_VERSION} --with-python-root=${ASWF_INSTALL_PREFIX}/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}" +if [[ $ASWF_PYTHON_MAJOR_MINOR_VERSION == 3* ]]; then # The unfortunate trick is the "m" in the python include path... - echo "using python : ${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_VERSION_MAJOR_MINOR}m : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam + echo "using python : ${ASWF_PYTHON_MAJOR_MINOR_VERSION} : ${ASWF_INSTALL_PREFIX}/bin/python${ASWF_PYTHON_MAJOR_MINOR_VERSION} : ${ASWF_INSTALL_PREFIX}/include/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}m : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam else - echo "using python : ${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/bin/python${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/include/python${PYTHON_VERSION_MAJOR_MINOR} : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam + echo "using python : ${ASWF_PYTHON_MAJOR_MINOR_VERSION} : ${ASWF_INSTALL_PREFIX}/bin/python${ASWF_PYTHON_MAJOR_MINOR_VERSION} : ${ASWF_INSTALL_PREFIX}/include/python${ASWF_PYTHON_MAJOR_MINOR_VERSION} : ${ASWF_INSTALL_PREFIX}/lib ;" > ~/user-config.jam fi mkdir boost cd boost -if [ ! -f "$DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz" ]; then - curl --location "https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_U}.tar.gz" -o "$DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/boost-${ASWF_BOOST_VERSION}.tar.gz" ]; then + curl --location "https://sourceforge.net/projects/boost/files/boost/${ASWF_BOOST_VERSION}/boost_${BOOST_VERSION_U}.tar.gz" -o "$DOWNLOADS_DIR/boost-${ASWF_BOOST_VERSION}.tar.gz" fi -tar -xzf "$DOWNLOADS_DIR/boost-${BOOST_VERSION}.tar.gz" +tar -xzf "$DOWNLOADS_DIR/boost-${ASWF_BOOST_VERSION}.tar.gz" cd "boost_${BOOST_VERSION_U}" sh bootstrap.sh ${BOOTSTRAP_ARGS} diff --git a/scripts/base/build_cppunit.sh b/scripts/base/build_cppunit.sh index ebb777c5..479f3897 100755 --- a/scripts/base/build_cppunit.sh +++ b/scripts/base/build_cppunit.sh @@ -4,16 +4,16 @@ set -ex -if [ ! -f "$DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz" ]; then - curl --location "http://dev-www.libreoffice.org/src/cppunit-${CPPUNIT_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/cppunit-${ASWF_CPPUNIT_VERSION}.tar.gz" ]; then + curl --location "http://dev-www.libreoffice.org/src/cppunit-${ASWF_CPPUNIT_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/cppunit-${ASWF_CPPUNIT_VERSION}.tar.gz" fi -tar xf "$DOWNLOADS_DIR/cppunit-${CPPUNIT_VERSION}.tar.gz" -cd "cppunit-${CPPUNIT_VERSION}" +tar xf "$DOWNLOADS_DIR/cppunit-${ASWF_CPPUNIT_VERSION}.tar.gz" +cd "cppunit-${ASWF_CPPUNIT_VERSION}" ./configure --prefix="${ASWF_INSTALL_PREFIX}" make -j$(nproc) make install cd .. -rm -rf "cppunit-${CPPUNIT_VERSION}" +rm -rf "cppunit-${ASWF_CPPUNIT_VERSION}" diff --git a/scripts/base/build_glew.sh b/scripts/base/build_glew.sh index fd3ffe64..7ba6add5 100755 --- a/scripts/base/build_glew.sh +++ b/scripts/base/build_glew.sh @@ -4,16 +4,16 @@ set -ex -if [ ! -f "$DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz" ]; then - curl --location "https://github.com/nigels-com/glew/releases/download/glew-${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz" -o "$DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz" +if [ ! -f "$DOWNLOADS_DIR/glew-${ASWF_GLEW_VERSION}.tgz" ]; then + curl --location "https://github.com/nigels-com/glew/releases/download/glew-${ASWF_GLEW_VERSION}/glew-${ASWF_GLEW_VERSION}.tgz" -o "$DOWNLOADS_DIR/glew-${ASWF_GLEW_VERSION}.tgz" fi -tar xf "$DOWNLOADS_DIR/glew-${GLEW_VERSION}.tgz" +tar xf "$DOWNLOADS_DIR/glew-${ASWF_GLEW_VERSION}.tgz" -cd "glew-${GLEW_VERSION}/build" +cd "glew-${ASWF_GLEW_VERSION}/build" cmake ./cmake -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" make -j$(nproc) make install cd ../.. -rm -rf "glew-${GLEW_VERSION}" +rm -rf "glew-${ASWF_GLEW_VERSION}" diff --git a/scripts/base/build_glfw.sh b/scripts/base/build_glfw.sh index 0383e540..1d484f65 100755 --- a/scripts/base/build_glfw.sh +++ b/scripts/base/build_glfw.sh @@ -7,8 +7,8 @@ set -ex git clone https://github.com/glfw/glfw.git cd glfw -if [ "$GLFW_VERSION" != "latest" ]; then - git checkout "tags/${GLFW_VERSION}" -b "${GLFW_VERSION}" +if [ "$ASWF_GLFW_VERSION" != "latest" ]; then + git checkout "tags/${ASWF_GLFW_VERSION}" -b "${ASWF_GLFW_VERSION}" fi mkdir build diff --git a/scripts/base/build_log4cplus.sh b/scripts/base/build_log4cplus.sh index 5e328991..173c9b90 100755 --- a/scripts/base/build_log4cplus.sh +++ b/scripts/base/build_log4cplus.sh @@ -4,16 +4,16 @@ set -ex -LOG4CPLUS_MAJOR_MINOR=$(echo "${LOG4CPLUS_VERSION}" | cut -d. -f-2) -LOG4CPLUS_MAJOR=$(echo "${LOG4CPLUS_VERSION}" | cut -d. -f-1) +LOG4CPLUS_MAJOR_MINOR=$(echo "${ASWF_LOG4CPLUS_VERSION}" | cut -d. -f-2) +LOG4CPLUS_MAJOR=$(echo "${ASWF_LOG4CPLUS_VERSION}" | cut -d. -f-1) LOG4CPLUS_MINOR=$(echo "${LOG4CPLUS_MAJOR_MINOR}" | cut -d. -f2-) -LOG4CPLUS_PATCH=$(echo "${LOG4CPLUS_VERSION}" | cut -d. -f3-) +LOG4CPLUS_PATCH=$(echo "${ASWF_LOG4CPLUS_VERSION}" | cut -d. -f3-) git clone https://github.com/log4cplus/log4cplus.git cd log4cplus -if [ "$LOG4CPLUS_VERSION" != "latest" ]; then - git checkout "tags/REL_${LOG4CPLUS_MAJOR}_${LOG4CPLUS_MINOR}_${LOG4CPLUS_PATCH}" -b "${LOG4CPLUS_VERSION}" +if [ "$ASWF_LOG4CPLUS_VERSION" != "latest" ]; then + git checkout "tags/REL_${LOG4CPLUS_MAJOR}_${LOG4CPLUS_MINOR}_${LOG4CPLUS_PATCH}" -b "${ASWF_LOG4CPLUS_VERSION}" fi mkdir build diff --git a/scripts/base/build_pyside.sh b/scripts/base/build_pyside.sh index 9554ab87..a03fdb41 100755 --- a/scripts/base/build_pyside.sh +++ b/scripts/base/build_pyside.sh @@ -17,22 +17,22 @@ cat < /tmp/qt5temp/bin/qt.conf Prefix = /tmp/qt5temp EOF -if [[ $PYSIDE_VERSION == 2.0.0 ]]; then - curl --location "https://www.autodesk.com/content/dam/autodesk/www/Company/files/pyside2-maya2018.4.zip" -o "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.zip" - unzip "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.zip" +if [[ $ASWF_PYSIDE_VERSION == 2.0.0 ]]; then + curl --location "https://www.autodesk.com/content/dam/autodesk/www/Company/files/pyside2-maya2018.4.zip" -o "$DOWNLOADS_DIR/pyside-${ASWF_PYSIDE_VERSION}.zip" + unzip "$DOWNLOADS_DIR/pyside-${ASWF_PYSIDE_VERSION}.zip" mv pyside-setup pyside cd pyside "${ASWF_INSTALL_PREFIX}/bin/python" setup.py build install --prefix "${ASWF_INSTALL_PREFIX}" else - if [[ $PYSIDE_VERSION == 5.12.6 ]]; then - PYSIDE_URL_NAME=pyside-setup-everywhere-src-${PYSIDE_VERSION} + if [[ $ASWF_PYSIDE_VERSION == 5.12.6 ]]; then + PYSIDE_URL_NAME=pyside-setup-everywhere-src-${ASWF_PYSIDE_VERSION} else - PYSIDE_URL_NAME=pyside-setup-opensource-src-${PYSIDE_VERSION} + PYSIDE_URL_NAME=pyside-setup-opensource-src-${ASWF_PYSIDE_VERSION} fi - if [ ! -f "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz" ]; then - curl --location "https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PYSIDE_VERSION}-src/${PYSIDE_URL_NAME}.tar.xz" -o "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz" + if [ ! -f "$DOWNLOADS_DIR/pyside-${ASWF_PYSIDE_VERSION}.tar.xz" ]; then + curl --location "https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${ASWF_PYSIDE_VERSION}-src/${PYSIDE_URL_NAME}.tar.xz" -o "$DOWNLOADS_DIR/pyside-${ASWF_PYSIDE_VERSION}.tar.xz" fi - tar xf "$DOWNLOADS_DIR/pyside-${PYSIDE_VERSION}.tar.xz" + tar xf "$DOWNLOADS_DIR/pyside-${ASWF_PYSIDE_VERSION}.tar.xz" mv "${PYSIDE_URL_NAME}" pyside export LLVM_INSTALL_DIR=${ASWF_INSTALL_PREFIX} @@ -40,13 +40,13 @@ else cd pyside - if [[ $PYSIDE_VERSION == 5.12.6 ]]; then + if [[ $ASWF_PYSIDE_VERSION == 5.12.6 ]]; then # Apply typing patch curl --location "https://codereview.qt-project.org/changes/pyside%2Fpyside-setup~271412/revisions/4/patch?zip" -o "typing-patch.zip" unzip typing-patch.zip patch -p1 < 28958df.diff fi - if [[ $PYSIDE_VERSION == 5.12.6 ]]; then + if [[ $ASWF_PYSIDE_VERSION == 5.12.6 ]]; then # Apply clang10 patch curl --location "https://codereview.qt-project.org/changes/pyside%2Fpyside-setup~296271/revisions/2/patch?zip" -o "clang10-patch.zip" unzip clang10-patch.zip diff --git a/scripts/base/build_python.sh b/scripts/base/build_python.sh index 352a742d..8972b30e 100755 --- a/scripts/base/build_python.sh +++ b/scripts/base/build_python.sh @@ -7,7 +7,7 @@ set -ex mkdir python cd python -curl -C - --location "https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz" -o "$DOWNLOADS_DIR/Python-${PYTHON_VERSION}.tgz" +curl -C - --location "https://www.python.org/ftp/python/${ASWF_PYTHON_VERSION}/Python-${ASWF_PYTHON_VERSION}.tgz" -o "$DOWNLOADS_DIR/Python-${ASWF_PYTHON_VERSION}.tgz" mkdir -p "${ASWF_INSTALL_PREFIX}/bin" @@ -21,8 +21,8 @@ cat < "${ASWF_INSTALL_PREFIX}/bin/run-with-system-python" unset PYTHONPATH unset LIBRARY_PATH unset PKG_CONFIG_PATH -export LD_LIBRARY_PATH=/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib -export PATH=/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/sbin:/usr/bin:/sbin:/bin +export LD_LIBRARY_PATH=/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/lib +export PATH=/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr/bin/:/usr/sbin:/usr/bin:/sbin:/bin exec "\$@" EOF chmod a+x "${ASWF_INSTALL_PREFIX}/bin/run-with-system-python" @@ -35,8 +35,8 @@ exec "${ASWF_INSTALL_PREFIX}/bin/run-with-system-python" /usr/bin/yum "\$@" EOF chmod a+x "${ASWF_INSTALL_PREFIX}/bin/yum" -tar xf "$DOWNLOADS_DIR/Python-${PYTHON_VERSION}.tgz" -cd "Python-${PYTHON_VERSION}" +tar xf "$DOWNLOADS_DIR/Python-${ASWF_PYTHON_VERSION}.tgz" +cd "Python-${ASWF_PYTHON_VERSION}" # Ensure configure, build and install is done with no reference to ${ASWF_INSTALL_PREFIX} as this somehow messes up the system install run-with-system-python ./configure \ @@ -47,7 +47,7 @@ run-with-system-python make -j$(nproc) run-with-system-python make install -if [[ $PYTHON_VERSION == 3* ]]; then +if [[ $ASWF_PYTHON_VERSION == 3* ]]; then # Create symlink from python3 to python ln -s python3 "${ASWF_INSTALL_PREFIX}/bin/python" export PIP=pip3 @@ -67,4 +67,4 @@ $PIP install \ coverage \ docutils \ epydoc \ - "numpy==${NUMPY_VERSION}" + "numpy==${ASWF_NUMPY_VERSION}" diff --git a/scripts/base/build_qt.sh b/scripts/base/build_qt.sh index 46c503f1..5fcb34ac 100755 --- a/scripts/base/build_qt.sh +++ b/scripts/base/build_qt.sh @@ -10,21 +10,21 @@ cd qt ccache --max-size=10G #ccache --clear -if [[ $QT_VERSION == 5.6.1 ]]; then - if [ ! -f "$DOWNLOADS_DIR/qt-${QT_VERSION}.zip" ]; then - curl --location "https://www.autodesk.com/content/dam/autodesk/www/Company/files/2019/qt561formaya2019.zip" -o "$DOWNLOADS_DIR/qt-${QT_VERSION}.zip" +if [[ $ASWF_QT_VERSION == 5.6.1 ]]; then + if [ ! -f "$DOWNLOADS_DIR/qt-${ASWF_QT_VERSION}.zip" ]; then + curl --location "https://www.autodesk.com/content/dam/autodesk/www/Company/files/2019/qt561formaya2019.zip" -o "$DOWNLOADS_DIR/qt-${ASWF_QT_VERSION}.zip" fi - unzip "$DOWNLOADS_DIR/qt-${QT_VERSION}.zip" + unzip "$DOWNLOADS_DIR/qt-${ASWF_QT_VERSION}.zip" mv qt-adsk-5.6.1-vfx qt-src cd qt-src tar xf ../qt561-webkit.tgz else - QT_MAJOR_MINOR=$(echo "${QT_VERSION}" | cut -d. -f-2) - if [ ! -f "$DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz" ]; then - curl --location "http://download.qt.io/official_releases/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/single/qt-everywhere-src-${QT_VERSION}.tar.xz" -o "$DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz" + QT_MAJOR_MINOR=$(echo "${ASWF_QT_VERSION}" | cut -d. -f-2) + if [ ! -f "$DOWNLOADS_DIR/qt-${ASWF_QT_VERSION}.tar.xz" ]; then + curl --location "http://download.qt.io/official_releases/qt/${QT_MAJOR_MINOR}/${ASWF_QT_VERSION}/single/qt-everywhere-src-${ASWF_QT_VERSION}.tar.xz" -o "$DOWNLOADS_DIR/qt-${ASWF_QT_VERSION}.tar.xz" fi - tar xf "$DOWNLOADS_DIR/qt-${QT_VERSION}.tar.xz" - mv "qt-everywhere-src-${QT_VERSION}" qt-src + tar xf "$DOWNLOADS_DIR/qt-${ASWF_QT_VERSION}.tar.xz" + mv "qt-everywhere-src-${ASWF_QT_VERSION}" qt-src cd qt-src fi diff --git a/scripts/base/build_tbb.sh b/scripts/base/build_tbb.sh index 956e1bcd..f9e955f3 100755 --- a/scripts/base/build_tbb.sh +++ b/scripts/base/build_tbb.sh @@ -7,8 +7,8 @@ set -ex git clone https://github.com/01org/tbb.git cd tbb -if [ "$TBB_VERSION" != "latest" ]; then - git checkout "tags/${TBB_VERSION}" -b "${TBB_VERSION}" +if [ "$ASWF_TBB_VERSION" != "latest" ]; then + git checkout "tags/${ASWF_TBB_VERSION}" -b "${ASWF_TBB_VERSION}" fi make -j$(nproc) diff --git a/scripts/base/install_cmake.sh b/scripts/base/install_cmake.sh index 2aeeb9f0..795feb2c 100755 --- a/scripts/base/install_cmake.sh +++ b/scripts/base/install_cmake.sh @@ -4,8 +4,8 @@ set -ex -if [ ! -f "$DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" ]; then - curl --location "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" -o "$DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" +if [ ! -f "$DOWNLOADS_DIR/cmake-${ASWF_CMAKE_VERSION}-Linux-x86_64.sh" ]; then + curl --location "https://github.com/Kitware/CMake/releases/download/v${ASWF_CMAKE_VERSION}/cmake-${ASWF_CMAKE_VERSION}-Linux-x86_64.sh" -o "$DOWNLOADS_DIR/cmake-${ASWF_CMAKE_VERSION}-Linux-x86_64.sh" fi -sh "$DOWNLOADS_DIR/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" --skip-license --prefix=/usr/local --exclude-subdir +sh "$DOWNLOADS_DIR/cmake-${ASWF_CMAKE_VERSION}-Linux-x86_64.sh" --skip-license --prefix=/usr/local --exclude-subdir diff --git a/scripts/common/build_clang.sh b/scripts/common/build_clang.sh index 8be3e4bd..11be92ce 100755 --- a/scripts/common/build_clang.sh +++ b/scripts/common/build_clang.sh @@ -4,19 +4,19 @@ set -ex -if [ ! -f "$DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz" ]; then - curl --location "https://github.com/llvm/llvm-project/archive/llvmorg-${CLANG_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/llvmorg-${ASWF_CLANG_VERSION}.tar.gz" ]; then + curl --location "https://github.com/llvm/llvm-project/archive/llvmorg-${ASWF_CLANG_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/llvmorg-${ASWF_CLANG_VERSION}.tar.gz" fi -tar xf "$DOWNLOADS_DIR/llvmorg-${CLANG_VERSION}.tar.gz" -cd "llvm-project-llvmorg-${CLANG_VERSION}/llvm" +tar xf "$DOWNLOADS_DIR/llvmorg-${ASWF_CLANG_VERSION}.tar.gz" +cd "llvm-project-llvmorg-${ASWF_CLANG_VERSION}/llvm" mkdir build cd build cmake -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libcxx;libcxxabi;compiler-rt;lld" \ -DCMAKE_BUILD_TYPE=Release \ -G "Unix Makefiles" \ - -DGCC_INSTALL_PREFIX="/opt/rh/devtoolset-${DTS_VERSION}/root/usr" \ + -DGCC_INSTALL_PREFIX="/opt/rh/devtoolset-${ASWF_DTS_VERSION}/root/usr" \ -DLLVM_TARGETS_TO_BUILD="host;NVPTX" \ -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ -DCLANG_INCLUDE_DOCS=OFF \ @@ -56,4 +56,4 @@ make -j$(nproc) make install cd ../../.. -rm -rf "llvm-project-llvmorg-${CLANG_VERSION}" +rm -rf "llvm-project-llvmorg-${ASWF_CLANG_VERSION}" diff --git a/scripts/common/build_ninja.sh b/scripts/common/build_ninja.sh index 84dc005a..1ace44f5 100755 --- a/scripts/common/build_ninja.sh +++ b/scripts/common/build_ninja.sh @@ -4,12 +4,12 @@ set -ex -if [ ! -f "$DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz" ]; then - curl --location "https://github.com/ninja-build/ninja/archive/v${NINJA_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/ninja-${ASWF_NINJA_VERSION}.tar.gz" ]; then + curl --location "https://github.com/ninja-build/ninja/archive/v${ASWF_NINJA_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ninja-${ASWF_NINJA_VERSION}.tar.gz" fi -tar xf "$DOWNLOADS_DIR/ninja-${NINJA_VERSION}.tar.gz" -cd "ninja-${NINJA_VERSION}" +tar xf "$DOWNLOADS_DIR/ninja-${ASWF_NINJA_VERSION}.tar.gz" +cd "ninja-${ASWF_NINJA_VERSION}" ./configure.py --bootstrap diff --git a/scripts/common/install_ccache.sh b/scripts/common/install_ccache.sh index 265038d6..0356aec7 100755 --- a/scripts/common/install_ccache.sh +++ b/scripts/common/install_ccache.sh @@ -7,13 +7,13 @@ set -ex mkdir ccache cd ccache -if [ ! -f "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" ]; then - curl --location "https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/ccache-${ASWF_CCACHE_VERSION}.tar.gz" ]; then + curl --location "https://github.com/ccache/ccache/releases/download/v${ASWF_CCACHE_VERSION}/ccache-${ASWF_CCACHE_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ccache-${ASWF_CCACHE_VERSION}.tar.gz" fi -tar xf "$DOWNLOADS_DIR/ccache-${CCACHE_VERSION}.tar.gz" +tar xf "$DOWNLOADS_DIR/ccache-${ASWF_CCACHE_VERSION}.tar.gz" -cd "ccache-${CCACHE_VERSION}" +cd "ccache-${ASWF_CCACHE_VERSION}" mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DZSTD_FROM_INTERNET=ON -DCMAKE_INSTALL_PREFIX=/usr/local .. diff --git a/scripts/common/install_sonar.sh b/scripts/common/install_sonar.sh index 3426fffc..a2fb9f29 100755 --- a/scripts/common/install_sonar.sh +++ b/scripts/common/install_sonar.sh @@ -17,11 +17,11 @@ ln -s /var/opt/build-wrapper-linux-x86/build-wrapper-linux-x86-64 /usr/bin/build echo $(build-wrapper-linux-x86-64) if [ ! -f "$DOWNLOADS_DIR/sonar-scanner.zip" ]; then - curl --location "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_VERSION}-linux.zip" -o "$DOWNLOADS_DIR/sonar-scanner.zip" + curl --location "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${ASWF_SONAR_VERSION}-linux.zip" -o "$DOWNLOADS_DIR/sonar-scanner.zip" fi unzip "$DOWNLOADS_DIR/sonar-scanner.zip" -mv "sonar-scanner-${SONAR_VERSION}-linux" /var/opt/. -ln -s "/var/opt/sonar-scanner-${SONAR_VERSION}-linux/bin/sonar-scanner" /usr/bin/sonar-scanner +mv "sonar-scanner-${ASWF_SONAR_VERSION}-linux" /var/opt/. +ln -s "/var/opt/sonar-scanner-${ASWF_SONAR_VERSION}-linux/bin/sonar-scanner" /usr/bin/sonar-scanner sonar-scanner --help cd .. diff --git a/scripts/common/install_yumpackages.sh b/scripts/common/install_yumpackages.sh index 01cde995..279c5a6e 100755 --- a/scripts/common/install_yumpackages.sh +++ b/scripts/common/install_yumpackages.sh @@ -115,7 +115,7 @@ yum -y groupinstall "Development Tools" yum install -y --setopt=tsflags=nodocs centos-release-scl-rh -if [[ $DTS_VERSION == 6 ]]; then +if [[ $ASWF_DTS_VERSION == 6 ]]; then # Use the centos vault as the original devtoolset-6 is not part of CentOS-7 anymore sed -i 's/7/7.6.1810/g; s|^#\s*\(baseurl=http://\)mirror|\1vault|g; /mirrorlist/d' /etc/yum.repos.d/CentOS-SCLo-*.repo fi @@ -124,7 +124,7 @@ fi yum clean all yum install -y --setopt=tsflags=nodocs \ - "devtoolset-$DTS_VERSION-toolchain" + "devtoolset-$ASWF_DTS_VERSION-toolchain" yum install -y epel-release diff --git a/scripts/vfx/build_alembic.sh b/scripts/vfx/build_alembic.sh index 2757d0bd..de908a37 100755 --- a/scripts/vfx/build_alembic.sh +++ b/scripts/vfx/build_alembic.sh @@ -7,12 +7,12 @@ set -ex mkdir alembic cd alembic -if [ ! -f "$DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz" ]; then - curl --location "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${HDF5_VERSION}/src/hdf5-${HDF5_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/hdf5-${ASWF_HDF5_VERSION}.tar.gz" ]; then + curl --location "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${ASWF_HDF5_VERSION}/src/hdf5-${ASWF_HDF5_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/hdf5-${ASWF_HDF5_VERSION}.tar.gz" fi -tar -zxf "$DOWNLOADS_DIR/hdf5-${HDF5_VERSION}.tar.gz" -cd "hdf5-${HDF5_VERSION}" +tar -zxf "$DOWNLOADS_DIR/hdf5-${ASWF_HDF5_VERSION}.tar.gz" +cd "hdf5-${ASWF_HDF5_VERSION}" ./configure \ --prefix="${ASWF_INSTALL_PREFIX}" \ --enable-threadsafe \ @@ -23,14 +23,14 @@ make install cd .. -if [ ! -f "$DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz" ]; then - curl --location "https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/alembic-${ASWF_ALEMBIC_VERSION}.tar.gz" ]; then + curl --location "https://github.com/alembic/alembic/archive/${ASWF_ALEMBIC_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/alembic-${ASWF_ALEMBIC_VERSION}.tar.gz" fi -tar -zxf "$DOWNLOADS_DIR/alembic-${ALEMBIC_VERSION}.tar.gz" -cd "alembic-${ALEMBIC_VERSION}" +tar -zxf "$DOWNLOADS_DIR/alembic-${ASWF_ALEMBIC_VERSION}.tar.gz" +cd "alembic-${ASWF_ALEMBIC_VERSION}" # Boost Python3 not found by cmake for PyAlembic as of Alembic 1.7.12 -if [[ $PYTHON_VERSION == 2.7* ]]; then +if [[ $ASWF_PYTHON_VERSION == 2.7* ]]; then USE_PYALEMBIC=TRUE else USE_PYALEMBIC=FALSE diff --git a/scripts/vfx/build_blosc.sh b/scripts/vfx/build_blosc.sh index 567f0192..4ca3862b 100755 --- a/scripts/vfx/build_blosc.sh +++ b/scripts/vfx/build_blosc.sh @@ -7,8 +7,8 @@ set -ex git clone https://github.com/Blosc/c-blosc.git cd c-blosc -if [ "$BLOSC_VERSION" != "latest" ]; then - git checkout "tags/v${BLOSC_VERSION}" -b "v${BLOSC_VERSION}" +if [ "$ASWF_BLOSC_VERSION" != "latest" ]; then + git checkout "tags/v${ASWF_BLOSC_VERSION}" -b "v${ASWF_BLOSC_VERSION}" fi mkdir build diff --git a/scripts/vfx/build_ocio.sh b/scripts/vfx/build_ocio.sh index 8f9f2e45..4e58996f 100755 --- a/scripts/vfx/build_ocio.sh +++ b/scripts/vfx/build_ocio.sh @@ -8,13 +8,13 @@ mkdir ocio cd ocio -if [ ! -f "$DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz" ]; then - curl --location "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${OCIO_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/ocio-${ASWF_OCIO_VERSION}.tar.gz" ]; then + curl --location "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${ASWF_OCIO_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/ocio-${ASWF_OCIO_VERSION}.tar.gz" fi -tar -zxf "$DOWNLOADS_DIR/ocio-${OCIO_VERSION}.tar.gz" -cd "OpenColorIO-${OCIO_VERSION}" +tar -zxf "$DOWNLOADS_DIR/ocio-${ASWF_OCIO_VERSION}.tar.gz" +cd "OpenColorIO-${ASWF_OCIO_VERSION}" -if [[ $DTS_VERSION == 9 && $OCIO_VERSION == 1.* ]]; then +if [[ $ASWF_DTS_VERSION == 9 && $ASWF_OCIO_VERSION == 1.* ]]; then # Disable warning treated as errors sed -i 's/-Werror//g' src/core/CMakeLists.txt sed -i 's/-Werror//g' src/pyglue/CMakeLists.txt @@ -35,9 +35,9 @@ make install cd ../.. -curl --location "https://github.com/imageworks/OpenColorIO-Configs/archive/v${OCIO_CONFIGS_VERSION}.tar.gz" -o "ocio-configs.tar.gz" +curl --location "https://github.com/imageworks/OpenColorIO-Configs/archive/v${ASWF_OCIO_CONFIGS_VERSION}.tar.gz" -o "ocio-configs.tar.gz" tar -zxf ocio-configs.tar.gz -cd "OpenColorIO-Configs-${OCIO_CONFIGS_VERSION}" +cd "OpenColorIO-Configs-${ASWF_OCIO_CONFIGS_VERSION}" mkdir "${ASWF_INSTALL_PREFIX}/openColorIO" cp nuke-default/config.ocio "${ASWF_INSTALL_PREFIX}/openColorIO/" diff --git a/scripts/vfx/build_oiio.sh b/scripts/vfx/build_oiio.sh index af44ac26..0187e296 100755 --- a/scripts/vfx/build_oiio.sh +++ b/scripts/vfx/build_oiio.sh @@ -7,8 +7,8 @@ set -ex git clone https://github.com/OpenImageIO/oiio.git cd oiio -if [ "$OIIO_VERSION" != "latest" ]; then - git checkout "tags/Release-${OIIO_VERSION}" -b "Release-${OIIO_VERSION}" +if [ "$ASWF_OIIO_VERSION" != "latest" ]; then + git checkout "tags/Release-${ASWF_OIIO_VERSION}" -b "Release-${ASWF_OIIO_VERSION}" fi mkdir build @@ -17,7 +17,7 @@ cmake -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ -DOIIO_BUILD_TOOLS=ON \ -DOIIO_BUILD_TESTS=OFF \ -DVERBOSE=ON \ - -DPYTHON_VERSION="${PYTHON_VERSION_MAJOR_MINOR}" \ + -ASWF_DPYTHON_VERSION="${ASWF_PYTHON_MAJOR_MINOR_VERSION}" \ -DBoost_NO_BOOST_CMAKE=ON \ ../. make -j$(nproc) diff --git a/scripts/vfx/build_openexr.sh b/scripts/vfx/build_openexr.sh index 9d643ac3..0cea7698 100755 --- a/scripts/vfx/build_openexr.sh +++ b/scripts/vfx/build_openexr.sh @@ -4,14 +4,14 @@ set -ex -if [ ! -f "$DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz" ]; then - curl --location "https://github.com/AcademySoftwareFoundation/openexr/archive/v${OPENEXR_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/openexr-${ASWF_OPENEXR_VERSION}.tar.gz" ]; then + curl --location "https://github.com/AcademySoftwareFoundation/openexr/archive/v${ASWF_OPENEXR_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/openexr-${ASWF_OPENEXR_VERSION}.tar.gz" fi -tar xf "$DOWNLOADS_DIR/openexr-${OPENEXR_VERSION}.tar.gz" -cd "openexr-${OPENEXR_VERSION}" +tar xf "$DOWNLOADS_DIR/openexr-${ASWF_OPENEXR_VERSION}.tar.gz" +cd "openexr-${ASWF_OPENEXR_VERSION}" -if [[ $OPENEXR_VERSION == 2.2* ]]; then +if [[ $ASWF_OPENEXR_VERSION == 2.2* ]]; then cd IlmBase ./bootstrap @@ -33,8 +33,8 @@ if [[ $OPENEXR_VERSION == 2.2* ]]; then else # TODO: add support for python-3 PyIlmBase when it works... - if [[ $OPENEXR_VERSION == 2.3.0 ]]; then - if [[ $PYTHON_VERSION == 2.7* ]]; then + if [[ $ASWF_OPENEXR_VERSION == 2.3.0 ]]; then + if [[ $ASWF_PYTHON_VERSION == 2.7* ]]; then BUILD_PYILMBASE=on else BUILD_PYILMBASE=off @@ -54,4 +54,4 @@ else fi cd ../.. -rm -rf "openexr-${OPENEXR_VERSION}" +rm -rf "openexr-${ASWF_OPENEXR_VERSION}" diff --git a/scripts/vfx/build_opensubdiv.sh b/scripts/vfx/build_opensubdiv.sh index 1ef1c4c7..55f7b179 100755 --- a/scripts/vfx/build_opensubdiv.sh +++ b/scripts/vfx/build_opensubdiv.sh @@ -7,12 +7,12 @@ set -ex mkdir opensubdiv cd opensubdiv -if [ ! -f "$DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz" ]; then - curl --location "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${OPENSUBDIV_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz" +if [ ! -f "$DOWNLOADS_DIR/opensubdiv-${ASWF_OPENSUBDIV_VERSION}.tar.gz" ]; then + curl --location "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${ASWF_OPENSUBDIV_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/opensubdiv-${ASWF_OPENSUBDIV_VERSION}.tar.gz" fi -tar -zxf "$DOWNLOADS_DIR/opensubdiv-${OPENSUBDIV_VERSION}.tar.gz" -cd "OpenSubdiv-${OPENSUBDIV_VERSION}" +tar -zxf "$DOWNLOADS_DIR/opensubdiv-${ASWF_OPENSUBDIV_VERSION}.tar.gz" +cd "OpenSubdiv-${ASWF_OPENSUBDIV_VERSION}" # Apply cmake patch https://github.com/PixarAnimationStudios/OpenSubdiv/pull/952 cat < Date: Thu, 12 Nov 2020 21:51:56 +1100 Subject: [PATCH 084/132] Now deletes pre-existing release and tags if present Signed-off-by: Aloys Baillet --- python/aswfdocker/releaser.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/python/aswfdocker/releaser.py b/python/aswfdocker/releaser.py index f38d18ab..69f5c801 100644 --- a/python/aswfdocker/releaser.py +++ b/python/aswfdocker/releaser.py @@ -4,7 +4,7 @@ import typing from datetime import datetime, timezone -from github import Github, InputGitAuthor +from github import Github, InputGitAuthor, GithubException from aswfdocker import settings, constants, aswfinfo, groupinfo @@ -26,8 +26,23 @@ def __init__(self, github_org: str): def create_release(self, sha, tag, release_message, prerelease): logger.debug("GitHub.create_release(tag=%s)", tag) - self.repo.create_git_tag_and_release( - tag=tag.replace(":", "/"), + real_tag = tag.replace(":", "/") + try: + release = self.repo.get_release(real_tag) + except GithubException: + release = None + if release: + release.delete_release() + logger.warning("Release %s already existed, deleted!", real_tag) + try: + ref = self.repo.get_git_ref(ref="tags/" + real_tag) + except GithubException: + ref = None + if ref: + ref.delete() + logger.warning("Tag %s already existed, deleted!", real_tag) + release = self.repo.create_git_tag_and_release( + tag=real_tag, tag_message=tag, release_name=tag, release_message=release_message, @@ -41,6 +56,7 @@ def create_release(self, sha, tag, release_message, prerelease): datetime.now(timezone.utc).replace(microsecond=0).isoformat(), ), ) + logger.info("Release %s created.", real_tag) class Releaser: From f5b2f2a9635161f09f1a49f5d1fc177838d1bb98 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Thu, 12 Nov 2020 22:37:41 +1100 Subject: [PATCH 085/132] New aswfdocker version Signed-off-by: Aloys Baillet --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index b420e91d..99219676 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name="aswfdocker", - version="0.3.3", + version="0.3.4", author="Aloys Baillet", author_email="aloys.baillet+github@gmail.com", description="ASWF Docker Utilities", From 7c71fa60d51fc8f4a465035b1bb167aef5dc2e56 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Thu, 12 Nov 2020 21:47:31 +1100 Subject: [PATCH 086/132] Reverted blosc version change for VFX2021 Signed-off-by: Aloys Baillet --- ci-openvdb/README.md | 2 +- ci-osl/README.md | 4 ++-- ci-usd/README.md | 2 +- ci-vfxall/README.md | 2 +- versions.yaml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ci-openvdb/README.md b/ci-openvdb/README.md index 6d00e42c..58f7f411 100644 --- a/ci-openvdb/README.md +++ b/ci-openvdb/README.md @@ -104,7 +104,7 @@ Contains: * python-3.7.3 * tbb-2019_U6 * openexr-2.4.0 -* blosc-1.20.1 +* blosc-1.5.0 * numpy-1.16 * vfxplatform-2021 diff --git a/ci-osl/README.md b/ci-osl/README.md index 6d38e940..4761b07a 100644 --- a/ci-osl/README.md +++ b/ci-osl/README.md @@ -117,7 +117,7 @@ Contains: * python-3.7.3 * tbb-2019_U6 * openexr-2.4.0 -* blosc-1.20.1 +* blosc-1.5.0 * numpy-1.16 * vfxplatform-2021 @@ -130,7 +130,7 @@ Contains: * python-3.7.3 * tbb-2019_U6 * openexr-2.4.0 -* blosc-1.20.1 +* blosc-1.5.0 * numpy-1.16 * vfxplatform-2021 diff --git a/ci-usd/README.md b/ci-usd/README.md index 5a5abcb8..f7fad718 100644 --- a/ci-usd/README.md +++ b/ci-usd/README.md @@ -80,7 +80,7 @@ Contains: * ptex-2.3.2 * opensubdiv-3_4_3 * alembic-1.7.12 -* blosc-1.20.1 +* blosc-1.5.0 * openvdb-7.1.0 * numpy-1.16 * hdf5-1.8.21 diff --git a/ci-vfxall/README.md b/ci-vfxall/README.md index e1491662..571bb499 100644 --- a/ci-vfxall/README.md +++ b/ci-vfxall/README.md @@ -169,7 +169,7 @@ Contains: * pyside-5.12.6 * cmake-3.18.4 * openexr-2.4.0 -* blosc-1.20.1 +* blosc-1.5.0 * alembic-1.7.12 * oiio-2.1.13.0 * ocio-1.1.1 diff --git a/versions.yaml b/versions.yaml index 86da94b5..3fc8197b 100644 --- a/versions.yaml +++ b/versions.yaml @@ -210,7 +210,7 @@ versions: ci_common_version: "2" package_versions: ASWF_ALEMBIC_VERSION: "1.7.12" - ASWF_BLOSC_VERSION: "1.20.1" + ASWF_BLOSC_VERSION: "1.5.0" ASWF_BOOST_VERSION: "1.70.0" ASWF_CMAKE_VERSION: "3.18.4" ASWF_CPPUNIT_VERSION: "1.15.1" From b7bad03768d3f00a64ca83aafca845e38d6f5a95 Mon Sep 17 00:00:00 2001 From: Aloys Baillet Date: Fri, 13 Nov 2020 08:18:04 +1100 Subject: [PATCH 087/132] Fixed missing packages in ci-osl Signed-off-by: Aloys Baillet --- ci-osl/Dockerfile | 44 ++++++++++++++------------------ ci-osl/README.md | 65 ++++++++++++++++++++--------------------------- ci-osl/image.yaml | 9 +++---- 3 files changed, 51 insertions(+), 67 deletions(-) diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 2124942e..48993a51 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -10,12 +10,11 @@ ARG ASWF_CLANG_MAJOR_VERSION ARG ASWF_BOOST_VERSION ARG ASWF_CMAKE_VERSION -ARG ASWF_CPPUNIT_VERSION -ARG ASWF_GLFW_VERSION ARG ASWF_PYTHON_VERSION -ARG ASWF_TBB_VERSION +ARG ASWF_QT_VERSION ARG ASWF_OPENEXR_VERSION -ARG ASWF_BLOSC_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_PARTIO_VERSION ARG ASWF_NUMPY_VERSION ARG ASWF_VFXPLATFORM_VERSION ARG ASWF_PYTHON_MAJOR_MINOR_VERSION @@ -23,12 +22,11 @@ ARG ASWF_PYTHON_MAJOR_MINOR_VERSION FROM ${ASWF_PKG_ORG}/ci-package-boost:$ASWF_VFXPLATFORM_VERSION-$ASWF_BOOST_VERSION as ci-package-boost FROM ${ASWF_PKG_ORG}/ci-package-cmake:$ASWF_VFXPLATFORM_VERSION-$ASWF_CMAKE_VERSION as ci-package-cmake -FROM ${ASWF_PKG_ORG}/ci-package-cppunit:$ASWF_VFXPLATFORM_VERSION-$ASWF_CPPUNIT_VERSION as ci-package-cppunit -FROM ${ASWF_PKG_ORG}/ci-package-glfw:$ASWF_VFXPLATFORM_VERSION-$ASWF_GLFW_VERSION as ci-package-glfw FROM ${ASWF_PKG_ORG}/ci-package-python:$ASWF_VFXPLATFORM_VERSION-$ASWF_PYTHON_VERSION as ci-package-python -FROM ${ASWF_PKG_ORG}/ci-package-tbb:$ASWF_VFXPLATFORM_VERSION-$ASWF_TBB_VERSION as ci-package-tbb +FROM ${ASWF_PKG_ORG}/ci-package-qt:$ASWF_VFXPLATFORM_VERSION-$ASWF_QT_VERSION as ci-package-qt FROM ${ASWF_PKG_ORG}/ci-package-openexr:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENEXR_VERSION as ci-package-openexr -FROM ${ASWF_PKG_ORG}/ci-package-blosc:$ASWF_VFXPLATFORM_VERSION-$ASWF_BLOSC_VERSION as ci-package-blosc +FROM ${ASWF_PKG_ORG}/ci-package-oiio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OIIO_VERSION as ci-package-oiio +FROM ${ASWF_PKG_ORG}/ci-package-partio:$ASWF_VFXPLATFORM_VERSION-$ASWF_PARTIO_VERSION as ci-package-partio FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} as ci-osl @@ -37,12 +35,11 @@ ARG ASWF_VERSION ARG ASWF_BOOST_VERSION ARG ASWF_CMAKE_VERSION -ARG ASWF_CPPUNIT_VERSION -ARG ASWF_GLFW_VERSION ARG ASWF_PYTHON_VERSION -ARG ASWF_TBB_VERSION +ARG ASWF_QT_VERSION ARG ASWF_OPENEXR_VERSION -ARG ASWF_BLOSC_VERSION +ARG ASWF_OIIO_VERSION +ARG ASWF_PARTIO_VERSION ARG ASWF_NUMPY_VERSION ARG ASWF_VFXPLATFORM_VERSION ARG ASWF_PYTHON_MAJOR_MINOR_VERSION @@ -50,7 +47,7 @@ ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-osl" LABEL org.opencontainers.image.title="OpenShadingLanguage CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstream dependencies\ +LABEL org.opencontainers.image.description="Contains: python, boost, Qt, OpenEXR, OpenImageIO, PartIO and other OpenShadingLanguage upstream dependencies\ Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage!\ " LABEL org.opencontainers.image.url="http://aswf.io/" @@ -63,12 +60,11 @@ LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" -LABEL io.aswf.docker.versions.cppunit="$ASWF_CPPUNIT_VERSION" -LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION" -LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION" +LABEL io.aswf.docker.versions.qt="$ASWF_QT_VERSION" LABEL io.aswf.docker.versions.openexr="$ASWF_OPENEXR_VERSION" -LABEL io.aswf.docker.versions.blosc="$ASWF_BLOSC_VERSION" +LABEL io.aswf.docker.versions.oiio="$ASWF_OIIO_VERSION" +LABEL io.aswf.docker.versions.partio="$ASWF_PARTIO_VERSION" LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" @@ -79,12 +75,11 @@ ENV VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION -ENV ASWF_CPPUNIT_VERSION=$ASWF_CPPUNIT_VERSION -ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION -ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION +ENV ASWF_QT_VERSION=$ASWF_QT_VERSION ENV ASWF_OPENEXR_VERSION=$ASWF_OPENEXR_VERSION -ENV ASWF_BLOSC_VERSION=$ASWF_BLOSC_VERSION +ENV ASWF_OIIO_VERSION=$ASWF_OIIO_VERSION +ENV ASWF_PARTIO_VERSION=$ASWF_PARTIO_VERSION ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION @@ -92,12 +87,11 @@ ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION COPY --from=ci-package-boost /. /usr/local/ COPY --from=ci-package-cmake /. /usr/local/ -COPY --from=ci-package-cppunit /. /usr/local/ -COPY --from=ci-package-glfw /. /usr/local/ COPY --from=ci-package-python /. /usr/local/ -COPY --from=ci-package-tbb /. /usr/local/ +COPY --from=ci-package-qt /. /usr/local/ COPY --from=ci-package-openexr /. /usr/local/ -COPY --from=ci-package-blosc /. /usr/local/ +COPY --from=ci-package-oiio /. /usr/local/ +COPY --from=ci-package-partio /. /usr/local/ COPY ci-osl/README.md ci-osl/image.yaml /usr/local/aswf/ diff --git a/ci-osl/README.md b/ci-osl/README.md index 4761b07a..793f7c7e 100644 --- a/ci-osl/README.md +++ b/ci-osl/README.md @@ -11,7 +11,7 @@ See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftw ## OpenShadingLanguage CI Docker Image -Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstream dependencies +Contains: python, boost, Qt, OpenEXR, OpenImageIO, PartIO and other OpenShadingLanguage upstream dependencies Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage! @@ -21,12 +21,11 @@ Warning: this image does *not* contain OpenShadingLanguage itself as it is used Contains: * boost-1.61.0 * cmake-3.9.4 -* cppunit-1.14.0 -* glfw-3.1.2 * python-2.7.15 -* tbb-2017_U6 +* qt-5.6.1 * openexr-2.2.1 -* blosc-1.5.0 +* oiio-2.0.8 +* partio-1.10.1 * numpy-1.14 * vfxplatform-2018 @@ -34,12 +33,11 @@ Contains: Contains: * boost-1.66.0 * cmake-3.12.4 -* cppunit-1.14.0 -* glfw-3.1.2 * python-2.7.15 -* tbb-2018 +* qt-5.12.6 * openexr-2.3.0 -* blosc-1.5.0 +* oiio-2.0.8 +* partio-1.10.1 * numpy-1.14 * vfxplatform-2019 @@ -47,12 +45,11 @@ Contains: Contains: * boost-1.66.0 * cmake-3.12.4 -* cppunit-1.14.0 -* glfw-3.1.2 * python-2.7.15 -* tbb-2018 +* qt-5.12.6 * openexr-2.3.0 -* blosc-1.5.0 +* oiio-2.0.8 +* partio-1.10.1 * numpy-1.14 * vfxplatform-2019 @@ -60,12 +57,11 @@ Contains: Contains: * boost-1.66.0 * cmake-3.12.4 -* cppunit-1.14.0 -* glfw-3.1.2 * python-2.7.15 -* tbb-2018 +* qt-5.12.6 * openexr-2.3.0 -* blosc-1.5.0 +* oiio-2.0.8 +* partio-1.10.1 * numpy-1.14 * vfxplatform-2019 @@ -73,12 +69,11 @@ Contains: Contains: * boost-1.66.0 * cmake-3.12.4 -* cppunit-1.14.0 -* glfw-3.1.2 * python-2.7.15 -* tbb-2018 +* qt-5.12.6 * openexr-2.3.0 -* blosc-1.5.0 +* oiio-2.0.8 +* partio-1.10.1 * numpy-1.14 * vfxplatform-2019 @@ -86,12 +81,11 @@ Contains: Contains: * boost-1.66.0 * cmake-3.12.4 -* cppunit-1.14.0 -* glfw-3.1.2 * python-2.7.15 -* tbb-2018 +* qt-5.12.6 * openexr-2.3.0 -* blosc-1.5.0 +* oiio-2.0.8 +* partio-1.10.1 * numpy-1.14 * vfxplatform-2019 @@ -99,12 +93,11 @@ Contains: Contains: * boost-1.70.0 * cmake-3.18.4 -* cppunit-1.15.1 -* glfw-3.1.2 * python-3.7.3 -* tbb-2019_U6 +* qt-5.12.6 * openexr-2.4.0 -* blosc-1.5.0 +* oiio-2.1.13.0 +* partio-1.10.1 * numpy-1.16 * vfxplatform-2020 @@ -112,12 +105,11 @@ Contains: Contains: * boost-1.70.0 * cmake-3.18.4 -* cppunit-1.15.1 -* glfw-3.1.2 * python-3.7.3 -* tbb-2019_U6 +* qt-5.12.8 * openexr-2.4.0 -* blosc-1.5.0 +* oiio-2.1.13.0 +* partio-1.13.0 * numpy-1.16 * vfxplatform-2021 @@ -125,12 +117,11 @@ Contains: Contains: * boost-1.70.0 * cmake-3.18.4 -* cppunit-1.15.1 -* glfw-3.1.2 * python-3.7.3 -* tbb-2019_U6 +* qt-5.12.8 * openexr-2.4.0 -* blosc-1.5.0 +* oiio-2.1.13.0 +* partio-1.13.0 * numpy-1.16 * vfxplatform-2021 diff --git a/ci-osl/image.yaml b/ci-osl/image.yaml index 797c1fdb..b9f27195 100644 --- a/ci-osl/image.yaml +++ b/ci-osl/image.yaml @@ -1,17 +1,16 @@ name: "osl" title: "OpenShadingLanguage CI Docker Image" description: | - Contains: python, boost, tbb, OpenEXR, Blosc and other OpenShadingLanguage upstream dependencies + Contains: python, boost, Qt, OpenEXR, OpenImageIO, PartIO and other OpenShadingLanguage upstream dependencies Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage! packages: - boost - cmake - - cppunit - - glfw - python - - tbb + - qt - openexr - - blosc + - oiio + - partio implicit_packages: - numpy - vfxplatform From 4e6ce20545ba13aa7695051d7894bc771e22086b Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Wed, 2 Dec 2020 17:21:43 +0100 Subject: [PATCH 088/132] Spelling: Docker Hub, organization Signed-off-by: Simran Spiller --- CHANGELOG.md | 4 ++-- CONTRIBUTING.md | 12 +++++++----- README.md | 4 ++-- python/aswfdocker/cli/aswfdocker.py | 16 ++++++++-------- python/aswfdocker/dockergen.py | 2 +- python/aswfdocker/migrater.py | 2 +- 6 files changed, 21 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c33bd80..b11e03ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -220,9 +220,9 @@ All notable changes to this project will be documented in this file. ### Added * `aswfdocker packages` lists all ci packages. * `aswfdocker images` lists all ci images. -* `aswfdocker migrate` allows migration of docker packages from one organisation to another. +* `aswfdocker migrate` allows migration of docker packages from one organization to another. * `aswfdocker build` builds docker ci packages and ci images. -* `aswfdocker getdockerorg` prints the current dockerhub organisation to use. +* `aswfdocker getdockerorg` prints the current Docker Hub organization to use. * `aswfdocker getdockerpush` prints if the images should be pushed. ### Removed * All bash scripts... diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d9bfba6a..f1ff4d82 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -275,7 +275,7 @@ The [CHANGELOG.md](CHANGELOG.md) file needs to be updated with the date of the c and the list of new docker image versions that will be built by the CI infrastructure. GitHub releases will trigger a `Release` GitHub action that will build the corresponding -image and push it to dockerhub. +image and push it to Docker Hub. ### Build `aswfdocker build` builds ci packages and ci images. @@ -288,9 +288,10 @@ aswfdocker --verbose build -t CI_IMAGE --group vfx --version 2019 --target vfxal ``` ### Migrate -`aswfdocker migrate` can migrate images between docker organisations, should only be used on package images + +`aswfdocker migrate` can migrate images between docker organizations, should only be used on package images that are very heavy to build such as clang or qt. -Example use: migrate a single package from `aswftesting` to `aswf` dockerhub organisation. +Example use: migrate a single package from `aswftesting` to `aswf` Docker Hub organization. ```bash aswfdocker --verbose migrate --from aswftesting --to aswf --package usd ``` @@ -300,9 +301,10 @@ If a version number of a package or an image needs to be updated, the `versions. In order to update the templated images with updated version numbers, run `aswfdocker dockergen`. ### Manually push new packages -When rebuilding all packages from the CI is overkill, and if you have access to the right dockerhub organisations, it is possible + +When rebuilding all packages from the CI is overkill, and if you have access to the right Docker Hub organizations, it is possible to manually build and push packages and images by overriding the automatic discovery of current repo and branch. -E.g. to build and push a new `ninja` package these commands can be run to push to `aswf` and `aswftesting` organisations: +E.g. to build and push a new `ninja` package these commands can be run to push to `aswf` and `aswftesting` organizations: ```bash # push to aswftesting diff --git a/README.md b/README.md index 30e61272..2c3fd581 100644 --- a/README.md +++ b/README.md @@ -67,9 +67,9 @@ The `latest` tag is pointing to the current VFX Platorm year images, e.g. `aswf/ ## Testing Images -There is another dockerhub organisation with copies of the `aswf` docker images called `aswftesting`, images published there are for general testing and experimentations. Images can be pushed by any fork of the official repo as long as the branch is called `testing`. Images in this org will change without notice and could be broken in many unexpected ways! +There is another Docker Hub organization with copies of the `aswf` docker images called `aswftesting`, images published there are for general testing and experimentations. Images can be pushed by any fork of the official repo as long as the branch is called `testing`. Images in this org will change without notice and could be broken in many unexpected ways! -To get write access to the `aswftesting` dockerhub organisation you can open a jira issue [there](https://jira.aswf.io). +To get write access to the `aswftesting` Docker Hub organization you can open a jira issue [there](https://jira.aswf.io). ### Status As of June 2020 there are full 2018, 2019 and 2020 [VFX Platform](https://vfxplatform.com) compliant images. And a preview of 2021 diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index 03a64e41..6ff535d5 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -187,7 +187,7 @@ def build( ) @click.option("--dry-run", "-d", is_flag=True) def migrate(from_org, to_org, package, version, dry_run): - """Migrates packages from a dockerhub org to another. + """Migrates packages from a Docker Hub org to another. """ m = migrater.Migrater(from_org, to_org) m.gather(package, version) @@ -206,7 +206,7 @@ def migrate(from_org, to_org, package, version, dry_run): @cli.command() @pass_build_info def getdockerorg(build_info): - """Prints the current dockerhub organisation to use according to the current repo uri and branch name + """Prints the current Docker Hub organization to use according to the current repo uri and branch name """ click.echo( utils.get_docker_org(build_info.repo_uri, build_info.source_branch), nl=False @@ -228,7 +228,7 @@ def getdockerpush(build_info): @cli.command() @click.option( - "--docker-org", "-d", default="aswf", help="Docker organisation", + "--docker-org", "-d", default="aswf", help="Docker organization", ) @click.option( "--package", "-p", help="Package name to download", @@ -322,13 +322,13 @@ def settings(settings_path, github_access_token): "--github-org", "-o", default=constants.MAIN_GITHUB_ASWF_ORG, - help=f"The GitHub organisation/username to create the release on, defaults to {constants.MAIN_GITHUB_ASWF_ORG}.", + help=f"The GitHub organization/username to create the release on, defaults to {constants.MAIN_GITHUB_ASWF_ORG}.", ) @click.option( "--docker-org", "-do", default=constants.TESTING_DOCKER_ORG, - help=f"The Docker organisation/username to upload the docker image to, defaults to {constants.TESTING_DOCKER_ORG}.", + help=f"The Docker organization/username to upload the docker image to, defaults to {constants.TESTING_DOCKER_ORG}.", ) @click.option( "--message", "-m", help="The release message.", @@ -432,16 +432,16 @@ def dockergen(context, image_name, check): @cli.command() @common_image_options @click.option( - "--username", "-u", help="DockerHub username.", + "--username", "-u", help="Docker Hub username.", ) @click.option( - "--password", "-p", help="DockerHub password", + "--password", "-p", help="Docker Hub password", ) @pass_build_info def pushoverview( build_info, ci_image_type, group, version, full_name, target, username, password, ): - """Pushes the Docker Image README file to DockerHub + """Pushes the Docker Image README file to Docker Hub """ group_info = get_group_info( build_info, ci_image_type, group, version, full_name, target diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index 2382f677..52d5cb00 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 """ -Migration of ASWF docker images between docker organisations +Migration of ASWF docker images between docker organizations """ import logging import os diff --git a/python/aswfdocker/migrater.py b/python/aswfdocker/migrater.py index 001ff165..c2292d5d 100644 --- a/python/aswfdocker/migrater.py +++ b/python/aswfdocker/migrater.py @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 """ -Migration of ASWF docker images between docker organisations +Migration of ASWF docker images between docker organizations """ import logging import subprocess From bdab9e2b98c3ca4d418d0fb02d3a7b6bad78822f Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Wed, 2 Dec 2020 17:22:13 +0100 Subject: [PATCH 089/132] Properly link to Contribution Sign-Off Signed-off-by: Simran Spiller --- CONTRIBUTING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f1ff4d82..104477ae 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,7 +73,8 @@ Every commit must be signed off. That is, every commit log message must include a “`Signed-off-by`” line (generated, for example, with “`git commit --signoff`”), indicating that the committer wrote the code and has the right to release it under the [Apache-2.0](LICENSE.md) -license. See https://github.com/AcademySoftwareFoundation/tac/blob/master/process/contributing.md#contribution-sign-off for more information on this requirement. +license. See [Contribution Sign-Off](https://github.com/AcademySoftwareFoundation/tac/blob/master/process/contributing.md#contribution-sign-off) +for more information on this requirement. ## Development Workflow From aa2c9581674c270c501ea338ae351e08bfa2683d Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Wed, 2 Dec 2020 17:29:50 +0100 Subject: [PATCH 090/132] Formatting Signed-off-by: Simran Spiller --- CONTRIBUTING.md | 65 ++++++++++++++++++++++----------------- README.md | 82 ++++++++++++++++++++++++++++++++++++------------- 2 files changed, 96 insertions(+), 51 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 104477ae..503acf30 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -279,8 +279,10 @@ GitHub releases will trigger a `Release` GitHub action that will build the corre image and push it to Docker Hub. ### Build + `aswfdocker build` builds ci packages and ci images. Example use: just build a single package for testing: + ```bash # Build and push USD package to aswftesting aswfdocker --verbose build -t PACKAGE --group vfx --version 2019 --target usd --push @@ -293,11 +295,13 @@ aswfdocker --verbose build -t CI_IMAGE --group vfx --version 2019 --target vfxal `aswfdocker migrate` can migrate images between docker organizations, should only be used on package images that are very heavy to build such as clang or qt. Example use: migrate a single package from `aswftesting` to `aswf` Docker Hub organization. + ```bash aswfdocker --verbose migrate --from aswftesting --to aswf --package usd ``` ### Updating versions + If a version number of a package or an image needs to be updated, the `versions.yaml` file is the main data source. In order to update the templated images with updated version numbers, run `aswfdocker dockergen`. @@ -315,6 +319,7 @@ aswfdocker --verbose --repo-uri https://github.com/AcademySoftwareFoundation/asw ``` ### Manual GitHub release creation + * Create a new release in [GitHub New Release](https://github.com/AcademySoftwareFoundation/aswf-docker/releases/new) * Use the following tag format: `ci-NAME:X.Y` (e.g. `ci-common:1.4`) * Use the following release name format: `aswf/ci-NAME:X.Y` (e.g. `aswf/ci-common:1.4`) @@ -323,17 +328,21 @@ aswfdocker --verbose --repo-uri https://github.com/AcademySoftwareFoundation/asw * Run a manual build in Azure on the specific tagged commit created before ### Automatic GitHub release creation -* Generate a GitHub token to allow `aswfdocker release` to create GitHub releases: [GitHub Settings](https://github.com/settings/tokens) with **"repo"** permissions. + +* Generate a GitHub token to allow `aswfdocker release` to create GitHub releases: + [GitHub Settings](https://github.com/settings/tokens) with **"repo"** permissions. * Configure the token in the `aswfdocker` settings by running: - `aswfdocker settings --github-access-token MYTOKEN`. + ```bash + aswfdocker settings --github-access-token MYTOKEN + ``` * Run the `release` command for a given image: -```bash -aswfdocker release -n aswftesting/ci-base:2021 -``` -or for a whole group of images: -```bash -aswfdocker release -t PACKAGE -g base1 -v 2018 --docker-org aswftesting -m "Testing release" -``` + ```bash + aswfdocker release -n aswftesting/ci-base:2021 + ``` + or for a whole group of images: + ```bash + aswfdocker release -t PACKAGE -g base1 -v 2018 --docker-org aswftesting -m "Testing release" + ``` ### Adding a new `ci` image @@ -348,30 +357,30 @@ It is usually a good idea to add this `xyz` package to the `vfxall` library so t * Add a new `xyz` section at the end of the `packages/Dockerfile` file to build the `ci-package-xyz` docker package using the previous script. * Add the `xyz` package to the `ci-vfxall/Dockerfile` image. * Test the scripts by running these commands in order and manually checking if everything works -```bash -# Build the CI image -aswfdocker build -n aswftesting/ci-xyz:2019 -# Build the CI package (a small docker image that contains only the xyz build artifacts) -aswfdocker build -n aswftesting/ci-package-xyz:2019 --progress plain -# Buils the `vfxall` package that should now contain the `xyz` package -aswfdocker build -n aswftesting/ci-vfxall:2019 -# Now run the vfxall image locally to test if xyz is working properly -docker run --gpus=all -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v `pwd`:/project --rm -it aswftesting/ci-vfxall:2019 bash -``` + ```bash + # Build the CI image + aswfdocker build -n aswftesting/ci-xyz:2019 + # Build the CI package (a small docker image that contains only the xyz build artifacts) + aswfdocker build -n aswftesting/ci-package-xyz:2019 --progress plain + # Buils the `vfxall` package that should now contain the `xyz` package + aswfdocker build -n aswftesting/ci-vfxall:2019 + # Now run the vfxall image locally to test if xyz is working properly + docker run --gpus=all -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v `pwd`:/project --rm -it aswftesting/ci-vfxall:2019 bash + ``` * Do a pre-release of the new `ci-package-xyz` image so it can be used by the Github Action builds and tests: -```bash -# Create a Github release to build the `ci-package-xyz:2___` image via a GitHub action -aswfdocker release -n aswftesting/ci-package-xyz:2019 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG -aswfdocker release -n aswftesting/ci-package-xyz:2020 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG -aswfdocker release -n aswftesting/ci-package-xyz:2021 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG -``` + ```bash + # Create a Github release to build the `ci-package-xyz:2___` image via a GitHub action + aswfdocker release -n aswftesting/ci-package-xyz:2019 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG + aswfdocker release -n aswftesting/ci-package-xyz:2020 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG + aswfdocker release -n aswftesting/ci-package-xyz:2021 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG + ``` * Create the Pull Request with these changes Check [#66](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/66) for an example. +### Example of a large re-release of all images -### Example of a large re-release of all images: -``` +```bash # Common packages aswfdocker release -t PACKAGE -g common -v 1 -v 2 --target ninja --docker-org aswf -m "RELEASE_NOTES!" aswfdocker release -t PACKAGE -g common -v 1-clang6 -v 1-clang7 -v 1-clang8 -v 1-clang9 -v 1-clang10 -v 2-clang10 -v 2-clang11 --target clang --docker-org aswf -m "RELEASE_NOTES!" @@ -396,13 +405,11 @@ docker push aswf/ci-package-qt:2021.1 # Once all Qt are out, release PySide packages aswfdocker release -t PACKAGE -g base3 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" - # Wait for all Qt and Pyside builds to finish, then build downstream packages: # VFX packages aswfdocker release -t PACKAGE -g vfx1 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" aswfdocker release -t PACKAGE -g vfx2 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" - # Finally build the CI images aswfdocker release -t IMAGE -g base -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" aswfdocker release -t IMAGE -g vfx1 -v 2018 -v 2019 -v 2020 -v 2021 --docker-org aswf -m "RELEASE_NOTES!" diff --git a/README.md b/README.md index 2c3fd581..eb013d17 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Docker Images for the Academy Software Foundation + [![License](https://img.shields.io/github/license/AcademySoftwareFoundation/aswf-docker)](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/LICENSE) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=AcademySoftwareFoundation_aswf_docker&metric=coverage)](https://sonarcloud.io/dashboard?id=AcademySoftwareFoundation_aswf_docker) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=AcademySoftwareFoundation_aswf_docker&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=AcademySoftwareFoundation_aswf_docker) [![Test Build Docker Images](https://github.com/AcademySoftwareFoundation/aswf-docker/workflows/Test%20Build%20Docker%20Images/badge.svg)](https://github.com/AcademySoftwareFoundation/aswf-docker/actions?query=workflow%3A%22Test+Build+Docker+Images%22) [![Test Python aswfdocker Library](https://github.com/AcademySoftwareFoundation/aswf-docker/workflows/Test%20Python%20aswfdocker%20Library/badge.svg)](https://github.com/AcademySoftwareFoundation/aswf-docker/actions?query=workflow%3A%22Test+Python+aswfdocker+Library%22) - More information: * [VFXPlatform](https://vfxplatform.com) * [ASWF](https://aswf.io) @@ -50,57 +50,92 @@ Each image (apart from `ci-common`) is available for multiple VFX Platform Years | [aswf/ci-vfxall:2020](https://hub.docker.com/r/aswf/ci-vfxall/tags?name=2020) ![Image Version](https://img.shields.io/docker/v/aswf/ci-vfxall/2020) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-vfxall/2020) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-vfxall) | Based on `aswf/ci-common:1`, comes with most VFX packages pre-installed. | | [aswf/ci-vfxall:2021](https://hub.docker.com/r/aswf/ci-vfxall/tags?name=2021) ![Image Version](https://img.shields.io/docker/v/aswf/ci-vfxall/2021) | ![Image Size](https://img.shields.io/docker/image-size/aswf/ci-vfxall/2021) ![Pulls](https://img.shields.io/docker/pulls/aswf/ci-vfxall) | Based on `aswf/ci-common:2`, comes with most VFX packages pre-installed. | - ### Versions -The `ASWF_VFXPLATFORM_VERSION` is the calendar year mentioned in the VFX Platform, e.g. `2019`. +The `ASWF_VFXPLATFORM_VERSION` is the calendar year mentioned in the +VFX Platform, e.g. `2019`. -The `ASWF_VERSION` is a semantic version made of the `ASWF_VFXPLATFORM_VERSION` as the major version number, and a minor version number to indicate minor changes in the Docker Image that still point to the same calendar year version, e.g. `2019.0` would be followed if necessary by a `2019.1` version. -The minor version here does *not* point to a calendar month or quarter, it is solely to express that the image has changed internally. We could also have a patch version. +The `ASWF_VERSION` is a semantic version made of the `ASWF_VFXPLATFORM_VERSION` +as the major version number, and a minor version number to indicate minor +changes in the Docker Image that still point to the same calendar year version, +e.g. `2019.0` would be followed if necessary by a `2019.1` version. +The minor version here does *not* point to a calendar month or quarter, it is +solely to express that the image has changed internally. We could also have a +patch version. ### Image Tags -The most precise version tag is the `ASWF_VERSION` of the image, e.g. `aswf/ci-base:2019.0`, but it is recommended to use the `ASWF_VFXPLATFORM_VERSION` as the tag to use in CI pipelines, e.g. `aswf/ci-openexr:2019`. - -The `latest` tag is pointing to the current VFX Platorm year images, e.g. `aswf/ci-openexr:latest` points to `aswf/ci-openexr:2019.0` but will be updated to point to `aswf/ci-openexr:2020.0` in the calendar year 2020. +The most precise version tag is the `ASWF_VERSION` of the image, e.g. +`aswf/ci-base:2019.0`, but it is recommended to use the +`ASWF_VFXPLATFORM_VERSION` as the tag to use in CI pipelines, e.g. +`aswf/ci-openexr:2019`. +The `latest` tag is pointing to the current VFX Platform year images, e.g. +`aswf/ci-openexr:latest` points to `aswf/ci-openexr:2019.0` but will be +updated to point to `aswf/ci-openexr:2020.0` in the calendar year 2020. ## Testing Images -There is another Docker Hub organization with copies of the `aswf` docker images called `aswftesting`, images published there are for general testing and experimentations. Images can be pushed by any fork of the official repo as long as the branch is called `testing`. Images in this org will change without notice and could be broken in many unexpected ways! +There is another Docker Hub organization with copies of the `aswf` Docker +images called `aswftesting`, images published there are for general testing and +experimentation. Images can be pushed by any fork of the official repo as long +as the branch is called `testing`. Images in this org will change without +notice and could be broken in many unexpected ways! -To get write access to the `aswftesting` Docker Hub organization you can open a jira issue [there](https://jira.aswf.io). +To get write access to the `aswftesting` Docker Hub organization you can open +a Jira issue [there](https://jira.aswf.io). ### Status -As of June 2020 there are full 2018, 2019 and 2020 [VFX Platform](https://vfxplatform.com) compliant images. And a preview of 2021 -with devtoolset-9.1 (GCC-9.3.1) and clang-10, N.B. that the built-in CUDA-10.2 is currently incompatible with GCC-9, hoping to update to -CUDA-11 as soon as possible to restore CUDA support in 2021 images. +As of June 2020 there are full 2018, 2019 and 2020 +[VFX Platform](https://vfxplatform.com) compliant images. And a preview of 2021 +with devtoolset-9.1 (GCC-9.3.1) and clang-10, N.B. that the built-in CUDA-10.2 +is currently incompatible with GCC-9, hoping to update to CUDA-11 as soon as +possible to restore CUDA support in 2021 images. ## CI Packages -In order to decouple the building of packages (which can take a lot of time, such as clang, Qt and USD) from the management of the CI Images, the packages are built and stored into "scratch" docker images that can be "copied" into the CI images at image build time by Docker. -Storing these CI packages into docker images has the additional benefit of being completely free to store on the docker hub repository. -The main negative point about this way of storing build artifacts is that tarballs are not available directly to download. It is very trivial to generate one and the provided `download-package.sh` script can be used to generate a local tarball from any package. +In order to decouple the building of packages (which can take a lot of time, +such as clang, Qt and USD) from the management of the CI Images, the packages +are built and stored into "scratch" Docker images that can be "copied" into the +CI images at image build time by Docker. + +Storing these CI packages into Docker images has the additional benefit of +being completely free to store on the Docker Hub repository. +The main negative point about this way of storing build artifacts is that +tarballs are not available directly to download. It is very trivial to generate +one and the provided `download-package.sh` script can be used to generate a +local tarball from any package. -Also, CI packages are built using experimental docker syntax that allows cache folders to be mounted at build time, and is built with `docker buildx`. The new Docker BuildKit system allows the building of many packages in parallel in an efficient way with support for [ccache](https://ccache.dev/). +Also, CI packages are built using experimental Docker syntax that allows cache +folders to be mounted at build time, and is built with `docker buildx`. The new +Docker BuildKit system allows the building of many packages in parallel in an +efficient way with support for [ccache](https://ccache.dev/). ## Python Utilities Check [aswfdocker](python/README.md) for python utility usage. ## Manual Builds -To build packages and images locally follow the instructions to install the [aswfdocker](python/README.md) python utility. + +To build packages and images locally follow the instructions to install the +[aswfdocker](python/README.md) python utility. ### Packages -Packages require a recent Docker version with [buildx](https://docs.docker.com/buildx/working-with-buildx/) installed and enabled. -To build all packages (very unlikely to succeed unless run on a very very powerful machine!): +Packages require a recent Docker version with +[buildx](https://docs.docker.com/buildx/working-with-buildx/) installed and +enabled. + +To build all packages (very unlikely to succeed unless run on a very very +powerful machine!): + ```bash aswfdocker --verbose build -t PACKAGE ``` To build a single package, e.g. USD: + ```bash # First list the available CI packages to know which package belong to which "group": aswfdocker packages @@ -111,15 +146,18 @@ aswfdocker build -n aswftesting/ci-package-usd:2019 ``` ### Images -Images can be build with recent Docker versions but do not require [buildx](https://docs.docker.com/buildx/working-with-buildx/) -but it is recommended to speed up large builds. +Images can be build with recent Docker versions but do not require +[buildx](https://docs.docker.com/buildx/working-with-buildx/) but it is +recommended to speed up large builds. To build all images (very unlikely to succeed unless run on a very very powerful machine!): + ```bash aswfdocker --verbose build -t CI_IMAGE ``` To build a single image: + ```bash # First list the available CI images to know which package belong to which "group": aswfdocker images From bf5f0aa6a20cf1370ed8d1bbb1424dbec177eb3f Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Wed, 2 Dec 2020 17:30:15 +0100 Subject: [PATCH 091/132] Add #wg-ci Slack channel to list Signed-off-by: Simran Spiller --- CONTRIBUTING.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 503acf30..36b2da10 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,14 +9,16 @@ explains our contribution process and procedures: * [Versioning Policy](#Versioning-Policy) * [Creating a Release](#Creating-a-Release) - ## Getting Information -There are two primary ways to connect with the aswf-docker project: +There are three primary ways to connect with the aswf-docker project: -* The [tac](https://lists.aswf.io/g/tac) mail list: +* The [TAC mailing list](https://lists.aswf.io/g/tac): This is a general mailing list which can be used to discuss CI issues, please - use the #ci-working tag. + use the `#ci-working` tag. + +* The [ASWF Slack workspace](http://slack.aswf.io/): + The CI working group has a channel `#wg-ci` for discussions. * [GitHub Issues](https://github.com/AcademySoftwareFoundation/aswf-docker/issues): GitHub Issues are used both to track bugs and to discuss feature requests. From 805f64ee1694dc88f6e9c1ec347d9dd6da9fe0da Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Thu, 3 Dec 2020 12:06:26 +0100 Subject: [PATCH 092/132] Capitalization, spelling Signed-off-by: Simran Spiller --- CHANGELOG.md | 24 ++++++++++++------------ CONTRIBUTING.md | 24 ++++++++++++------------ README.md | 2 +- python/aswfdocker/builder.py | 2 +- python/aswfdocker/cli/aswfdocker.py | 16 ++++++++-------- python/aswfdocker/dockergen.py | 2 +- python/aswfdocker/groupinfo.py | 2 +- python/aswfdocker/index.py | 2 +- python/aswfdocker/migrater.py | 2 +- python/aswfdocker/releaser.py | 4 ++-- python/aswfdocker/tests/test_releaser.py | 2 +- 11 files changed, 41 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b11e03ae..f124afda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -96,7 +96,7 @@ All notable changes to this project will be documented in this file. ## 2020-08-01 ### Added -* New `ci-otio` docker image +* New `ci-otio` Docker image * Added OpenTimelineIO 0.12 to `ci-vfxall` ### New CI Images: @@ -152,8 +152,8 @@ All notable changes to this project will be documented in this file. * New `aswf/ci-package-osl` package ### Changed * Added OSL and clang into `aswf/ci-vfxall` -* Simplified ci image build system -* Free up space during build of docker images +* Simplified CI image build system +* Free up space during build of Docker images ### Fixed * Fixed bug in python `aswfdocker build` command when build multiple versions simultaneously ### New CI Images: @@ -187,8 +187,8 @@ All notable changes to this project will be documented in this file. ## 2020-04-23 ### Added -* `ci:common:1.3`: Added aswfuser for non-root operations in the docker images. Can be used by running `runuser -l aswfuser -c 'COMMAND'` -* Rebuilt all ci images from fixed `ci-common:1.3` image. +* `ci:common:1.3`: Added aswfuser for non-root operations in the Docker images. Can be used by running `runuser -l aswfuser -c 'COMMAND'` +* Rebuilt all CI images from fixed `ci-common:1.3` image. ### New CI Images: * `aswf/ci-common:1.3` * `aswf/ci-base:2018.3`, `aswf/ci-base:2019.3`, `aswf/ci-base:2020.3` @@ -201,13 +201,13 @@ All notable changes to this project will be documented in this file. ## 2020-04-18 ### Added -* Added batch support for building docker packages and CI images, check README.md for examples. +* Added batch support for building Docker packages and CI images, check README.md for examples. ## 2020-04-16 ### Fixed * `aswf/ci-common:1.2` contains a fix for the `ninja` binary that required a newer libstdc++: https://github.com/AcademySoftwareFoundation/aswf-docker/issues/34 ### Changed -* Rebuilt all ci images from fixed `ci-common:1.2` image: +* Rebuilt all CI images from fixed `ci-common:1.2` image: ### New CI Images: * `aswf/ci-common:1.2` * `aswf/ci-base:2018.2`, `aswf/ci-base:2019.2`, `aswf/ci-base:2020.2` @@ -218,10 +218,10 @@ All notable changes to this project will be documented in this file. ## 2020-02-17 ### Added -* `aswfdocker packages` lists all ci packages. -* `aswfdocker images` lists all ci images. -* `aswfdocker migrate` allows migration of docker packages from one organization to another. -* `aswfdocker build` builds docker ci packages and ci images. +* `aswfdocker packages` lists all CI packages. +* `aswfdocker images` lists all CI images. +* `aswfdocker migrate` allows migration of Docker packages from one organization to another. +* `aswfdocker build` builds Docker CI packages and CI images. * `aswfdocker getdockerorg` prints the current Docker Hub organization to use. * `aswfdocker getdockerpush` prints if the images should be pushed. ### Removed @@ -237,7 +237,7 @@ All notable changes to this project will be documented in this file. ## 2019-12-16 ### Changed -* All ci images have been rebuilt from docker packages, they should be identical to the previous `.0` version: +* All CI images have been rebuilt from Docker packages, they should be identical to the previous `.0` version: * `aswf/ci-common:1.1` * `aswf/ci-base:2018.1`, `aswf/ci-base:2019.1`, `aswf/ci-base:2020.1` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 36b2da10..c6eaa88f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -157,7 +157,7 @@ aswf-docker-dev@lists.aswf.io mail list. ### Pull Requests -Contributions should be submitted as Github pull requests. See +Contributions should be submitted as GitHub pull requests. See [Creating a pull request](https://help.github.com/articles/creating-a-pull-request/) if you're unfamiliar with this concept. @@ -173,7 +173,7 @@ with a separate pull request. 3. Push commits to your fork. -4. Create a Github pull request from your topic branch. +4. Create a GitHub pull request from your topic branch. 5. Pull requests will be reviewed by project Committers and Contributors, who may discuss, offer constructive feedback, request changes, or approve @@ -268,21 +268,21 @@ All new source files should begin with a copyright and license stating: ## Versioning Policy -Any non-trivial change to the docker images should be followed by incrementing +Any non-trivial change to the Docker images should be followed by incrementing the corresponding image version. We use MAJOR.MINOR versioning for all images. Versioning is further explained in the [README](README.md#version) file. ## Releasing new Docker Images The [CHANGELOG.md](CHANGELOG.md) file needs to be updated with the date of the change -and the list of new docker image versions that will be built by the CI infrastructure. +and the list of new Docker image versions that will be built by the CI infrastructure. GitHub releases will trigger a `Release` GitHub action that will build the corresponding image and push it to Docker Hub. ### Build -`aswfdocker build` builds ci packages and ci images. +`aswfdocker build` builds CI packages and CI images. Example use: just build a single package for testing: ```bash @@ -294,7 +294,7 @@ aswfdocker --verbose build -t CI_IMAGE --group vfx --version 2019 --target vfxal ### Migrate -`aswfdocker migrate` can migrate images between docker organizations, should only be used on package images +`aswfdocker migrate` can migrate images between Docker organizations, should only be used on package images that are very heavy to build such as clang or qt. Example use: migrate a single package from `aswftesting` to `aswf` Docker Hub organization. @@ -348,30 +348,30 @@ aswfdocker --verbose --repo-uri https://github.com/AcademySoftwareFoundation/asw ### Adding a new `ci` image -Let's consider the addition of a new `ci-xyz` docker image to help the maintainers of the `xyz` library. The `ci-xyz` docker image +Let's consider the addition of a new `ci-xyz` Docker image to help the maintainers of the `xyz` library. The `ci-xyz` Docker image should be prepared with most upstream dependencies of the `xyz` library. It is usually a good idea to add this `xyz` package to the `vfxall` library so that it can be tested there. -* Add a new `xyz` version section in the `versions.yaml`, for both the `ci-package-xyz` docker package and the `ci-xyz` for the CI image. +* Add a new `xyz` version section in the `versions.yaml`, for both the `ci-package-xyz` Docker package and the `ci-xyz` for the CI image. * Create a new `ci-xyx/Dockerfile` using an existing one as an example (e.g. `ci-otio/Dockerfile`). * Create a new `scripts/vfx/build_xyz.sh` file that builds and installs `xyz` from source. -* Add a new `xyz` section at the end of the `packages/Dockerfile` file to build the `ci-package-xyz` docker package using the previous script. +* Add a new `xyz` section at the end of the `packages/Dockerfile` file to build the `ci-package-xyz` Docker package using the previous script. * Add the `xyz` package to the `ci-vfxall/Dockerfile` image. * Test the scripts by running these commands in order and manually checking if everything works ```bash # Build the CI image aswfdocker build -n aswftesting/ci-xyz:2019 - # Build the CI package (a small docker image that contains only the xyz build artifacts) + # Build the CI package (a small Docker image that contains only the xyz build artifacts) aswfdocker build -n aswftesting/ci-package-xyz:2019 --progress plain # Buils the `vfxall` package that should now contain the `xyz` package aswfdocker build -n aswftesting/ci-vfxall:2019 # Now run the vfxall image locally to test if xyz is working properly docker run --gpus=all -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v `pwd`:/project --rm -it aswftesting/ci-vfxall:2019 bash ``` -* Do a pre-release of the new `ci-package-xyz` image so it can be used by the Github Action builds and tests: +* Do a pre-release of the new `ci-package-xyz` image so it can be used by the GitHub Action builds and tests: ```bash - # Create a Github release to build the `ci-package-xyz:2___` image via a GitHub action + # Create a GitHub release to build the `ci-package-xyz:2___` image via a GitHub action aswfdocker release -n aswftesting/ci-package-xyz:2019 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG aswfdocker release -n aswftesting/ci-package-xyz:2020 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG aswfdocker release -n aswftesting/ci-package-xyz:2021 --sha `git rev-parse HEAD` --github-org MY_GITHUB_ORG diff --git a/README.md b/README.md index eb013d17..326f6589 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ aswfdocker build -n aswftesting/ci-package-usd:2019 ``` ### Images -Images can be build with recent Docker versions but do not require +Images can be built with recent Docker versions but do not require [buildx](https://docs.docker.com/buildx/working-with-buildx/) but it is recommended to speed up large builds. diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index ae9c75d6..5c0d3acb 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -16,7 +16,7 @@ class Builder: - """Builder generates a "docker buildx bake" json file to drive the parallel builds of docker images. + """Builder generates a "docker buildx bake" json file to drive the parallel builds of Docker images. """ def __init__( diff --git a/python/aswfdocker/cli/aswfdocker.py b/python/aswfdocker/cli/aswfdocker.py index 6ff535d5..8d600789 100644 --- a/python/aswfdocker/cli/aswfdocker.py +++ b/python/aswfdocker/cli/aswfdocker.py @@ -45,7 +45,7 @@ @click.version_option("1.0") @click.pass_context def cli(ctx, repo_root, repo_uri, source_branch, verbose): - """aswfdocker is a command line interface to build ASWF Docker packages and ci images + """aswfdocker is a command line interface to build ASWF Docker packages and CI images """ if verbose: logging.basicConfig(level=logging.DEBUG) @@ -134,7 +134,7 @@ def get_group_info(build_info, ci_image_type, groups, versions, full_name, targe "-p", type=click.Choice(["YES", "NO", "AUTO"], case_sensitive=False), default="NO", - help="Push built images to docker repository.", + help="Push built images to Docker repository.", ) @click.option("--dry-run", "-d", is_flag=True, help="Just logs what would happen.") @click.option( @@ -156,7 +156,7 @@ def build( dry_run, progress, ): - """Builds a ci-package or ci-image docker image. + """Builds a ci-package or ci-image Docker image. """ if push == "YES": pushb = True @@ -246,7 +246,7 @@ def download(build_info, docker_org, package, version): @cli.command() def packages(): - """Lists all known ci packages in this format: PACKAGEGROUP/ci-package-PACKAGE:VERSION + """Lists all known CI packages in this format: PACKAGEGROUP/ci-package-PACKAGE:VERSION """ for group, packages in index.Index().groups[constants.ImageType.PACKAGE].items(): for package in packages: @@ -259,7 +259,7 @@ def packages(): @cli.command() def images(): - """Lists all known ci images in this format: IMAGEGROUP/IMAGE:VERSION + """Lists all known CI images in this format: IMAGEGROUP/IMAGE:VERSION """ for image_type in (constants.ImageType.CI_IMAGE, constants.ImageType.RT_IMAGE): for group, images in constants.GROUPS[image_type].items(): @@ -328,7 +328,7 @@ def settings(settings_path, github_access_token): "--docker-org", "-do", default=constants.TESTING_DOCKER_ORG, - help=f"The Docker organization/username to upload the docker image to, defaults to {constants.TESTING_DOCKER_ORG}.", + help=f"The Docker organization/username to upload the Docker image to, defaults to {constants.TESTING_DOCKER_ORG}.", ) @click.option( "--message", "-m", help="The release message.", @@ -348,7 +348,7 @@ def release( message, dry_run, ): - """Creates a GitHub release for a ci-package or ci-image docker image. + """Creates a GitHub release for a ci-package or ci-image Docker image. """ # Disable SSL unclosed ResourceWarning coming from GitHub @@ -399,7 +399,7 @@ def release( "--check", "-c", is_flag=True, help="Checks that the current files are up to date." ) def dockergen(context, image_name, check): - """Generates a docker file and readme from image data and template + """Generates a Docker file and readme from image data and template """ if image_name == "all": images = [] diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index 52d5cb00..00c76fbb 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 """ -Migration of ASWF docker images between docker organizations +Migration of ASWF Docker images between Docker organizations """ import logging import os diff --git a/python/aswfdocker/groupinfo.py b/python/aswfdocker/groupinfo.py index 420837da..bbd3cd8c 100644 --- a/python/aswfdocker/groupinfo.py +++ b/python/aswfdocker/groupinfo.py @@ -13,7 +13,7 @@ class GroupInfo: """Image Group Info - An image group is a group of related docker images that will be built together. + An image group is a group of related Docker images that will be built together. """ def __init__( diff --git a/python/aswfdocker/index.py b/python/aswfdocker/index.py index 27ca2fa8..6fe6103b 100644 --- a/python/aswfdocker/index.py +++ b/python/aswfdocker/index.py @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 """ -Index of docker images and versions. +Index of Docker images and versions. """ import logging import yaml diff --git a/python/aswfdocker/migrater.py b/python/aswfdocker/migrater.py index c2292d5d..05681cf7 100644 --- a/python/aswfdocker/migrater.py +++ b/python/aswfdocker/migrater.py @@ -1,7 +1,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 """ -Migration of ASWF docker images between docker organizations +Migration of ASWF Docker images between Docker organizations """ import logging import subprocess diff --git a/python/aswfdocker/releaser.py b/python/aswfdocker/releaser.py index 69f5c801..95c30a23 100644 --- a/python/aswfdocker/releaser.py +++ b/python/aswfdocker/releaser.py @@ -60,7 +60,7 @@ def create_release(self, sha, tag, release_message, prerelease): class Releaser: - """Releaser creates GitHub releases for each docker image. + """Releaser creates GitHub releases for each Docker image. """ def __init__( # pylint: disable=too-many-arguments @@ -93,7 +93,7 @@ def release(self, dry_run=True): start_message = self.message for image, version, tag in self.release_list: message = ( - f"{start_message}Inspect released docker image here: " + f"{start_message}Inspect released Docker image here: " f"https://hub.docker.com/r/{self.build_info.docker_org}/{image}/tags?name={version}" ) if dry_run: diff --git a/python/aswfdocker/tests/test_releaser.py b/python/aswfdocker/tests/test_releaser.py index 85938072..9fc87bac 100644 --- a/python/aswfdocker/tests/test_releaser.py +++ b/python/aswfdocker/tests/test_releaser.py @@ -51,7 +51,7 @@ class u: draft=False, object=utils.get_current_sha(), prerelease=False, - release_message=f"Inspect released docker image here: https://hub.docker.com/r/aswflocaltesting/ci-package-boost/tags?name={boost_version}", + release_message=f"Inspect released Docker image here: https://hub.docker.com/r/aswflocaltesting/ci-package-boost/tags?name={boost_version}", release_name=f"aswflocaltesting/ci-package-boost:{boost_version}", tag_message=f"aswflocaltesting/ci-package-boost:{boost_version}", type="commit", From 03753a3af8bccca0f870bf11d44682dd87258958 Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Thu, 3 Dec 2020 12:26:45 +0100 Subject: [PATCH 093/132] Improve template formatting Signed-off-by: Simran Spiller --- ci-base/Dockerfile | 3 +-- ci-base/README.md | 11 ++++++++--- ci-baseqt/Dockerfile | 3 +-- ci-baseqt/README.md | 11 ++++++++--- ci-common/Dockerfile | 3 +-- ci-common/README.md | 14 +++++++++++--- ci-ocio/Dockerfile | 3 +-- ci-ocio/README.md | 11 ++++++++--- ci-opencue/Dockerfile | 3 +-- ci-opencue/README.md | 11 ++++++++--- ci-openexr/Dockerfile | 3 +-- ci-openexr/README.md | 11 ++++++++--- ci-openvdb/Dockerfile | 3 +-- ci-openvdb/README.md | 14 +++++++++++--- ci-osl/Dockerfile | 3 +-- ci-osl/README.md | 16 +++++++++++++--- ci-otio/Dockerfile | 3 +-- ci-otio/README.md | 10 +++++++--- ci-usd/Dockerfile | 3 +-- ci-usd/README.md | 10 +++++++--- ci-vfxall/Dockerfile | 3 +-- ci-vfxall/README.md | 13 ++++++++++--- .../aswfdocker/data/ci-image-dockerfile.jinja2 | 2 +- python/aswfdocker/data/ci-image-readme.jinja2 | 9 ++++++--- 24 files changed, 117 insertions(+), 59 deletions(-) diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 4923de11..bd81e51b 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -50,8 +50,7 @@ ARG ASWF_PYTHON_MAJOR_MINOR_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-base" LABEL org.opencontainers.image.title="Base CI Docker Image" -LABEL org.opencontainers.image.description="Contains: python, tbb, boost and other base libraries\ -" +LABEL org.opencontainers.image.description="Contains: python, tbb, boost and other base libraries" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-base/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" diff --git a/ci-base/README.md b/ci-base/README.md index 7256f2ef..fdee7fbd 100644 --- a/ci-base/README.md +++ b/ci-base/README.md @@ -1,4 +1,4 @@ -