Skip to content

Commit 59ccac1

Browse files
New CodeBuild workflow (#328)
Use new CodeBuild workflow
1 parent 922f917 commit 59ccac1

File tree

8 files changed

+120
-9
lines changed

8 files changed

+120
-9
lines changed

codebuild/samples/connect-linux.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
#!/bin/bash
22

33
set -e
4+
set -o pipefail
45

56
env
67

78
pushd $CODEBUILD_SRC_DIR/samples/BasicConnect
89

9-
ENDPOINT=$(aws secretsmanager get-secret-value --secret-id "unit-test/endpoint" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
10+
ENDPOINT=$(aws secretsmanager get-secret-value --secret-id "ci/endpoint" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
1011

1112
mvn compile
1213

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
3+
set -e
4+
set -o pipefail
5+
6+
env
7+
8+
pushd $CODEBUILD_SRC_DIR/samples/CustomAuthorizerConnect
9+
10+
ENDPOINT=$(aws secretsmanager get-secret-value --secret-id "ci/endpoint" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
11+
AUTH_NAME=$(aws secretsmanager get-secret-value --secret-id "ci/CustomAuthorizer/name" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
12+
AUTH_PASSWORD=$(aws secretsmanager get-secret-value --secret-id "ci/CustomAuthorizer/password" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
13+
14+
mvn compile
15+
16+
echo "Mqtt Connect with Custom Authorizer test"
17+
mvn exec:java -Dexec.mainClass="customauthorizerconnect.CustomAuthorizerConnect" -Daws.crt.ci="True" -Dexec.arguments="--endpoint,$ENDPOINT,--custom_auth_authorizer_name,$AUTH_NAME,--custom_auth_password,$AUTH_PASSWORD"
18+
19+
popd
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
3+
set -e
4+
set -o pipefail
5+
env
6+
7+
pushd $CODEBUILD_SRC_DIR/samples/CustomKeyOpsPubSub
8+
9+
ENDPOINT=$(aws secretsmanager get-secret-value --secret-id "ci/endpoint" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
10+
11+
mvn compile
12+
13+
echo "Custom Key Ops test"
14+
mvn exec:java -Dexec.mainClass="customkeyopspubsub.CustomKeyOpsPubSub" -Daws.crt.ci="True" -Dexec.arguments="--endpoint,$ENDPOINT,--key,/tmp/privatekey_p8.pem,--cert,/tmp/certificate.pem"
15+
16+
popd

codebuild/samples/linux-smoke-tests.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,29 @@
1+
# Assumes are running using the Ubuntu Codebuild standard image
2+
# NOTE: This script assumes that the AWS CLI-V2 is pre-installed!
3+
# - AWS CLI-V2 is a requirement to run this script.
14
version: 0.2
2-
#this build spec assumes the ubuntu aws/codebuild/java:openjdk-8 image
35
phases:
46
install:
57
commands:
68
- sudo add-apt-repository ppa:openjdk-r/ppa
79
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test
810
- sudo apt-get update -y
9-
- curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "/tmp/awscliv2.zip"
10-
- unzip -q -d /tmp /tmp/awscliv2.zip
11-
- sudo /tmp/aws/install
11+
- sudo apt-get install softhsm -y
12+
- echo "\nBuild version data:"
13+
- echo "\nJava Version:"; java -version
14+
- echo "\nMaven Version:"; mvn --version
15+
- echo "\nSoftHSM (PKCS11) version:"; softhsm2-util --version
16+
- echo "\n"
1217
build:
1318
commands:
1419
- echo Build started on `date`
1520
- $CODEBUILD_SRC_DIR/codebuild/samples/setup-linux.sh
1621
- $CODEBUILD_SRC_DIR/codebuild/samples/connect-linux.sh
22+
- $CODEBUILD_SRC_DIR/codebuild/samples/custom-auth-linux.sh
23+
- $CODEBUILD_SRC_DIR/codebuild/samples/custom-key-ops-linux.sh
24+
- $CODEBUILD_SRC_DIR/codebuild/samples/pkcs11-connect-linux.sh
25+
- $CODEBUILD_SRC_DIR/codebuild/samples/pubsub-linux.sh
26+
- $CODEBUILD_SRC_DIR/codebuild/samples/shadow-linux.sh
1727
post_build:
1828
commands:
1929
- echo Build completed on `date`
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
3+
set -e
4+
set -o pipefail
5+
6+
pushd $CODEBUILD_SRC_DIR/samples/Pkcs11Connect
7+
8+
ENDPOINT=$(aws secretsmanager get-secret-value --secret-id "ci/endpoint" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
9+
10+
# from hereon commands are echoed. don't leak secrets
11+
set -x
12+
13+
softhsm2-util --version
14+
15+
# SoftHSM2's default tokendir path might be invalid on this machine
16+
# so set up a conf file that specifies a known good tokendir path
17+
mkdir -p /tmp/tokens
18+
export SOFTHSM2_CONF=/tmp/softhsm2.conf
19+
echo "directories.tokendir = /tmp/tokens" > /tmp/softhsm2.conf
20+
21+
# create token
22+
softhsm2-util --init-token --free --label my-token --pin 0000 --so-pin 0000
23+
24+
# add private key to token (must be in PKCS#8 format)
25+
openssl pkcs8 -topk8 -in /tmp/privatekey.pem -out /tmp/privatekey.p8.pem -nocrypt
26+
softhsm2-util --import /tmp/privatekey.p8.pem --token my-token --label my-key --id BEEFCAFE --pin 0000
27+
28+
# run sample
29+
mvn exec:java -Dexec.mainClass="pkcs11connect.Pkcs11Connect" -Daws.crt.ci="True" -Dexec.arguments="--endpoint,$ENDPOINT,--cert,/tmp/certificate.pem,--pkcs11_lib,/usr/lib/softhsm/libsofthsm2.so,--pin,0000,--token_label,my-token,--key_label,my-key"
30+
31+
popd

codebuild/samples/pubsub-linux.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
set -e
4+
set -o pipefail
5+
6+
env
7+
8+
pushd $CODEBUILD_SRC_DIR/samples/BasicPubSub
9+
10+
ENDPOINT=$(aws secretsmanager get-secret-value --secret-id "ci/endpoint" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
11+
12+
mvn compile
13+
14+
echo "Basic PubSub test"
15+
mvn exec:java -Dexec.mainClass="pubsub.PubSub" -Daws.crt.ci="True" -Dexec.arguments="--endpoint,$ENDPOINT,--key,/tmp/privatekey.pem,--cert,/tmp/certificate.pem"
16+
17+
popd

codebuild/samples/setup-linux.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22

33
set -e
4+
set -o pipefail
45

56
env
67

@@ -11,7 +12,6 @@ ulimit -c unlimited
1112
mvn compile
1213
mvn install -DskipTests=true
1314

14-
cert=$(aws secretsmanager get-secret-value --secret-id "unit-test/certificate" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\") && echo -e "$cert" > /tmp/certificate.pem
15-
key=$(aws secretsmanager get-secret-value --secret-id "unit-test/privatekey" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\") && echo -e "$key" > /tmp/privatekey.pem
16-
key_p8=$(aws secretsmanager get-secret-value --secret-id "unit-test/privatekey-p8" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\") && echo -e "$key_p8" > /tmp/privatekey_p8.pem
17-
15+
cert=$(aws secretsmanager get-secret-value --secret-id "ci/CodeBuild/cert" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\") && echo -e "$cert" > /tmp/certificate.pem
16+
key=$(aws secretsmanager get-secret-value --secret-id "ci/CodeBuild/key" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\") && echo -e "$key" > /tmp/privatekey.pem
17+
key_p8=$(aws secretsmanager get-secret-value --secret-id "ci/CodeBuild/keyp8" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\") && echo -e "$key_p8" > /tmp/privatekey_p8.pem

codebuild/samples/shadow-linux.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
set -e
4+
set -o pipefail
5+
6+
env
7+
8+
pushd $CODEBUILD_SRC_DIR/samples/Shadow
9+
10+
ENDPOINT=$(aws secretsmanager get-secret-value --secret-id "ci/endpoint" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
11+
12+
mvn compile
13+
14+
echo "Shadow test"
15+
mvn exec:java -Dexec.mainClass="shadow.ShadowSample" -Daws.crt.ci="True" -Dexec.arguments="--endpoint,$ENDPOINT,--key,/tmp/privatekey.pem,--cert,/tmp/certificate.pem,--thing_name,CI_CodeBuild_Thing"
16+
17+
popd

0 commit comments

Comments
 (0)