#!/usr/bin/env bash # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). # You may not use this file except in compliance with the License. # A copy of the License is located at # # http://aws.amazon.com/apache2.0 # # or in the "license" file accompanying this file. This file is distributed # on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either # express or implied. See the License for the specific language governing # permissions and limitations under the License. set -eu source ./codebuild/bin/utils.sh # Disable PQ export S2N_NO_PQ=1 export AWS_S3_BUCKET="s3://s2n-tls-logs/" # Limit the number of child processes in the test run export XDIST_WORKERS=4 export RUST_BACKTRACE=1 export GIT_COMMIT=$(git log -n 1 --format="%h") export AWS_S3_REPORT_PATH="reports/${INTEGV2_TEST}/$(date +%Y%m%d_%H%M_${GIT_COMMIT})" # CodeBuild artifacts are too limited; # scipting the baseline download steps here. download_artifacts(){ mkdir -p ./tests/integrationv2/target/criterion || true echo "Downloading ${AWS_S3_BUCKET}${1}/${2}" pushd ./tests/integrationv2/target/criterion/ aws s3 cp "${AWS_S3_BUCKET}${1}/${2}" . unzip -o "${2}" echo "S3 download complete" popd } upload_report(){ cd tests/integrationv2/target/criterion echo "Uploading report to ${AWS_S3_BUCKET}/${AWS_S3_REPORT_PATH}" aws s3 sync . "${AWS_S3_BUCKET}${AWS_S3_REPORT_PATH}" echo "S3 upload complete" } # Fetch creds and the latest release number. gh_login s2n_codebuild_PRs LATEST_RELEASE_VER=$(get_latest_release) AWS_ZIPFILE="integv2criterion_${INTEGV2_TEST}_${LATEST_RELEASE_VER}.zip" AWS_S3_BASE_PATH="release" criterion_install_deps download_artifacts ${AWS_S3_BASE_PATH} ${AWS_ZIPFILE} echo "Current dir: $(pwd)" S2N_USE_CRITERION=delta make -C tests/integrationv2 "$INTEGV2_TEST" upload_report