1*3c7ae9deSAndroid Build Coastguard Workerversion: 0.2 2*3c7ae9deSAndroid Build Coastguard Workerenv: 3*3c7ae9deSAndroid Build Coastguard Worker shell: bash 4*3c7ae9deSAndroid Build Coastguard Worker variables: 5*3c7ae9deSAndroid Build Coastguard Worker CANARY_DURATION: 25200 6*3c7ae9deSAndroid Build Coastguard Worker CANARY_THREADS: 3 7*3c7ae9deSAndroid Build Coastguard Worker CANARY_TPS: 50 8*3c7ae9deSAndroid Build Coastguard Worker CANARY_CLIENT_COUNT: 10 9*3c7ae9deSAndroid Build Coastguard Worker CANARY_LOG_FILE: 'canary_log.txt' 10*3c7ae9deSAndroid Build Coastguard Worker CANARY_LOG_LEVEL: 'Error' 11*3c7ae9deSAndroid Build Coastguard Worker PACKAGE_NAME: 'aws-crt-java' 12*3c7ae9deSAndroid Build Coastguard Worker CANARY_SERVER_ARN: Mqtt5MosquittoSever 13*3c7ae9deSAndroid Build Coastguard Worker CANARY_BUILD_S3_DST: mqtt5-canary/s3 14*3c7ae9deSAndroid Build Coastguard Worker CODEBUILD_TICKET_ITEM: "IoT SDK for Java" 15*3c7ae9deSAndroid Build Coastguard Workerphases: 16*3c7ae9deSAndroid Build Coastguard Worker install: 17*3c7ae9deSAndroid Build Coastguard Worker commands: 18*3c7ae9deSAndroid Build Coastguard Worker - add-apt-repository ppa:openjdk-r/ppa 19*3c7ae9deSAndroid Build Coastguard Worker - add-apt-repository ppa:ubuntu-toolchain-r/test 20*3c7ae9deSAndroid Build Coastguard Worker - apt-get update -y 21*3c7ae9deSAndroid Build Coastguard Worker - sudo apt-get install cmake -y 22*3c7ae9deSAndroid Build Coastguard Worker - git submodule update --init --recursive 23*3c7ae9deSAndroid Build Coastguard Worker # Install necessary lib for canary wrapper 24*3c7ae9deSAndroid Build Coastguard Worker - sudo apt-get install gcc python3-dev -y -f 25*3c7ae9deSAndroid Build Coastguard Worker - sudo apt-get install pip -y -f 26*3c7ae9deSAndroid Build Coastguard Worker - python3 -m pip install psutil 27*3c7ae9deSAndroid Build Coastguard Worker - python3 -m pip install boto3 28*3c7ae9deSAndroid Build Coastguard Worker build: 29*3c7ae9deSAndroid Build Coastguard Worker commands: 30*3c7ae9deSAndroid Build Coastguard Worker - echo Build started on `date` 31*3c7ae9deSAndroid Build Coastguard Worker - mvn install -DskipTests 32*3c7ae9deSAndroid Build Coastguard Worker # Get secrets needed 33*3c7ae9deSAndroid Build Coastguard Worker - export S3_DST=$(aws secretsmanager get-secret-value --secret-id "$CANARY_BUILD_S3_DST" --query "SecretString" | cut -f2,3 -d":" | sed -e 's/[\\\"\}]//g') 34*3c7ae9deSAndroid Build Coastguard Worker - export GIT_HASH=$(git rev-parse HEAD) 35*3c7ae9deSAndroid Build Coastguard Worker # Get the endpoint, certificate, and key for connecting to IoT Core 36*3c7ae9deSAndroid Build Coastguard Worker - export ENDPOINT=$(aws secretsmanager get-secret-value --secret-id ${CANARY_SERVER_ARN} --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g') 37*3c7ae9deSAndroid Build Coastguard Worker # Run the Canary 38*3c7ae9deSAndroid Build Coastguard Worker - cd ./utils/Canary 39*3c7ae9deSAndroid Build Coastguard Worker - python3 ../../codebuild/CanaryWrapper.py --canary_executable mvn --canary_arguments "compile exec:java -Dexec.mainClass=canary.mqtt5.Mqtt5Canary -Dexec.args=\"--endpoint \"${ENDPOINT}\" --port 1883 --seconds ${CANARY_DURATION} --threads ${CANARY_THREADS} --tps ${CANARY_TPS} --clients ${CANARY_CLIENT_COUNT}\" -Daws.crt.debugnative=true -Daws.crt.log.destination=Stdout -Daws.crt.log.level=${CANARY_LOG_LEVEL}" --git_hash ${GIT_HASH} --git_repo_name $PACKAGE_NAME --codebuild_log_path $CODEBUILD_LOG_PATH --ticket_item "${CODEBUILD_TICKET_ITEM}" 40*3c7ae9deSAndroid Build Coastguard Worker post_build: 41*3c7ae9deSAndroid Build Coastguard Worker commands: 42*3c7ae9deSAndroid Build Coastguard Worker - echo Build completed on `date` 43