image: docker services: - docker:dind variables: DOCKER_AUTH_CONFIG: ${_DOCKER_AUTH_CONFIG} PLATFORM: "linux/amd64" ARM_BUILDS: ",chromium,firefox,gimp,rdesktop,remmina,terminal,ubuntu-bionic-desktop,ubuntu-focal-desktop,vlc,vs-code,doom,sublime-text,tor-browser,java-dev,telegram,opensuse-15-desktop,oracle-8-desktop,libre-office,thunderbird," CORE_IMAGE_TAG: "develop" CORE_IMAGE: "core-ubuntu-focal" USE_PRIVATE_IMAGES: 0 stages: - build - readme before_script: - docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD - export SANITIZED_BRANCH="$(echo $CI_COMMIT_REF_NAME | sed -r 's#^release/##' | sed 's/\//_/g')" - export SANITIZED_ROLLING_BRANCH=${SANITIZED_BRANCH}-rolling # Jobs for the develop and release branches. They should push to the private and public repos build_browser_images: stage: build image: ${ORG_NAME}/docker-buildx-private:develop script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} based on ${CORE_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE . only: - develop - /^release\/.*$/ except: - schedules tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [chrome, chromium, firefox, firefox-mobile, tor-browser, edge, brave] build_app_images: stage: build image: ${ORG_NAME}/docker-buildx-private:develop script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} based on ${CORE_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE . only: - develop - /^release\/.*$/ except: - schedules tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird] build_ubuntu_desktop_images: stage: build image: ${ORG_NAME}/docker-buildx-private:develop script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE . only: - develop - /^release\/.*$/ except: - schedules tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [desktop, desktop-deluxe, ubuntu-focal-desktop, ubuntu-focal-dind, ubuntu-focal-dind-rootless] build_non_ubuntu: stage: build image: ${ORG_NAME}/docker-buildx-private:develop script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Set base image based on kasm_image variable - if [[ $KASM_IMAGE =~ 'centos-7-desktop' ]]; then CORE_IMAGE=core-centos-7; fi - if [[ $KASM_IMAGE =~ 'tracelabs' ]]; then CORE_IMAGE=core-kali-rolling; fi - if [[ $KASM_IMAGE =~ 'oracle-7-desktop' ]]; then CORE_IMAGE=core-oracle-7; fi - if [[ $KASM_IMAGE =~ 'oracle-8-desktop' ]]; then CORE_IMAGE=core-oracle-8; fi - if [[ $KASM_IMAGE =~ 'opensuse-15-desktop' ]]; then CORE_IMAGE=core-opensuse-15; fi # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE . only: - develop - /^release\/.*$/ except: - schedules tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [centos-7-desktop, tracelabs, opensuse-15-desktop, oracle-7-desktop, oracle-8-desktop] # These jobs should run on the feature/bugfix branches - anything that is not the develop or release branches. It should only push images to the private repos build_dev_browser_images: stage: build image: ${ORG_NAME}/docker-buildx-private:develop script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} based on ${CORE_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; # Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64. # The only way to push multiple architectures to the same tag is to use buildx. - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE . except: - develop - /^release\/.*$/ tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [chrome, chromium, firefox, firefox-mobile, tor-browser, edge, brave] build_dev_app_images: stage: build image: ${ORG_NAME}/docker-buildx-private:develop script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} based on ${CORE_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; # Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64. # The only way to push multiple architectures to the same tag is to use buildx. - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE . except: - develop - /^release\/.*$/ tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird] build_dev_ubuntu_desktop_images: stage: build image: ${ORG_NAME}/docker-buildx-private:develop script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; # Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64. # The only way to push multiple architectures to the same tag is to use buildx. - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE . except: - develop - /^release\/.*$/ tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [desktop, desktop-deluxe, ubuntu-focal-desktop, ubuntu-focal-dind, ubuntu-focal-dind-rootless] build_dev_non_ubuntu: stage: build image: ${ORG_NAME}/docker-buildx-private:develop script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Set base image based on kasm_image variable - if [[ $KASM_IMAGE =~ 'centos-7-desktop' ]]; then CORE_IMAGE=core-centos-7; fi - if [[ $KASM_IMAGE =~ 'tracelabs' ]]; then CORE_IMAGE=core-kali-rolling; fi - if [[ $KASM_IMAGE =~ 'oracle-7-desktop' ]]; then CORE_IMAGE=core-oracle-7; fi - if [[ $KASM_IMAGE =~ 'oracle-8-desktop' ]]; then CORE_IMAGE=core-oracle-8; fi - if [[ $KASM_IMAGE =~ 'opensuse-15-desktop' ]]; then CORE_IMAGE=core-opensuse-15; fi # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; # Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64. # The only way to push multiple architectures to the same tag is to use buildx. - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE . except: - develop - /^release\/.*$/ tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [centos-7-desktop, tracelabs, opensuse-15-desktop, oracle-7-desktop, oracle-8-desktop] # These jobs are for the "rolling" release of the images. They should only run for scheduled jobs and should only push the rolling tags build_schedules_browser_images: image: ${ORG_NAME}/docker-buildx-private:develop stage: build script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} based on ${CORE_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; # Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64. # The only way to push multiple architectures to the same tag is to use buildx. - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG="$SANITIZED_ROLLING_BRANCH" -f dockerfile-kasm-$KASM_IMAGE . only: - schedules tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [chrome, chromium, firefox, firefox-mobile, tor-browser, edge, brave] CORE_IMAGE: [core-ubuntu-bionic, core-ubuntu-focal] build_schedules_app_images: image: ${ORG_NAME}/docker-buildx-private:develop stage: build script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} based on ${CORE_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; # Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64. # The only way to push multiple architectures to the same tag is to use buildx. - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG="$SANITIZED_ROLLING_BRANCH" -f dockerfile-kasm-$KASM_IMAGE . only: - schedules tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird] CORE_IMAGE: [core-ubuntu-bionic, core-ubuntu-focal] build_schedules_ubuntu_desktop_images: image: ${ORG_NAME}/docker-buildx-private:develop stage: build script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; # Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64. # The only way to push multiple architectures to the same tag is to use buildx. - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG="$SANITIZED_ROLLING_BRANCH" -f dockerfile-kasm-$KASM_IMAGE . only: - schedules tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [desktop, desktop-deluxe, ubuntu-focal-desktop, ubuntu-focal-dind, ubuntu-focal-dind-rootless] build_schedules_non_ubuntu: image: ${ORG_NAME}/docker-buildx-private:develop stage: build script: - BUILD_PLATFORM=$PLATFORM - if [[ "${ARM_BUILDS}" == *",${KASM_IMAGE},"* ]]; then BUILD_PLATFORM="linux/amd64,linux/arm64"; fi; - echo "Building ${KASM_IMAGE} for platforms ${BUILD_PLATFORM}" # to get qemu ready - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # to prepare the buildx env - docker buildx create --use # Ensure readme and description files are present - ls docs/$KASM_IMAGE/README.md - ls docs/$KASM_IMAGE/description.txt # Set base image based on kasm_image variable - if [[ $KASM_IMAGE =~ 'centos-7-desktop' ]]; then CORE_IMAGE=core-centos-7; fi - if [[ $KASM_IMAGE =~ 'tracelabs' ]]; then CORE_IMAGE=core-kali-rolling; fi - if [[ $KASM_IMAGE =~ 'oracle-7-desktop' ]]; then CORE_IMAGE=core-oracle-7; fi - if [[ $KASM_IMAGE =~ 'oracle-8-desktop' ]]; then CORE_IMAGE=core-oracle-8; fi - if [[ $KASM_IMAGE =~ 'opensuse-15-desktop' ]]; then CORE_IMAGE=core-opensuse-15; fi # Check for private variable to build against private core images - if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi; # Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64. # The only way to push multiple architectures to the same tag is to use buildx. - docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG="$SANITIZED_ROLLING_BRANCH" -f dockerfile-kasm-$KASM_IMAGE . only: - schedules tags: - aws-autoscale parallel: matrix: - KASM_IMAGE: [centos-7-desktop, tracelabs, opensuse-15-desktop, oracle-7-desktop, oracle-8-desktop] update_readmes: stage: readme script: - apk add git - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@${README_TEMPLATE_REPO} - sed -e "/{about}/r docs/$KASM_IMAGE/README.md" -e "/{about}/d" dockerhub-readme-template/TEMPLATE.md > docs/$KASM_IMAGE/FULL_README.md - cat docs/$KASM_IMAGE/FULL_README.md - docker run -v $PWD:/workspace -e DOCKER_USERNAME="$README_USERNAME" -e DOCKER_PASSWORD="$README_PASSWORD" -e DOCKERHUB_REPOSITORY="${ORG_NAME}/$KASM_IMAGE-private" -e README_FILEPATH="/workspace/docs/$KASM_IMAGE/FULL_README.md" -e DESCRIPTION_FILEPATH="/workspace/docs/$KASM_IMAGE/description.txt" ${ORG_NAME}/dockerhub-updater:latest - docker run -v $PWD:/workspace -e DOCKER_USERNAME="$README_USERNAME" -e DOCKER_PASSWORD="$README_PASSWORD" -e DOCKERHUB_REPOSITORY="${ORG_NAME}/$KASM_IMAGE" -e README_FILEPATH="/workspace/docs/$KASM_IMAGE/FULL_README.md" -e DESCRIPTION_FILEPATH="/workspace/docs/$KASM_IMAGE/description.txt" ${ORG_NAME}/dockerhub-updater:latest only: variables: - $README_USERNAME - $README_PASSWORD parallel: matrix: - KASM_IMAGE: [chrome, chromium, firefox, desktop, desktop-deluxe, firefox-mobile, tor-browser, doom, edge, terminal, vmware-horizon, remmina, rdesktop, brave, discord, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, ubuntu-focal-desktop, maltego, centos-7-desktop, telegram, hunchly, ubuntu-focal-dind, ubuntu-focal-dind-rootless, tracelabs, java-dev, oracle-7-desktop, oracle-8-desktop, opensuse-15-desktop, libre-office, thunderbird ]