vscodium/prepare_artifacts.sh

187 lines
5.4 KiB
Bash
Raw Normal View History

2021-10-01 19:47:10 +03:00
#!/bin/bash
set -e
npm install -g checksum
sum_file() {
if [[ -f "${1}" ]]; then
echo "Calcuating checksum for ${1}"
checksum -a sha256 "${1}" > "${1}".sha256
checksum "${1}" > "${1}".sha1
2021-10-01 19:47:10 +03:00
fi
}
2022-08-29 22:56:51 +03:00
mkdir -p artifacts
2021-10-01 19:47:10 +03:00
if [[ "${OS_NAME}" == "osx" ]]; then
if [[ "${CI_BUILD}" != "no" ]]; then
cd "VSCode-darwin-${VSCODE_ARCH}"
CERTIFICATE_P12=VSCodium.p12
CODIUM_KEYCHAIN="${RUNNER_TEMP}/build.keychain"
DEFAULT_KEYCHAIN="$(security default-keychain | sed -E 's|^.*/([^/]+)\-db"$|\1|')"
echo "${CERTIFICATE_OSX_P12}" | base64 --decode > "${CERTIFICATE_P12}"
2022-09-12 13:14:30 +03:00
security default-keychain
security create-keychain -p mysecretpassword "${CODIUM_KEYCHAIN}"
2022-09-12 13:14:30 +03:00
# security default-keychain -s "${CODIUM_KEYCHAIN}"
security unlock-keychain -p mysecretpassword "${CODIUM_KEYCHAIN}"
2022-09-12 13:14:30 +03:00
echo "import"
security import "${CERTIFICATE_P12}" -k "${CODIUM_KEYCHAIN}" -P "${CERTIFICATE_OSX_PASSWORD}" -T /usr/bin/codesign
2022-09-12 13:14:30 +03:00
echo "set-key-partition-list"
security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword "${CODIUM_KEYCHAIN}"
2022-09-12 13:14:30 +03:00
echo "codesign"
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
codesign --deep --force --verbose --sign "${CERTIFICATE_OSX_ID}" "VSCodium - Insiders.app"
else
codesign --deep --force --verbose --sign "${CERTIFICATE_OSX_ID}" "VSCodium.app"
fi
cd ..
fi
2021-10-01 19:47:10 +03:00
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
echo "Building and moving ZIP"
cd "VSCode-darwin-${VSCODE_ARCH}"
2022-08-16 14:51:45 +03:00
zip -r -X -y "../artifacts/VSCodium-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ./*.app
2021-10-01 19:47:10 +03:00
cd ..
fi
if [[ "${SHOULD_BUILD_DMG}" != "no" ]]; then
echo "Building and moving DMG"
pushd "VSCode-darwin-${VSCODE_ARCH}"
2022-08-29 22:56:51 +03:00
npx create-dmg ./*.app ..
mv ../*.dmg "../artifacts/VSCodium.${VSCODE_ARCH}.${RELEASE_VERSION}.dmg"
2021-10-01 19:47:10 +03:00
popd
fi
2022-06-08 17:59:06 +03:00
2022-09-12 13:14:30 +03:00
if [[ "${CI_BUILD}" != "no" ]]; then
# put back old keychain
security delete-keychain "${CODIUM_KEYCHAIN}"
security default-keychain -s "${DEFAULT_KEYCHAIN}"
fi
2022-06-08 17:59:06 +03:00
VSCODE_PLATFORM="darwin"
2021-10-01 19:47:10 +03:00
elif [[ "${OS_NAME}" == "windows" ]]; then
cd vscode || { echo "'vscode' dir not found"; exit 1; }
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-archive"
fi
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-user-setup"
fi
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
. ../build/windows/msi/build.sh
fi
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
. ../build/windows/msi/build-updates-disabled.sh
fi
fi
cd ..
2021-10-01 19:47:10 +03:00
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
echo "Moving ZIP"
2022-08-16 14:51:45 +03:00
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip" "artifacts\\VSCodium-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip"
2021-10-01 19:47:10 +03:00
fi
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
echo "Moving System EXE"
2022-08-16 14:51:45 +03:00
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe" "artifacts\\VSCodiumSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
2021-10-01 19:47:10 +03:00
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
echo "Moving User EXE"
2022-08-16 14:51:45 +03:00
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe" "artifacts\\VSCodiumUserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
2021-10-01 19:47:10 +03:00
fi
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
echo "Moving MSI"
2022-08-16 14:51:45 +03:00
mv "build\\windows\\msi\\releasedir\\VSCodium-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" artifacts/
2021-10-01 19:47:10 +03:00
fi
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
echo "Moving MSI with disabled updates"
2022-08-16 14:51:45 +03:00
mv "build\\windows\\msi\\releasedir\\VSCodium-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" artifacts/
2021-10-01 19:47:10 +03:00
fi
fi
2022-06-08 17:59:06 +03:00
VSCODE_PLATFORM="win32"
2021-10-01 19:47:10 +03:00
else
cd vscode || { echo "'vscode' dir not found"; exit 1; }
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
. ../build/linux/appimage/build.sh
fi
cd ..
2021-10-01 19:47:10 +03:00
if [[ "${SHOULD_BUILD_TAR}" != "no" ]]; then
echo "Building and moving TAR"
cd "VSCode-linux-${VSCODE_ARCH}"
2022-08-16 14:51:45 +03:00
tar czf "../artifacts/VSCodium-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
2021-10-01 19:47:10 +03:00
cd ..
fi
if [[ "${SHOULD_BUILD_DEB}" != "no" ]]; then
echo "Moving DEB"
mv vscode/.build/linux/deb/*/deb/*.deb artifacts/
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
echo "Moving RPM"
mv vscode/.build/linux/rpm/*/*.rpm artifacts/
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
echo "Moving AppImage"
mv build/linux/appimage/out/*.AppImage* artifacts/
2022-08-29 22:56:51 +03:00
find artifacts -name '*.AppImage*' -exec bash -c 'mv $0 ${0/_-_/-}' {} \;
2021-10-01 19:47:10 +03:00
fi
2022-06-08 17:59:06 +03:00
VSCODE_PLATFORM="linux"
fi
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
echo "Building and moving REH"
cd "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
2022-08-16 14:51:45 +03:00
tar czf "../artifacts/vscodium-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
2022-06-08 17:59:06 +03:00
cd ..
2021-10-01 19:47:10 +03:00
fi
cd artifacts
for FILE in *
do
if [[ -f "${FILE}" ]]; then
sum_file "${FILE}"
fi
done
cd ..