1
0
mirror of https://github.com/rancher/os.git synced 2025-08-17 06:17:35 +00:00
os/scripts/package
Darren Shepherd 5675644d9f Add operator
2021-10-20 10:58:54 -07:00

66 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
set -e
source $(dirname $0)/version
cd $(dirname $0)/..
export TAG
make build
make iso
if [ -n "$DOCKER_PASSWORD" ]; then
docker login -u "$DOCKER_USERNAME" -p "${DOCKER_PASSWORD}"
PUSH=true
fi
if [ "$PUSH" = "true" ]; then
make push
make push-framework
fi
if [ "$PUSH" = "true" ] && [ -n "$AWS_SECRET_ACCESS_KEY" ]; then
IMAGE_TARGETS="${IMAGE_TARGETS} all-amis"
fi
export GIT_COMMIT=${COMMIT}
if [ -n "${IMAGE_TARGETS}" ]; then
make -j8 ${IMAGE_TARGETS}
fi
isoinfo -x /rootfs.squashfs -R -i build/output.iso > build/output.squashfs
isoinfo -x /boot/kernel.xz -R -i build/output.iso > build/output-kernel
isoinfo -x /boot/rootfs.xz -R -i build/output.iso > build/output-initrd
RELEASE_URL=${RELEASE_URL:-https://github.com/rancher/os/releases/download}
INSTALL_CFG=${RELEASE_URL}/${VERSION}/example-cloud-init
PXE_ASSET_VERSION="\${version}-\${arch}"
if [ "${TAG}" = "dev" ]; then
RELEASE_URL=tftp://10.0.2.2
INSTALL_CFG=
VERSION=${TAG}
PXE_ASSET_VERSION=${TAG}
fi
./scripts/package-helm
cat > build/output.ipxe << EOF
#!ipxe
set arch ${ARCH}
set version ${VERSION}
set url ${RELEASE_URL}/\${version}
set kernel rancheros-${PXE_ASSET_VERSION}-kernel
set initrd rancheros-${PXE_ASSET_VERSION}-initrd
set rootfs rancheros-${PXE_ASSET_VERSION}.squashfs
kernel \${url}/\${kernel} initrd=\${initrd} ip=dhcp rd.cos.disable root=live:\${url}/\${rootfs} rancheros.install.automatic=true rancheros.install.config_url=\${config} console=tty1 console=ttyS0
initrd \${url}/\${initrd}
boot
EOF
mkdir -p dist/artifacts
for i in build/output*; do
mv -f $i dist/artifacts/rancheros-${TAG}${i##build/output}
echo Built: dist/artifacts/rancheros-${TAG}${i##build/output}
done