Created
July 5, 2022 14:00
-
-
Save majirosstefan/3d82122a7dd305800039e5b1b8a5f4f9 to your computer and use it in GitHub Desktop.
AWS Amplify: Support for CI w/ React Native in Github Actions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
...rest of your.yaml | |
# do not forget to add secrets into Github Actions! | |
- name: π Configure backend environment | |
run: | | |
yarn global add @aws-amplify/[email protected] | |
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