From 373048e79cbe5c8b7378436a9c1eab2fe69d21fa Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Thu, 21 Nov 2019 11:28:42 -0800 Subject: [PATCH 1/8] initial CI trigger overhaul --- .gitlab-ci.yml | 143 ++++++++++++++++++++++--- Makefile | 9 -- scripts/build-image.sh | 7 +- scripts/clean-image.sh | 7 +- scripts/push-image.sh | 7 +- scripts/{devel-test.sh => test-tag.sh} | 18 +++- 6 files changed, 160 insertions(+), 31 deletions(-) delete mode 100644 Makefile rename scripts/{devel-test.sh => test-tag.sh} (52%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ad70af8..7408d84 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,28 +1,145 @@ stages: -- build -- test +- build-devel +- test-devel +- publish-rolling -build_image: - stage: build +variables: + ci_token: "38569832d11dfd78ba2a457ebb5b99" + PACKAGE_REPOSITORY: "https://repositories.intel.com/graphics" + REGISTRY_URL: "amr-registry.caas.intel.com/vtt-osgc/solutions" + CONTAINER: "intel-media-ffmpeg" + +build_ubuntu_eoan_devel_image: + stage: "build-devel" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: eoan + PACKAGE_STREAM: eoan-devel script: - - make - after_script: - - ./scripts/clean-image.sh + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh tags: - builder - ubuntu - - IVB only: - triggers -test_image_devel: - stage: test +build_ubuntu_disco_devel_image: + stage: "build-devel" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: disco + PACKAGE_STREAM: disco-devel script: - - ./scripts/devel-test.sh - after_script: - - ./scripts/clean-image.sh + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh + tags: + - builder + - ubuntu + only: + - triggers + +build_rhel_8_0_devel_image: + stage: "build-devel" + variables: + OS_DISTRO: rhel + OS_RELEASE: "8.0" + PACKAGE_STREAM: "8.0-devel" + script: + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh + tags: + - builder + - ubuntu + only: + - triggers + +test_ubuntu_eoan_devel_image: + stage: "test-devel" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: eoan + PACKAGE_STREAM: eoan-devel + script: + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh tags: - gen9 only: - triggers +test_ubuntu_disco_devel_image: + stage: "test-devel" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: disco + PACKAGE_STREAM: disco-devel + script: + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh + tags: + - gen9 + only: + - triggers + +test_rhel_8_0_devel_image: + stage: "test-devel" + variables: + OS_DISTRO: rhel + OS_RELEASE: "8.0" + PACKAGE_STREAM: "8.0-devel" + script: + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh + tags: + - gen9 + only: + - triggers + +publish_ubuntu_eoan_rolling_image: + stage: "publish-rolling" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: eoan + PACKAGE_STREAM: eoan-devel + script: + - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + tags: + - builder + - ubuntu + only: + - triggers + +publish_ubuntu_disco_rolling_image: + stage: "publish-rolling" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: disco + PACKAGE_STREAM: disco-devel + script: + - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + tags: + - builder + - ubuntu + only: + - triggers + +publish_rhel_8_0_rolling_image: + stage: "publish-rolling" + variables: + OS_DISTRO: rhel + OS_RELEASE: "8.0" + PACKAGE_STREAM: "8.0-devel" + script: + - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + tags: + - builder + - ubuntu + only: + - triggers \ No newline at end of file diff --git a/Makefile b/Makefile deleted file mode 100644 index 05c4f7d..0000000 --- a/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -all: build_ubuntu - -.PHONY: all - -build_ubuntu: Dockerfile.solution templates/*.in SOLUTION MANIFEST - @scripts/build-dockerfile - @scripts/build-images - @scripts/push-images - diff --git a/scripts/build-image.sh b/scripts/build-image.sh index 5421a99..e03d4c7 100755 --- a/scripts/build-image.sh +++ b/scripts/build-image.sh @@ -11,8 +11,11 @@ fi . SOLUTION . MANIFEST -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done RELEASE_INFO=${RELEASE_INFO:-N/A} [[ "${RELEASE_INFO}" == "N/A" ]] && { diff --git a/scripts/clean-image.sh b/scripts/clean-image.sh index f98b9fe..e2b576c 100755 --- a/scripts/clean-image.sh +++ b/scripts/clean-image.sh @@ -11,7 +11,10 @@ fi . SOLUTION . MANIFEST -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done docker rmi ${REPO_URL}/${CONTAINER}:devel diff --git a/scripts/push-image.sh b/scripts/push-image.sh index 7f3ef0f..c9e569b 100755 --- a/scripts/push-image.sh +++ b/scripts/push-image.sh @@ -11,8 +11,11 @@ fi . SOLUTION . MANIFEST -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done RELEASE_INFO=${RELEASE_INFO:-N/A} [[ "${RELEASE_INFO}" == "N/A" ]] && { diff --git a/scripts/devel-test.sh b/scripts/test-tag.sh similarity index 52% rename from scripts/devel-test.sh rename to scripts/test-tag.sh index 568a71f..89eb8e2 100755 --- a/scripts/devel-test.sh +++ b/scripts/test-tag.sh @@ -11,8 +11,20 @@ fi . SOLUTION . MANIFEST -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done + +RELEASE_INFO=${RELEASE_INFO:-N/A} +[[ "${RELEASE_INFO}" == "N/A" ]] && { + TAG=${TAG:-test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d)} +} || { + TAG=${TAG:-test-${OS_DISTRO}-${PACKAGE_STREAM}-${RELEASE_INFO}} +} + +docker pull ${REGISTRY_URL}/${CONTAINER}:${TAG} mkdir $(pwd)/media wget -O $(pwd)/media/AUD_MW_E.264 \ @@ -23,5 +35,5 @@ docker run \ --device=/dev/dri \ -e QSV_DEVICE=${QSV_DEVICE:-/dev/dri/renderD128} \ --volume $(pwd)/media:/media \ - ${REPO_URL}/${CONTAINER}:devel \ + ${REGISTRY_URL}/${CONTAINER}:${TAG} \ test From ec24fc8f812711ead55ab3d7c610e352634d14fb Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Thu, 21 Nov 2019 11:43:13 -0800 Subject: [PATCH 2/8] reducing ci file to templated version --- .gitlab-ci.yml | 113 ++++--------------------------------------------- 1 file changed, 8 insertions(+), 105 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7408d84..85c0ecf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,18 +3,19 @@ stages: - test-devel - publish-rolling +# Required Input From Trigger +# OS_DISTRO: ex. ubuntu +# OS_RELEASE: ex. eoan +# PACKAGE_STREAM: ex. eoan + variables: ci_token: "38569832d11dfd78ba2a457ebb5b99" PACKAGE_REPOSITORY: "https://repositories.intel.com/graphics" REGISTRY_URL: "amr-registry.caas.intel.com/vtt-osgc/solutions" CONTAINER: "intel-media-ffmpeg" -build_ubuntu_eoan_devel_image: +build_devel_image: stage: "build-devel" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: eoan - PACKAGE_STREAM: eoan-devel script: - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh tags: @@ -23,40 +24,8 @@ build_ubuntu_eoan_devel_image: only: - triggers -build_ubuntu_disco_devel_image: - stage: "build-devel" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: disco - PACKAGE_STREAM: disco-devel - script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh - tags: - - builder - - ubuntu - only: - - triggers - -build_rhel_8_0_devel_image: - stage: "build-devel" - variables: - OS_DISTRO: rhel - OS_RELEASE: "8.0" - PACKAGE_STREAM: "8.0-devel" - script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh - tags: - - builder - - ubuntu - only: - - triggers - -test_ubuntu_eoan_devel_image: +test_devel_image: stage: "test-devel" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: eoan - PACKAGE_STREAM: eoan-devel script: - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh tags: @@ -64,74 +33,8 @@ test_ubuntu_eoan_devel_image: only: - triggers -test_ubuntu_disco_devel_image: - stage: "test-devel" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: disco - PACKAGE_STREAM: disco-devel - script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh - tags: - - gen9 - only: - - triggers - -test_rhel_8_0_devel_image: - stage: "test-devel" - variables: - OS_DISTRO: rhel - OS_RELEASE: "8.0" - PACKAGE_STREAM: "8.0-devel" - script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh - tags: - - gen9 - only: - - triggers - -publish_ubuntu_eoan_rolling_image: +publish_rolling_image: stage: "publish-rolling" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: eoan - PACKAGE_STREAM: eoan-devel - script: - - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - tags: - - builder - - ubuntu - only: - - triggers - -publish_ubuntu_disco_rolling_image: - stage: "publish-rolling" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: disco - PACKAGE_STREAM: disco-devel - script: - - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - tags: - - builder - - ubuntu - only: - - triggers - -publish_rhel_8_0_rolling_image: - stage: "publish-rolling" - variables: - OS_DISTRO: rhel - OS_RELEASE: "8.0" - PACKAGE_STREAM: "8.0-devel" script: - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) From 68b21f92512dcc4bb15353e72ed86af2153ea11e Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Thu, 21 Nov 2019 12:08:28 -0800 Subject: [PATCH 3/8] adding push of test container --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 85c0ecf..42f4a3c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,6 +18,8 @@ build_devel_image: stage: "build-devel" script: - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh + - docker tag ${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker push ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) tags: - builder - ubuntu From 305b1498e911128500412cbc710979d324a37aab Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Mon, 2 Dec 2019 10:07:28 -0800 Subject: [PATCH 4/8] file permission setup changes --- scripts/test-tag.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/test-tag.sh b/scripts/test-tag.sh index 89eb8e2..11ab458 100755 --- a/scripts/test-tag.sh +++ b/scripts/test-tag.sh @@ -29,6 +29,7 @@ docker pull ${REGISTRY_URL}/${CONTAINER}:${TAG} mkdir $(pwd)/media wget -O $(pwd)/media/AUD_MW_E.264 \ https://fate-suite.libav.org/h264-conformance/AUD_MW_E.264 +chmod -R 777 $(pwd)/media docker run \ --rm \ -a STDOUT \ From ac4b66302dde685fa17962499b8021c335ba1c42 Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Thu, 21 Nov 2019 11:28:42 -0800 Subject: [PATCH 5/8] initial CI trigger overhaul --- .gitlab-ci.yml | 143 ++++++++++++++++++++++--- Makefile | 9 -- scripts/build-image.sh | 7 +- scripts/clean-image.sh | 7 +- scripts/push-image.sh | 7 +- scripts/{devel-test.sh => test-tag.sh} | 18 +++- 6 files changed, 160 insertions(+), 31 deletions(-) delete mode 100644 Makefile rename scripts/{devel-test.sh => test-tag.sh} (52%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ad70af8..7408d84 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,28 +1,145 @@ stages: -- build -- test +- build-devel +- test-devel +- publish-rolling -build_image: - stage: build +variables: + ci_token: "38569832d11dfd78ba2a457ebb5b99" + PACKAGE_REPOSITORY: "https://repositories.intel.com/graphics" + REGISTRY_URL: "amr-registry.caas.intel.com/vtt-osgc/solutions" + CONTAINER: "intel-media-ffmpeg" + +build_ubuntu_eoan_devel_image: + stage: "build-devel" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: eoan + PACKAGE_STREAM: eoan-devel script: - - make - after_script: - - ./scripts/clean-image.sh + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh tags: - builder - ubuntu - - IVB only: - triggers -test_image_devel: - stage: test +build_ubuntu_disco_devel_image: + stage: "build-devel" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: disco + PACKAGE_STREAM: disco-devel script: - - ./scripts/devel-test.sh - after_script: - - ./scripts/clean-image.sh + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh + tags: + - builder + - ubuntu + only: + - triggers + +build_rhel_8_0_devel_image: + stage: "build-devel" + variables: + OS_DISTRO: rhel + OS_RELEASE: "8.0" + PACKAGE_STREAM: "8.0-devel" + script: + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh + tags: + - builder + - ubuntu + only: + - triggers + +test_ubuntu_eoan_devel_image: + stage: "test-devel" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: eoan + PACKAGE_STREAM: eoan-devel + script: + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh tags: - gen9 only: - triggers +test_ubuntu_disco_devel_image: + stage: "test-devel" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: disco + PACKAGE_STREAM: disco-devel + script: + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh + tags: + - gen9 + only: + - triggers + +test_rhel_8_0_devel_image: + stage: "test-devel" + variables: + OS_DISTRO: rhel + OS_RELEASE: "8.0" + PACKAGE_STREAM: "8.0-devel" + script: + - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh + tags: + - gen9 + only: + - triggers + +publish_ubuntu_eoan_rolling_image: + stage: "publish-rolling" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: eoan + PACKAGE_STREAM: eoan-devel + script: + - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + tags: + - builder + - ubuntu + only: + - triggers + +publish_ubuntu_disco_rolling_image: + stage: "publish-rolling" + variables: + OS_DISTRO: ubuntu + OS_RELEASE: disco + PACKAGE_STREAM: disco-devel + script: + - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + tags: + - builder + - ubuntu + only: + - triggers + +publish_rhel_8_0_rolling_image: + stage: "publish-rolling" + variables: + OS_DISTRO: rhel + OS_RELEASE: "8.0" + PACKAGE_STREAM: "8.0-devel" + script: + - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + tags: + - builder + - ubuntu + only: + - triggers \ No newline at end of file diff --git a/Makefile b/Makefile deleted file mode 100644 index 05c4f7d..0000000 --- a/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -all: build_ubuntu - -.PHONY: all - -build_ubuntu: Dockerfile.solution templates/*.in SOLUTION MANIFEST - @scripts/build-dockerfile - @scripts/build-images - @scripts/push-images - diff --git a/scripts/build-image.sh b/scripts/build-image.sh index 2cb40ef..f77e797 100755 --- a/scripts/build-image.sh +++ b/scripts/build-image.sh @@ -11,8 +11,11 @@ fi . SOLUTION . MANIFEST -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done RELEASE_INFO=${RELEASE_INFO:-N/A} [[ "${RELEASE_INFO}" == "N/A" ]] && { diff --git a/scripts/clean-image.sh b/scripts/clean-image.sh index c116e66..7f58065 100755 --- a/scripts/clean-image.sh +++ b/scripts/clean-image.sh @@ -11,7 +11,10 @@ fi . SOLUTION . MANIFEST -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done docker rmi ${REGISTRY_URL}/${CONTAINER}:devel diff --git a/scripts/push-image.sh b/scripts/push-image.sh index 27dc880..448b13e 100755 --- a/scripts/push-image.sh +++ b/scripts/push-image.sh @@ -11,8 +11,11 @@ fi . SOLUTION . MANIFEST -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done RELEASE_INFO=${RELEASE_INFO:-N/A} [[ "${RELEASE_INFO}" == "N/A" ]] && { diff --git a/scripts/devel-test.sh b/scripts/test-tag.sh similarity index 52% rename from scripts/devel-test.sh rename to scripts/test-tag.sh index c80e9c7..89eb8e2 100755 --- a/scripts/devel-test.sh +++ b/scripts/test-tag.sh @@ -11,8 +11,20 @@ fi . SOLUTION . MANIFEST -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') -export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done + +RELEASE_INFO=${RELEASE_INFO:-N/A} +[[ "${RELEASE_INFO}" == "N/A" ]] && { + TAG=${TAG:-test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d)} +} || { + TAG=${TAG:-test-${OS_DISTRO}-${PACKAGE_STREAM}-${RELEASE_INFO}} +} + +docker pull ${REGISTRY_URL}/${CONTAINER}:${TAG} mkdir $(pwd)/media wget -O $(pwd)/media/AUD_MW_E.264 \ @@ -23,5 +35,5 @@ docker run \ --device=/dev/dri \ -e QSV_DEVICE=${QSV_DEVICE:-/dev/dri/renderD128} \ --volume $(pwd)/media:/media \ - ${REGISTRY_URL}/${CONTAINER}:devel \ + ${REGISTRY_URL}/${CONTAINER}:${TAG} \ test From a728f9787357fec01848f3ca0ae325e62865c854 Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Thu, 21 Nov 2019 11:43:13 -0800 Subject: [PATCH 6/8] reducing ci file to templated version --- .gitlab-ci.yml | 113 ++++--------------------------------------------- 1 file changed, 8 insertions(+), 105 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7408d84..85c0ecf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,18 +3,19 @@ stages: - test-devel - publish-rolling +# Required Input From Trigger +# OS_DISTRO: ex. ubuntu +# OS_RELEASE: ex. eoan +# PACKAGE_STREAM: ex. eoan + variables: ci_token: "38569832d11dfd78ba2a457ebb5b99" PACKAGE_REPOSITORY: "https://repositories.intel.com/graphics" REGISTRY_URL: "amr-registry.caas.intel.com/vtt-osgc/solutions" CONTAINER: "intel-media-ffmpeg" -build_ubuntu_eoan_devel_image: +build_devel_image: stage: "build-devel" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: eoan - PACKAGE_STREAM: eoan-devel script: - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh tags: @@ -23,40 +24,8 @@ build_ubuntu_eoan_devel_image: only: - triggers -build_ubuntu_disco_devel_image: - stage: "build-devel" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: disco - PACKAGE_STREAM: disco-devel - script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh - tags: - - builder - - ubuntu - only: - - triggers - -build_rhel_8_0_devel_image: - stage: "build-devel" - variables: - OS_DISTRO: rhel - OS_RELEASE: "8.0" - PACKAGE_STREAM: "8.0-devel" - script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh - tags: - - builder - - ubuntu - only: - - triggers - -test_ubuntu_eoan_devel_image: +test_devel_image: stage: "test-devel" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: eoan - PACKAGE_STREAM: eoan-devel script: - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh tags: @@ -64,74 +33,8 @@ test_ubuntu_eoan_devel_image: only: - triggers -test_ubuntu_disco_devel_image: - stage: "test-devel" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: disco - PACKAGE_STREAM: disco-devel - script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh - tags: - - gen9 - only: - - triggers - -test_rhel_8_0_devel_image: - stage: "test-devel" - variables: - OS_DISTRO: rhel - OS_RELEASE: "8.0" - PACKAGE_STREAM: "8.0-devel" - script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh - tags: - - gen9 - only: - - triggers - -publish_ubuntu_eoan_rolling_image: +publish_rolling_image: stage: "publish-rolling" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: eoan - PACKAGE_STREAM: eoan-devel - script: - - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - tags: - - builder - - ubuntu - only: - - triggers - -publish_ubuntu_disco_rolling_image: - stage: "publish-rolling" - variables: - OS_DISTRO: ubuntu - OS_RELEASE: disco - PACKAGE_STREAM: disco-devel - script: - - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - tags: - - builder - - ubuntu - only: - - triggers - -publish_rhel_8_0_rolling_image: - stage: "publish-rolling" - variables: - OS_DISTRO: rhel - OS_RELEASE: "8.0" - PACKAGE_STREAM: "8.0-devel" script: - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) From fe5c8790c4ce2e2d0f517ef6b9b024ddfe6edb24 Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Thu, 21 Nov 2019 12:08:28 -0800 Subject: [PATCH 7/8] adding push of test container --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 85c0ecf..42f4a3c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,6 +18,8 @@ build_devel_image: stage: "build-devel" script: - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh + - docker tag ${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - docker push ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) tags: - builder - ubuntu From 4214763e692d2e93d31ec9dbcfc8dbdfc5e86616 Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Mon, 2 Dec 2019 10:07:28 -0800 Subject: [PATCH 8/8] file permission setup changes --- scripts/test-tag.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/test-tag.sh b/scripts/test-tag.sh index 89eb8e2..11ab458 100755 --- a/scripts/test-tag.sh +++ b/scripts/test-tag.sh @@ -29,6 +29,7 @@ docker pull ${REGISTRY_URL}/${CONTAINER}:${TAG} mkdir $(pwd)/media wget -O $(pwd)/media/AUD_MW_E.264 \ https://fate-suite.libav.org/h264-conformance/AUD_MW_E.264 +chmod -R 777 $(pwd)/media docker run \ --rm \ -a STDOUT \