Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save majirosstefan/3d82122a7dd305800039e5b1b8a5f4f9 to your computer and use it in GitHub Desktop.
Save majirosstefan/3d82122a7dd305800039e5b1b8a5f4f9 to your computer and use it in GitHub Desktop.
AWS Amplify: Support for CI w/ React Native in Github Actions
...rest of your.yaml
# do not forget to add secrets into Github Actions!
- name: 🚀 Configure backend environment
run: |
yarn global add @aws-amplify/cli@5.1.0
which amplify
echo "🔴 Using amplify version $(amplify --version)"
aws_config_file_path="$(pwd)/aws_config_file_path.json"
echo '{"accessKeyId":"'${{ secrets.AWS_ACCESS_KEY }}'","secretAccessKey":"'${{ secrets.AWS_SECRET_ACCESS_KEY }}'","region":"'${{ secrets.AWS_REGION }}'"}' > $aws_config_file_path
echo '{"projectPath": "'"$(pwd)"'","defaultEditor":"code","envName":"'$6'"}' > ./amplify/.config/local-env-info.json
echo '{"'$6'":{"configLevel":"project","useProfile":false,"awsConfigFilePath":"'$aws_config_file_path'"}}' > ./amplify/.config/local-aws-info.json
if [ "$PROFILE" == "production" ]; then
AMPLIFY_TARGET_ENV_NAME=prod
else
AMPLIFY_TARGET_ENV_NAME=dev
fi
echo "🔴 Used environment:::::::::::::::: ${AMPLIFY_TARGET_ENV_NAME}"
AMPLIFY_APP_ID=${{ secrets.AMPLIFY_APP_ID }}
set -e
IFS='|'
REACTCONFIG="{\
\"SourceDir\":\"src\",\
\"DistributionDir\":\"build\",\
\"BuildCommand\":\"npm run-script build\",\
\"StartCommand\":\"npm run-script start\"\
}"
AWSCLOUDFORMATIONCONFIG="{\
\"configLevel\":\"project\",\
\"useProfile\":false,\
\"profileName\":\"default\",\
\"accessKeyId\":\"${{ secrets.AWS_ACCESS_KEY }}\",\
\"secretAccessKey\":\"${{ secrets.AWS_SECRET_ACCESS_KEY }}\",\
\"region\":\"us-east-1\"\
}"
AMPLIFY="{\
\"projectName\":\"projectName\",\
\"envName\":\"${AMPLIFY_TARGET_ENV_NAME}\",\
\"defaultEditor\":\"code\",\
\"appId\":\"${AMPLIFY_APP_ID}\"\
}"
FRONTEND="{\
\"frontend\":\"javascript\",\
\"framework\":\"react\",\
\"config\":$REACTCONFIG\
}"
PROVIDERS="{\
\"awscloudformation\":$AWSCLOUDFORMATIONCONFIG\
}"
echo "🔴 Pulling the most recent deployed changes from ${AMPLIFY_TARGET_ENV_NAME}"
amplify init \
--amplify $AMPLIFY \
--frontend $FRONTEND \
--providers $PROVIDERS \
--yes
echo "🔴 Pulling succesfull... Running amplify status:"
amplify status
echo "🔴 Deploying..."
amplify push --y
...rest of your.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment