#!/bin/bash #------------------------------------------------------------------------------ set -u declare OpMode=Standard declare BuildCmd= declare OSList= declare OS= declare DockerDir= declare DockerfileBase= declare DockerfileSDP= declare ScriptDir= declare WorkDir=${HOME}/podman_tmp declare -i ErrorCount=0 function msg () { echo -e "$*"; } function errmsg () { msg "\\nError: ${1:-Unknown Error}\\n"; ErrorCount+=1; } function bail () { errmsg "${1:-Unknown Error}"; exit "$ErrorCount"; } #------------------------------------------------------------------------------ # Build the Docker containers for the SDP - now using podman instead of docker # Usage: # build_docker_image.sh [<OS>] [-clean] # Usage Examples from from the root of the workspace (assuming mapping): # //guest/perforce_software/sdp/dev/... //YourID.test_sdp_dev.sdp/sdp/... # # sdp/test/build_docker_image.sh # sdp/test/build_docker_image.sh ubuntu20 # sdp/test/build_docker_image.sh centos7 ubuntu20 # sdp/test/build_docker_image.sh all # sdp/test/build_docker_image.sh ALL -clean # # Goes together with run_docker_tests.sh # This is provided as a useful tool for testing! # # Note that this file is expecting to be mapped into the root of the workspace # and with the sdp directory in the same root. # So workspace view should look something like: # View: # //guest/perforce_software/sdp/main/... //myws.sdp/sdp/... # This file should be in <workspace-root>/sdp/test/ # We calculate dir relative to directory of script ScriptDir="${0%/*}" # shellcheck disable=SC2164 root_dir="$(cd "$ScriptDir/../.."; pwd -P)" for arg in $(echo "$@" | tr ',' ' '); do case "$arg" in (-clean) OpMode=Clean;; (all) OSList="rocky9 ubuntu22";; (ALL) OSList="centos7 rocky8 rocky9 ubuntu20 ubuntu22";; (ubuntu20) OSList+="ubuntu20";; (ubuntu22) OSList+="ubuntu22";; (centos7) OSList+="centos7";; (rocky8) OSList+="rocky8";; (rocky9) OSList+="rocky9";; (-*) echo "Warning: Unknown option [$arg]." ;; (*) echo "Warning: Unknown OS [$arg]." OSList+="$arg" ;; esac done # Default is currently Rocky 9 only. [[ -z "$OSList" ]] && OSList="rocky9" mkdir -p "$WorkDir" || bail "Could not do: mkdir -p \"$WorkDir\"" export TMPDIR="$WorkDir" echo Building SDP docker containers for OS in $OSList; do DockerDir="$root_dir/sdp/test/docker" Dockerfile="${DockerDir}/Dockerfile.${OS}" # Build the base Docker for the OS, and then the SDP variant on top BuildCmd="podman build --rm=true -t=perforce/${OS} -f ${Dockerfile} ${DockerDir}" [[ "$OpMode" == Clean ]] && BuildCmd=${BuildCmd/--rm=true/--rm=true --no-cache} msg "Running: $BuildCmd" $BuildCmd || errmsg "Error building SDP container." done if [[ "$ErrorCount" -eq 0 ]]; then msg "\\nAll processing completed OK." else msg "\\nProcessing completed, but with $ErrorCount errors." fi exit "$ErrorCount"
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#7 | 30915 | C. Thomas Tyler |
Released SDP 2024.1.30913 (2024/11/20). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#6 | 30388 | C. Thomas Tyler |
Released SDP 2024.1.30385 (2024/06/11). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#5 | 30297 | C. Thomas Tyler |
Released SDP 2023.2.30295 (2024/05/08). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#4 | 28858 | C. Thomas Tyler |
Released SDP 2022.1.28855 (2022/05/27). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#3 | 28240 | C. Thomas Tyler |
Released SDP 2021.1.28238 (2021/11/12). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#2 | 27331 | C. Thomas Tyler |
Released SDP 2020.1.27325 (2021/01/29). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#1 | 25245 | C. Thomas Tyler |
Released SDP 2019.1.25238 (2019/03/02). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
//guest/perforce_software/sdp/dev/test/build_docker_image.sh | |||||
#2 | 25153 | Robert Cowham |
Change scripts to be able to be run from workspace root sdp/test/run_docker_tests.sh So no longer requires funny mapping in workspace view (see README.md for view) |
||
#1 | 25150 | Robert Cowham | Utiltiy script to help build docker images | ||
//guest/robert_cowham/perforce/sdp/test/build_docker_image.sh | |||||
#5 | 25116 | Robert Cowham | Docker compose tests starting to get there... | ||
#4 | 23433 | Robert Cowham | Got it working with basic ssh stuff if sshd run manually on a box | ||
#3 | 22485 | Robert Cowham |
Update python to 3.5 Refactor tests to simplify workspace (no mapping into root), and to allow easy setup |
||
#2 | 20827 | Robert Cowham | Default to centos6 for nowç | ||
#1 | 20813 | Robert Cowham | Using docker-compose |