setup-job.sh (1384B)
1 #!/bin/bash 2 set -eax 3 # Variables passed in: 4 # - CI_DIR: Path to contrib/ci 5 # - DISTRO: Distro Name (debian) 6 # - CODENAME: Codename to target 7 # - ARCH: Architecture to use 8 # - OCI_IMAGE: The OCI image we're expected to target 9 # - DISTRO_TARGET: The TARGET dir of the current distro (targets/debian) 10 # - CONTAINERFILE: Our input Containerfile 11 # Helper Scripts: 12 # - mktarget: Makes a target for us 13 14 # Generate the build target 15 cd "${CI_DIR}/jobs/$(mktarget 0 build)" 16 sed "1s|FROM .*|FROM ${OCI_IMAGE}|" "$CONTAINERFILE" > Containerfile 17 cp "$DISTRO_TARGET/build/build.sh" ./ 18 cp "$DISTRO_TARGET/build/job.sh" ./ 19 20 if [[ "$ARCH" != "amd64" ]]; then 21 echo '[build] 22 HALT_ON_FAILURE = True 23 WARN_ON_FAILURE = True 24 CONTAINER_BUILD = True 25 CONTAINER_NAME = exchange:'"$ARCH"' 26 CONTAINER_ARCH = '"$ARCH"' 27 ' > config.ini 28 fi; 29 30 # Generate the deb-package target 31 cd "${CI_DIR}/jobs/$(mktarget 1 deb-package)" 32 sed "1s|FROM .*|FROM ${OCI_IMAGE}|" "$CONTAINERFILE" > Containerfile 33 cp "$DISTRO_TARGET/deb-package/job.sh" ./ 34 35 if [[ "$ARCH" != "amd64" ]]; then 36 echo '[build] 37 HALT_ON_FAILURE = True 38 WARN_ON_FAILURE = True 39 CONTAINER_BUILD = True 40 CONTAINER_NAME = exchange:'"$ARCH"' 41 CONTAINER_ARCH = '"$ARCH"' 42 ' > config.ini 43 fi; 44 45 # Generate the upload target 46 cd "${CI_DIR}/jobs/$(mktarget 2 upload)" 47 cp "$DISTRO_TARGET/upload/config.ini" ./ 48 sed "s|trixie|$CODENAME|g" "$DISTRO_TARGET/upload/job.sh" > ./job.sh