release.sh 3.0 KB
Newer Older
1
#!/bin/bash
J
Joao Moreno 已提交
2
set -e
3

J
Joao Moreno 已提交
4 5 6
# Arguments
ARCH="$1"
LINUX_REPO_PASSWORD="$2"
D
Daniel Imms 已提交
7

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
# Variables
PLATFORM_LINUX="linux-$ARCH"
PLATFORM_DEB="linux-deb-$ARCH"
PLATFORM_RPM="linux-rpm-$ARCH"
[[ "$ARCH" == "ia32" ]] && DEB_ARCH="i386" || DEB_ARCH="amd64"
[[ "$ARCH" == "ia32" ]] && RPM_ARCH="i386" || RPM_ARCH="x86_64"
REPO="`pwd`"
ROOT="$REPO/.."
BUILDNAME="VSCode-$PLATFORM_LINUX"
BUILD="$ROOT/$BUILDNAME"
BUILD_VERSION="$(ls $REPO/.build/linux/deb/$DEB_ARCH/deb/ | sed -e 's/code-[a-z]*_//g' -e 's/\.deb$//g')"
[ -z "$VSCODE_QUALITY" ] && TARBALL_FILENAME="code-$BUILD_VERSION.tar.gz" || TARBALL_FILENAME="code-$VSCODE_QUALITY-$BUILD_VERSION.tar.gz"
TARBALL_PATH="$ROOT/$TARBALL_FILENAME"
PACKAGEJSON="$BUILD/resources/app/package.json"
VERSION=$(node -p "require(\"$PACKAGEJSON\").version")

rm -rf $ROOT/code-*.tar.*
J
Joao Moreno 已提交
25
(cd $ROOT && tar -czf $TARBALL_PATH $BUILDNAME)
26

J
Joao Moreno 已提交
27
node build/tfs/common/publish.js $VSCODE_QUALITY $PLATFORM_LINUX archive-unsigned $TARBALL_FILENAME $VERSION true $TARBALL_PATH
28 29 30 31

DEB_FILENAME="$(ls $REPO/.build/linux/deb/$DEB_ARCH/deb/)"
DEB_PATH="$REPO/.build/linux/deb/$DEB_ARCH/deb/$DEB_FILENAME"

J
Joao Moreno 已提交
32
node build/tfs/common/publish.js $VSCODE_QUALITY $PLATFORM_DEB package $DEB_FILENAME $VERSION true $DEB_PATH
33

J
Joao Moreno 已提交
34 35
# RPM_FILENAME="$(ls $REPO/.build/linux/rpm/$RPM_ARCH/ | grep .rpm)"
# RPM_PATH="$REPO/.build/linux/rpm/$RPM_ARCH/$RPM_FILENAME"
36

J
Joao Moreno 已提交
37
# node build/tfs/common/publish.js $VSCODE_QUALITY $PLATFORM_RPM package $RPM_FILENAME $VERSION true $RPM_PATH
38

D
Daniel Imms 已提交
39 40
# SNAP_FILENAME="$(ls $REPO/.build/linux/snap/$ARCH/ | grep .snap)"
# SNAP_PATH="$REPO/.build/linux/snap/$ARCH/$SNAP_FILENAME"
D
Daniel Imms 已提交
41

42 43
IS_FROZEN="$(node build/tfs/linux/frozen-check.js $VSCODE_QUALITY)"

44 45
if [ -z "$VSCODE_QUALITY" ]; then
	echo "VSCODE_QUALITY is not set, skipping repo package publish"
46 47
elif [ "$IS_FROZEN" = "true" ]; then
	echo "$VSCODE_QUALITY is frozen, skipping repo package publish"
48 49 50 51
else
	if [ "$BUILD_SOURCEBRANCH" = "master" ] || [ "$BUILD_SOURCEBRANCH" = "refs/heads/master" ]; then
		if [[ $BUILD_QUEUEDBY = *"Project Collection Service Accounts"* || $BUILD_QUEUEDBY = *"Microsoft.VisualStudio.Services.TFS"* ]]; then
			# Write config files needed by API, use eval to force environment variable expansion
J
Joao Moreno 已提交
52
			pushd build/tfs/linux
53 54
			# Submit to apt repo
			if [ "$DEB_ARCH" = "amd64" ]; then
J
Joao Moreno 已提交
55
				eval echo '{ \"server\": \"azure-apt-cat.cloudapp.net\", \"protocol\": \"https\", \"port\": \"443\", \"repositoryId\": \"58a4adf642421134a1a48d1a\", \"username\": \"vscode\", \"password\": \"$LINUX_REPO_PASSWORD\" }' > apt-config.json
56

J
Joao Moreno 已提交
57
				./repoapi_client.sh -config apt-config.json -addfile $DEB_PATH
58 59
			fi
			# Submit to yum repo (disabled as it's manual until signing is automated)
J
Joao Moreno 已提交
60
			# eval echo '{ \"server\": \"azure-apt-cat.cloudapp.net\", \"protocol\": \"https\", \"port\": \"443\", \"repositoryId\": \"58a4ae3542421134a1a48d1b\", \"username\": \"vscode\", \"password\": \"$LINUX_REPO_PASSWORD\" }' > yum-config.json
C
Christof Marti 已提交
61 62

			# ./repoapi_client.sh -config yum-config.json -addfile $RPM_PATH
63 64 65 66 67
			popd
			echo "To check repo publish status run ./repoapi_client.sh -config config.json -check <id>"
		fi
	fi
fi