├── .github └── FUNDING.yml ├── README.md ├── buildspec.yml └── install /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [thii] 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # aws-codebuild-extras ![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiUkxsV0l4UDBkWmh1Z1NIbm9wTENycVl4d1pDTTYrc1I3dzhFSlQ1QWFQdDl1Tm10NGduZklrTWVON1Vock5rOHVJV0xGYWhwT0V0cWVtMFg2WWRLTVlZPSIsIml2UGFyYW1ldGVyU3BlYyI6InhrOHdIV0FzY3Y1dmZ0SGwiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master) 2 | Adds extra information of your AWS CodeBuild build via environment variables. 3 | 4 | ## Usage 5 | 6 | Add the following command to the `install` or `pre_build` phase of your buildspec, 7 | and replace `` by the lastest commit hash (or your preferred revision): 8 | 9 | curl -fsSL https://raw.githubusercontent.com/thii/aws-codebuild-extras//install >> extras.sh && . ./extras.sh 10 | 11 | Alternatively, you can fork this repo and always point to the default branch of your fork. 12 | 13 | You can also break the installation into two steps to improve readability. 14 | For example in the `install` phase: 15 | ``` 16 | phases: 17 | install: 18 | commands: 19 | - echo Installing codebuild-extras... 20 | - curl -fsSL https://raw.githubusercontent.com/thii/aws-codebuild-extras//install >> extras.sh 21 | - . ./extras.sh 22 | ``` 23 | |NAME|VALUE 24 | |---|---| 25 | |CI|true| 26 | |CODEBUILD|true| 27 | |CODEBUILD_GIT_AUTHOR|Committer Name| 28 | |CODEBUILD_GIT_AUTHOR_EMAIL|user@example.com| 29 | |CODEBUILD_GIT_BRANCH|branch name| 30 | |CODEBUILD_GIT_COMMIT|commit hash| 31 | |CODEBUILD_GIT_MESSAGE|commit message| 32 | |CODEBUILD_GIT_TAG|git tag| 33 | |CODEBUILD_PROJECT|project| 34 | |CODEBUILD_PULL_REQUEST|Pull request number| 35 | -------------------------------------------------------------------------------- /buildspec.yml: -------------------------------------------------------------------------------- 1 | version: 0.2 2 | 3 | phases: 4 | install: 5 | commands: 6 | - curl -fsSL https://raw.githubusercontent.com/thii/aws-codebuild-extras/master/install >> extras.sh 7 | - . ./extras.sh 8 | build: 9 | commands: 10 | - # Do nothing 11 | -------------------------------------------------------------------------------- /install: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export CI=true 4 | export CODEBUILD=true 5 | 6 | export CODEBUILD_ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text) 7 | 8 | export CODEBUILD_GIT_BRANCH="$(git symbolic-ref HEAD --short 2>/dev/null)" 9 | if [ "$CODEBUILD_GIT_BRANCH" = "" ] ; then 10 | export CODEBUILD_GIT_BRANCH="$(git rev-parse HEAD | xargs git name-rev | cut -d' ' -f2 | sed 's/remotes\/origin\///g')"; 11 | fi 12 | 13 | export CODEBUILD_GIT_CLEAN_BRANCH="$(echo $CODEBUILD_GIT_BRANCH | tr '/' '.')" 14 | export CODEBUILD_GIT_ESCAPED_BRANCH="$(echo $CODEBUILD_GIT_CLEAN_BRANCH | sed -e 's/[]\/$*.^[]/\\\\&/g')" 15 | export CODEBUILD_GIT_MESSAGE="$(git log -1 --pretty=%B)" 16 | export CODEBUILD_GIT_AUTHOR="$(git log -1 --pretty=%an)" 17 | export CODEBUILD_GIT_AUTHOR_EMAIL="$(git log -1 --pretty=%ae)" 18 | export CODEBUILD_GIT_COMMIT="$(git log -1 --pretty=%H)" 19 | export CODEBUILD_GIT_SHORT_COMMIT="$(git log -1 --pretty=%h)" 20 | export CODEBUILD_GIT_TAG="$(git describe --tags --exact-match 2>/dev/null)" 21 | export CODEBUILD_GIT_MOST_RECENT_TAG="$(git describe --tags --abbrev=0)" 22 | 23 | export CODEBUILD_PULL_REQUEST=false 24 | if [ "${CODEBUILD_GIT_BRANCH#pr-}" != "$CODEBUILD_GIT_BRANCH" ] ; then 25 | export CODEBUILD_PULL_REQUEST=${CODEBUILD_GIT_BRANCH#pr-}; 26 | fi 27 | 28 | export CODEBUILD_PROJECT=${CODEBUILD_BUILD_ID%:$CODEBUILD_LOG_PATH} 29 | export CODEBUILD_BUILD_URL=https://$AWS_DEFAULT_REGION.console.aws.amazon.com/codebuild/home?region=$AWS_DEFAULT_REGION#/builds/$CODEBUILD_BUILD_ID/view/new 30 | 31 | echo "==> AWS CodeBuild Extra Environment Variables:" 32 | echo "==> CI = $CI" 33 | echo "==> CODEBUILD = $CODEBUILD" 34 | echo "==> CODEBUILD_ACCOUNT_ID = $CODEBUILD_ACCOUNT_ID" 35 | echo "==> CODEBUILD_GIT_AUTHOR = $CODEBUILD_GIT_AUTHOR" 36 | echo "==> CODEBUILD_GIT_AUTHOR_EMAIL = $CODEBUILD_GIT_AUTHOR_EMAIL" 37 | echo "==> CODEBUILD_GIT_BRANCH = $CODEBUILD_GIT_BRANCH" 38 | echo "==> CODEBUILD_GIT_CLEAN_BRANCH = $CODEBUILD_GIT_CLEAN_BRANCH" 39 | echo "==> CODEBUILD_GIT_ESCAPED_BRANCH = $CODEBUILD_GIT_ESCAPED_BRANCH" 40 | echo "==> CODEBUILD_GIT_COMMIT = $CODEBUILD_GIT_COMMIT" 41 | echo "==> CODEBUILD_GIT_SHORT_COMMIT = $CODEBUILD_GIT_SHORT_COMMIT" 42 | echo "==> CODEBUILD_GIT_MESSAGE = $CODEBUILD_GIT_MESSAGE" 43 | echo "==> CODEBUILD_GIT_TAG = $CODEBUILD_GIT_TAG" 44 | echo "==> CODEBUILD_GIT_MOST_RECENT_TAG = $CODEBUILD_GIT_MOST_RECENT_TAG" 45 | echo "==> CODEBUILD_PROJECT = $CODEBUILD_PROJECT" 46 | echo "==> CODEBUILD_PULL_REQUEST = $CODEBUILD_PULL_REQUEST" 47 | --------------------------------------------------------------------------------