1
0
mirror of https://github.com/rancher/os.git synced 2025-06-19 19:51:55 +00:00
os/scripts/release
Jan B 29f46a331a Switch initrd compression to gzip
Decompressing the gzip compressed initial ramdisk during boot takes only 1.5 seconds compared  to approx. 15 seconds with lzma. Drawback is an increased size of the image of about 25-30 MB,
2018-09-11 07:18:43 +08:00

109 lines
4.2 KiB
Bash
Executable File

#!/bin/bash
set -ex
cd $(dirname $0)/..
source ./scripts/version
export REPO_VERSION=$VERSION
if [[ -n "$DIRTY" || -z "$GIT_TAG" ]]; then
export REPO_VERSION=master
fi
export COMPRESS="gzip -9"
./scripts/ci
# from scripts/ci
echo PREPARE
./scripts/prepare
echo PACKAGE
./scripts/package
if [[ "$INTEGRATION_TESTS" != "" ]]; then
if [[ "$ARCH" == "" || "$ARCH" == "amd64" ]]; then
export INTEGRATION_TESTS=1
else
export INTEGRATION_TESTS=0
fi
fi
if [[ "$INTEGRATION_TESTS" != "1" ]]; then
echo INTEGRATION-TEST
./scripts/integration-test
else
echo "Skipping integration tests"
fi
#if [[ "$ARCH" == "" || "$ARCH" == "amd64" ]]; then
## make generated changelog
#lastrelease=$(hub release | grep -v rc | head -n1 | tr -d ' \r\n')
#git log --format="%s: %b" ${lastrelease}..${VERSION} | grep "Merge pull" | sed 's/.*\(#.*\) from .*:\(.*\)/* \1: \2/g' > dist/artifacts/changelog.txt
#fi
CHECKSUM="dist/checksums.txt"
rm -f $CHECKSUM
cat scripts/hosting/rancheros.ipxe | sed "s/latest/${VERSION}/g" > dist/artifacts/rancheros.ipxe
echo "github-release release --user rancher --repo os --tag ${VERSION} --pre-release --draft" > dist/publish.sh
chmod 755 dist/publish.sh
touch dist/publish_gss_${VERSION}.sh dist/publish_gss_latest.sh
chmod 755 dist/publish_gss_${VERSION}.sh dist/publish_gss_latest.sh
for file in $(ls dist/artifacts/); do
case $file in
*"installer.tar" | "Dockerfile"*)
;;
"initrd-"*)
echo "github-release upload --user rancher --repo os --tag ${VERSION} --file ./dist/artifacts/${file} --name initrd" >> dist/publish.sh
echo "gsutil cp dist/artifacts/${file} gs://releases.rancher.com/os/latest/initrd" >> ./dist/publish_gss_latest.sh
echo "gsutil cp dist/artifacts/${file} gs://releases.rancher.com/os/${VERSION}/initrd" >> ./dist/publish_gss_${VERSION}.sh
;;
"vmlinuz-"*)
echo "github-release upload --user rancher --repo os --tag ${VERSION} --file ./dist/artifacts/${file} --name vmlinuz" >> dist/publish.sh
echo "gsutil cp dist/artifacts/${file} gs://releases.rancher.com/os/latest/vmlinuz" >> ./dist/publish_gss_latest.sh
echo "gsutil cp dist/artifacts/${file} gs://releases.rancher.com/os/${VERSION}/vmlinuz" >> ./dist/publish_gss_${VERSION}.sh
;;
*)
echo "github-release upload --user rancher --repo os --tag ${VERSION} --file ./dist/artifacts/${file} --name ${file}" >> dist/publish.sh
echo "gsutil cp dist/artifacts/${file} gs://releases.rancher.com/os/latest/${file}" >> ./dist/publish_gss_latest.sh
echo "gsutil cp dist/artifacts/${file} gs://releases.rancher.com/os/${VERSION}/${file}" >> ./dist/publish_gss_${VERSION}.sh
;;
esac
#checksums
pushd .
cd dist/artifacts
for algo in sha256 md5; do
echo "$algo: $(${algo}sum $file)" >> ../../$CHECKSUM
done
popd
done
echo "github-release upload --user rancher --repo os --tag ${VERSION} --file dist/release.log --name release.log" >> dist/publish.sh
for extra_file in rancheros-openstack.img rancheros-digitalocean.img; do
echo "github-release upload --user rancher --repo os --tag ${VERSION} --file ./dist/artifacts/${extra_file} --name ${extra_file}" >> dist/publish.sh
echo "gsutil cp dist/artifacts/${extra_file} gs://releases.rancher.com/os/latest/${extra_file}" >> ./dist/publish_gss_latest.sh
echo "gsutil cp dist/artifacts/${extra_file} gs://releases.rancher.com/os/${VERSION}/${extra_file}" >> ./dist/publish_gss_${VERSION}.sh
done
# openstack image is made later atm
#pushd .
#cd dist
#for algo in sha256 md5; do
# echo "$algo: $(${algo}sum rancheros-openstack.img)" >> ../../$CHECKSUM
#done
#popd
echo "github-release upload --user rancher --repo os --tag ${VERSION} --file ${CHECKSUM} --name checksums.txt" >> dist/publish.sh
#echo "github-release upload --user rancher --repo os --tag ${VERSION} --file dist/artifacts/changelog.txt --name changelog.txt" >> dist/publish.sh
echo >> dist/publish.sh
cat dist/images | sed 's/^/docker push /' >> dist/publish.sh
echo "--- Run dist/publish.sh"
cat dist/publish.sh
echo "--- Run dist/publish_gss.sh"
cat dist/publish_gss_latest.sh
cat dist/publish_gss_${VERSION}.sh