xref: /aosp_15_r20/external/aws-crt-java/codebuild/cd/promote-release.yml (revision 3c7ae9de214676c52d19f01067dc1a404272dc11)
1*3c7ae9deSAndroid Build Coastguard Workerversion: 0.2
2*3c7ae9deSAndroid Build Coastguard Worker#this buildspec assumes the aws-common-runtime/ubuntu-16.04 image
3*3c7ae9deSAndroid Build Coastguard Worker# This job is responsible for artifacting the JAR which will have all of the other shared libs stuffed
4*3c7ae9deSAndroid Build Coastguard Worker# into it once all platforms are built and artifacted
5*3c7ae9deSAndroid Build Coastguard Workerphases:
6*3c7ae9deSAndroid Build Coastguard Worker  install:
7*3c7ae9deSAndroid Build Coastguard Worker    commands:
8*3c7ae9deSAndroid Build Coastguard Worker      - sudo add-apt-repository ppa:openjdk-r/ppa
9*3c7ae9deSAndroid Build Coastguard Worker      - sudo apt-get update -y
10*3c7ae9deSAndroid Build Coastguard Worker      - sudo apt-get install openjdk-8-jdk-headless maven -y -f
11*3c7ae9deSAndroid Build Coastguard Worker
12*3c7ae9deSAndroid Build Coastguard Worker  pre_build:
13*3c7ae9deSAndroid Build Coastguard Worker    commands:
14*3c7ae9deSAndroid Build Coastguard Worker      - cd $CODEBUILD_SRC_DIR/aws-crt-java
15*3c7ae9deSAndroid Build Coastguard Worker      - export PKG_VERSION=$(git describe --tags | cut -f2 -dv)
16*3c7ae9deSAndroid Build Coastguard Worker      - echo PKG_VERSION=$PKG_VERSION
17*3c7ae9deSAndroid Build Coastguard Worker      # install settings.xml to ~/.m2/settings.xml
18*3c7ae9deSAndroid Build Coastguard Worker      - mkdir -p $HOME/.m2
19*3c7ae9deSAndroid Build Coastguard Worker      - aws s3 cp s3://code-sharing-aws-crt/aws-crt-java.settings.xml $HOME/.m2/settings.xml
20*3c7ae9deSAndroid Build Coastguard Worker      # import gpg key
21*3c7ae9deSAndroid Build Coastguard Worker      - aws s3 cp s3://code-sharing-aws-crt/aws-sdk-common-runtime.key.asc /tmp/aws-sdk-common-runtime.key.asc
22*3c7ae9deSAndroid Build Coastguard Worker      - gpg --import /tmp/aws-sdk-common-runtime.key.asc
23*3c7ae9deSAndroid Build Coastguard Worker      - export GPG_PASSPHRASE=$(aws --query "SecretString" secretsmanager get-secret-value --secret-id aws-sdk-common-runtime.key.asc/password | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
24*3c7ae9deSAndroid Build Coastguard Worker      - export REPOSITORY_ID=$(cat $CODEBUILD_SRC_DIR_aws_crt/repositoryId.txt)
25*3c7ae9deSAndroid Build Coastguard Worker      - export ANDROID_REPOSITORY_ID=$(cat $CODEBUILD_SRC_DIR_aws_crt/android_repositoryId.txt)
26*3c7ae9deSAndroid Build Coastguard Worker      - export ST_PASSWORD=$(aws --query "SecretString" secretsmanager get-secret-value --secret-id Sonatype/JIRA/Password | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
27*3c7ae9deSAndroid Build Coastguard Worker      # Use the password from secret manager to update the settings
28*3c7ae9deSAndroid Build Coastguard Worker      - sed -i 's/password-to-replace/'"$ST_PASSWORD"'/g' $HOME/.m2/settings.xml
29*3c7ae9deSAndroid Build Coastguard Worker  build:
30*3c7ae9deSAndroid Build Coastguard Worker    commands:
31*3c7ae9deSAndroid Build Coastguard Worker      - cd $CODEBUILD_SRC_DIR/aws-crt-java
32*3c7ae9deSAndroid Build Coastguard Worker      # Trigger the release of the last staged package in the staging repository
33*3c7ae9deSAndroid Build Coastguard Worker      - mvn -B nexus-staging:release -Prelease -DstagingRepositoryId=$REPOSITORY_ID
34*3c7ae9deSAndroid Build Coastguard Worker      - mvn -B nexus-staging:release -Prelease -DstagingRepositoryId=$ANDROID_REPOSITORY_ID
35*3c7ae9deSAndroid Build Coastguard Worker  post_build:
36*3c7ae9deSAndroid Build Coastguard Worker    commands:
37*3c7ae9deSAndroid Build Coastguard Worker
38*3c7ae9deSAndroid Build Coastguard Workercache:
39*3c7ae9deSAndroid Build Coastguard Worker  paths:
40*3c7ae9deSAndroid Build Coastguard Worker    - "/root/.m2/**/*"
41