version: 0.2 phases: install: commands: - export CI=true - export CODEBUILD=true - export CODEBUILD_ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text) - export CODEBUILD_GIT_BRANCH="$(git symbolic-ref HEAD --short 2>/dev/null)" - if [ "$CODEBUILD_GIT_BRANCH" = "" ] ; then CODEBUILD_GIT_BRANCH="$(git branch -a --contains HEAD | sed -n 2p | awk '{ printf $1 }')"; export CODEBUILD_GIT_BRANCH=${CODEBUILD_GIT_BRANCH#remotes/origin/}; fi - export CODEBUILD_GIT_CLEAN_BRANCH="$(echo $CODEBUILD_GIT_BRANCH | tr '/' '.')" - export CODEBUILD_GIT_ESCAPED_BRANCH="$(echo $CODEBUILD_GIT_CLEAN_BRANCH | sed -e 's/[]\/$*.^[]/\\\\&/g')" - export CODEBUILD_GIT_MESSAGE="$(git log -1 --pretty=%B)" - export CODEBUILD_GIT_AUTHOR="$(git log -1 --pretty=%an)" - export CODEBUILD_GIT_AUTHOR_EMAIL="$(git log -1 --pretty=%ae)" - export CODEBUILD_GIT_COMMIT="$(git log -1 --pretty=%H)" - export CODEBUILD_GIT_SHORT_COMMIT=$(echo $CODEBUILD_SOURCE_VERSION | cut -c 1-7) - export CODEBUILD_GIT_TAG="$(git describe --tags --exact-match 2>/dev/null)" - export CODEBUILD_GIT_MOST_RECENT_TAG="$(git describe --tags --abbrev=0)" - export CODEBUILD_PULL_REQUEST=false - case "${CODEBUILD_SOURCE_VERSION}" in *pr/* ) echo "pull request"; export PULL_REQUEST=$(echo ${CODEBUILD_SOURCE_VERSION} | tr / -); export CODEBUILD_PULL_REQUEST="${PULL_REQUEST}"; export CODEBUILD_GIT_CLEAN_BRANCH=${CODEBUILD_PULL_REQUEST}; ;; * ) echo "not pull request";; esac - if [ "${CODEBUILD_SOURCE_VERSION}" = *"pr/"* ]; then echo "pull request"; export PULL_REQUEST=$(echo ${CODEBUILD_SOURCE_VERSION} | tr / -); export CODEBUILD_PULL_REQUEST="${CODEBUILD_GIT_BRANCH}-${PULL_REQUEST}"; export CODEBUILD_GIT_CLEAN_BRANCH=${CODEBUILD_GIT_CLEAN_BRANCH}; else echo "not pull request"; fi #- if [ "${CODEBUILD_GIT_BRANCH#pr-}" != "$CODEBUILD_GIT_BRANCH" ] ; then # export CODEBUILD_PULL_REQUEST=${CODEBUILD_GIT_BRANCH#pr-}; # fi - export CODEBUILD_PROJECT=${CODEBUILD_BUILD_ID%:$CODEBUILD_LOG_PATH} - export CODEBUILD_BUILD_URL=https://$AWS_DEFAULT_REGION.console.aws.amazon.com/codebuild/home?region=$AWS_DEFAULT_REGION#/builds/$CODEBUILD_BUILD_ID/view/new - export IMAGE_TAG=$CODEBUILD_GIT_SHORT_COMMIT - export ACCOUNT=$CODEBUILD_ACCOUNT_ID - echo "==> AWS CodeBuild Extra Environment Variables:" - echo "==> CI = $CI" - echo "==> CODEBUILD = $CODEBUILD" - echo "==> CODEBUILD_ACCOUNT_ID = $CODEBUILD_ACCOUNT_ID" - echo "==> CODEBUILD_GIT_AUTHOR = $CODEBUILD_GIT_AUTHOR" - echo "==> CODEBUILD_GIT_AUTHOR_EMAIL = $CODEBUILD_GIT_AUTHOR_EMAIL" - echo "==> CODEBUILD_GIT_BRANCH = $CODEBUILD_GIT_BRANCH" - echo "==> CODEBUILD_GIT_CLEAN_BRANCH = $CODEBUILD_GIT_CLEAN_BRANCH" - echo "==> CODEBUILD_GIT_ESCAPED_BRANCH = $CODEBUILD_GIT_ESCAPED_BRANCH" - echo "==> CODEBUILD_GIT_COMMIT = $CODEBUILD_GIT_COMMIT" - echo "==> CODEBUILD_GIT_SHORT_COMMIT = $CODEBUILD_GIT_SHORT_COMMIT" - echo "==> CODEBUILD_GIT_MESSAGE = $CODEBUILD_GIT_MESSAGE" - echo "==> CODEBUILD_GIT_TAG = $CODEBUILD_GIT_TAG" - echo "==> CODEBUILD_GIT_MOST_RECENT_TAG = $CODEBUILD_GIT_MOST_RECENT_TAG" - echo "==> CODEBUILD_PROJECT = $CODEBUILD_PROJECT" - echo "==> CODEBUILD_PULL_REQUEST = $CODEBUILD_PULL_REQUEST" - if [ "$CODEBUILD_GIT_CLEAN_BRANCH" = "master" ] ; then export DEPLOY_DIR='/'; else export DEPLOY_DIR=${CODEBUILD_GIT_CLEAN_BRANCH}; fi - echo '***** This is the current env:' - printenv - ls -lah - pwd build: commands: - npm install - npm run theme - echo "

${IMAGE_TAG}

" >> layouts/partials/menu-footer.html - cat layouts/partials/menu-footer.html - if [ "${CODEBUILD_GIT_CLEAN_BRANCH}" != "master" ] ; then sed -i "s@branch =.*@branch = \"$CODEBUILD_GIT_CLEAN_BRANCH\"@" config.toml; fi - cat config.toml - npm run build - npm run deploytemplates - curl https://api.github.com/rate_limit - if [ "$CODEBUILD_GIT_CLEAN_BRANCH" = "master" ] ; then npm run test; else echo skipping this test docker run -v $PWD/public/:/public 18fgsa/html-proofer /public --empty-alt-ignore --allow-hash-href --url-swap "/$CODEBUILD_GIT_CLEAN_BRANCH:" --external-only; fi - curl https://api.github.com/rate_limit post_build: commands: - if [ "${CODEBUILD_BUILD_SUCCEEDING}" != "1" ] ; then echo "the build failed -- not continuing with post build"; exit 99; fi - ./codebuild-deploy.sh