xref: /aosp_15_r20/external/conscrypt/release/linux (revision cd0cc2e34ba52cdf454361820a14d744e4bd531d)
1*cd0cc2e3SAndroid Build Coastguard Worker#!/bin/sh
2*cd0cc2e3SAndroid Build Coastguard Worker#
3*cd0cc2e3SAndroid Build Coastguard Worker# Release automation script for Linux builds.  This should be run
4*cd0cc2e3SAndroid Build Coastguard Worker# first.  Must be run from the top-level conscrypt directory.
5*cd0cc2e3SAndroid Build Coastguard Worker
6*cd0cc2e3SAndroid Build Coastguard Workerset -e
7*cd0cc2e3SAndroid Build Coastguard Worker
8*cd0cc2e3SAndroid Build Coastguard Workerif [ -z "$1" ]; then
9*cd0cc2e3SAndroid Build Coastguard Worker  echo "Usage: $0 <version>"
10*cd0cc2e3SAndroid Build Coastguard Worker  exit 1
11*cd0cc2e3SAndroid Build Coastguard Workerfi
12*cd0cc2e3SAndroid Build Coastguard Worker
13*cd0cc2e3SAndroid Build Coastguard Worker# Replace the last numerical component of the release with and x, so
14*cd0cc2e3SAndroid Build Coastguard Worker# 1.2.3 becomes 1.2.x
15*cd0cc2e3SAndroid Build Coastguard WorkerBRANCH=$(echo "$1" | sed -E 's/([0-9]+[.][0-9]+[.])[0-9]+/\1x/')
16*cd0cc2e3SAndroid Build Coastguard Worker
17*cd0cc2e3SAndroid Build Coastguard Workergit checkout "$BRANCH"
18*cd0cc2e3SAndroid Build Coastguard Worker
19*cd0cc2e3SAndroid Build Coastguard Worker# Update the build.gradle file for the new version
20*cd0cc2e3SAndroid Build Coastguard Workersed -i 's/version = ".*"/version = "'"$1"'"/' build.gradle
21*cd0cc2e3SAndroid Build Coastguard Worker
22*cd0cc2e3SAndroid Build Coastguard Worker# Commit the build.gradle, tag the release, and push upstream
23*cd0cc2e3SAndroid Build Coastguard Workergit commit -a -m "Preparing version $1"
24*cd0cc2e3SAndroid Build Coastguard Workergit tag -a "$1" -m "Version $1"
25*cd0cc2e3SAndroid Build Coastguard Workergit push upstream "$BRANCH"
26*cd0cc2e3SAndroid Build Coastguard Workergit push upstream "$1"
27*cd0cc2e3SAndroid Build Coastguard Worker
28*cd0cc2e3SAndroid Build Coastguard Worker# Build and start the Docker container
29*cd0cc2e3SAndroid Build Coastguard WorkerCONTAINER_TAG="conscrypt-deploy-$1"
30*cd0cc2e3SAndroid Build Coastguard Workerdocker build -t $CONTAINER_TAG release
31*cd0cc2e3SAndroid Build Coastguard WorkerCONTAINER_ID=$(docker run -itd $CONTAINER_TAG)
32*cd0cc2e3SAndroid Build Coastguard Worker
33*cd0cc2e3SAndroid Build Coastguard Worker# Copy the relevant files from the host machine into the container
34*cd0cc2e3SAndroid Build Coastguard Workerdocker exec $CONTAINER_ID mkdir /root/.gradle
35*cd0cc2e3SAndroid Build Coastguard Workerdocker cp ~/.gnupg $CONTAINER_ID:/root/
36*cd0cc2e3SAndroid Build Coastguard Workerdocker cp ~/.gradle/gradle.properties $CONTAINER_ID:/root/.gradle/
37*cd0cc2e3SAndroid Build Coastguard Workerdocker cp "$(grep signingKeystore ~/.gradle/gradle.properties | cut -d= -f2)" $CONTAINER_ID:/root/certkeystore
38*cd0cc2e3SAndroid Build Coastguard Worker
39*cd0cc2e3SAndroid Build Coastguard Worker# Run the release automation script for the docker container
40*cd0cc2e3SAndroid Build Coastguard Workerdocker exec $CONTAINER_ID scl enable llvm-toolset-7 "/conscrypt/release/docker $1"
41