lml-main
Version:
This is now a mono repository published into many standalone packages.
162 lines (159 loc) • 6.17 kB
YAML
defaults: &defaults
docker:
- image: jtredoux/node-aws:latest
version: 2
jobs:
init:
<<: *defaults
steps:
- run: |
mkdir -p artifacts
echo "export WORKFLOW_BUILD_NUM=$CIRCLE_BUILD_NUM" >> artifacts/workflow_env
- persist_to_workspace:
root: artifacts
paths:
- workflow_env
devnew:
<<: *defaults
steps:
- checkout
- attach_workspace:
at: artifacts
- run: |
source artifacts/workflow_env
cp ./packages/allocation-ui/.env.example .env
sed -i "s/API_HOST_REPLACE/${API_HOST_DEV}/" .env
sed -i "s/APP_VERSION_REPLACE/${WORKFLOW_BUILD_NUM}/" .env
sed -i "s/AUTH0_DOMAIN_REPLACE/${AUTH0_DOMAIN_DEV}/" .env
sed -i "s/AUTH0_ID_REPLACE/${AUTH0_ID_DEV}/" .env
sed -i "s/AUTH0_AUDIENCE_REPLACE/${AUTH0_AUDIENCE_DEV}/" .env
sed -i "s/DISABLE_REDUX_DEVTOOLS_REPLACE/${DISABLE_REDUX_DEVTOOLS_DEV}/" .env
sed -i "s/DISABLE_REDUX_LOGGER_REPLACE/${DISABLE_REDUX_LOGGER_DEV}/" .env
sed -i "s/EDQ_TOKEN_REPLACE/${EDQ_TOKEN}/" .env
sed -i "s/ENV_REPLACE/${ENV_DEV}/" .env
sed -i "s/GA_ID_REPLACE/${GA_ID_DEV}/" .env
sed -i "s/GOOGLE_MAPS_API_KEY_REPLACE/${GOOGLE_MAPS_API_KEY_DEV}/" .env
sed -i "s/HOTJAR_ID_REPLACE/${HOTJAR_ID_DEV}/" .env
sed -i "s/LOGGLY_KEY_REPLACE/${LOGGLY_KEY}/" .env
sed -i "s/PUSHER_KEY_REPLACE/${PUSHER_KEY_DEV}/" .env
sed -i "s/SUPPORT_EMAIL_REPLACE/${SUPPORT_EMAIL}/" .env
mv .env ./packages/allocation-ui/
- run: |
npm install -g npm-cli-login
NPM_EMAIL=aws-lmlt-dev@lastmilelink.com npm-cli-login
- run: |
cd ./packages/allocation-ui && npm install && npm run production:build
- run: |
zip -r devnew.zip ./packages/allocation-ui/dist
mv devnew.zip artifacts/
- persist_to_workspace:
root: artifacts
paths:
- devnew.zip
si:
<<: *defaults
steps:
- checkout
- attach_workspace:
at: artifacts
- run: |
source artifacts/workflow_env
cp ./packages/allocation-ui/.env.example .env
sed -i "s/API_HOST_REPLACE/${API_HOST_SI}/" .env
sed -i "s/APP_VERSION_REPLACE/${WORKFLOW_BUILD_NUM}/" .env
sed -i "s/AUTH0_DOMAIN_REPLACE/${AUTH0_DOMAIN_SI}/" .env
sed -i "s/AUTH0_ID_REPLACE/${AUTH0_ID_SI}/" .env
sed -i "s/AUTH0_AUDIENCE_REPLACE/${AUTH0_AUDIENCE_SI}/" .env
sed -i "s/DISABLE_REDUX_DEVTOOLS_REPLACE/${DISABLE_REDUX_DEVTOOLS_SI}/" .env
sed -i "s/DISABLE_REDUX_LOGGER_REPLACE/${DISABLE_REDUX_LOGGER_SI}/" .env
sed -i "s/EDQ_TOKEN_REPLACE/${EDQ_TOKEN}/" .env
sed -i "s/ENV_REPLACE/${ENV_SI}/" .env
sed -i "s/GA_ID_REPLACE/${GA_ID_SI}/" .env
sed -i "s/GOOGLE_MAPS_API_KEY_REPLACE/${GOOGLE_MAPS_API_KEY_SI}/" .env
sed -i "s/HOTJAR_ID_REPLACE/${HOTJAR_ID_SI}/" .env
sed -i "s/LOGGLY_KEY_REPLACE/${LOGGLY_KEY}/" .env
sed -i "s/PUSHER_KEY_REPLACE/${PUSHER_KEY_DEV}/" .env
sed -i "s/SUPPORT_EMAIL_REPLACE/${SUPPORT_EMAIL}/" .env
mv .env ./packages/allocation-ui/
- run: |
npm install -g npm-cli-login
NPM_EMAIL=aws-lmlt-dev@lastmilelink.com npm-cli-login
- run: |
cd ./packages/allocation-ui && npm install && npm run production:build
- run: |
zip -r si.zip dist
mv si.zip artifacts/
- persist_to_workspace:
root: artifacts
paths:
- si.zip
prod:
<<: *defaults
steps:
- checkout
- attach_workspace:
at: artifacts
- run: |
source artifacts/workflow_env
cp ./packages/allocation-ui/.env.example .env
sed -i "s/API_HOST_REPLACE/${API_HOST_PROD}/" .env
sed -i "s/APP_VERSION_REPLACE/${WORKFLOW_BUILD_NUM}/" .env
sed -i "s/AUTH0_DOMAIN_REPLACE/${AUTH0_DOMAIN_PROD}/" .env
sed -i "s/AUTH0_ID_REPLACE/${AUTH0_ID_PROD}/" .env
sed -i "s/AUTH0_AUDIENCE_REPLACE/${AUTH0_AUDIENCE_PROD}/" .env
sed -i "s/DISABLE_REDUX_DEVTOOLS_REPLACE/${DISABLE_REDUX_DEVTOOLS_PROD}/" .env
sed -i "s/DISABLE_REDUX_LOGGER_REPLACE/${DISABLE_REDUX_LOGGER_PROD}/" .env
sed -i "s/EDQ_TOKEN_REPLACE/${EDQ_TOKEN}/" .env
sed -i "s/ENV_REPLACE/${ENV_PROD}/" .env
sed -i "s/GA_ID_REPLACE/${GA_ID_PROD}/" .env
sed -i "s/GOOGLE_MAPS_API_KEY_REPLACE/${GOOGLE_MAPS_API_KEY_PROD}/" .env
sed -i "s/HOTJAR_ID_REPLACE/${HOTJAR_ID_PROD}/" .env
sed -i "s/LOGGLY_KEY_REPLACE/${LOGGLY_KEY}/" .env
sed -i "s/PUSHER_KEY_REPLACE/${PUSHER_KEY_DEV}/" .env
sed -i "s/SUPPORT_EMAIL_REPLACE/${SUPPORT_EMAIL}/" .env
mv .env ./packages/allocation-ui/
- run: |
npm install -g npm-cli-login
NPM_EMAIL=aws-lmlt-dev@lastmilelink.com npm-cli-login
- run: |
cd ./packages/allocation-ui && npm install && npm run production:build
- run: |
zip -r prod.zip dist
mv prod.zip artifacts/
- persist_to_workspace:
root: artifacts
paths:
- prod.zip
upload-to-s3:
<<: *defaults
steps:
- attach_workspace:
at: artifacts
- run: |
cd artifacts
source workflow_env
zip allocation-ui-0.0.${WORKFLOW_BUILD_NUM}.zip devnew.zip si.zip prod.zip
aws configure set default.region eu-west-1
aws s3 cp allocation-ui-0.0.${WORKFLOW_BUILD_NUM}.zip s3://lml-app-versions-eu-west-1/allocation-ui/allocation-ui-0.0.${WORKFLOW_BUILD_NUM}.zip
workflows:
version: 2
devnew_si_prod_beta:
jobs:
- init:
filters:
branches:
only: master
- devnew:
requires:
- init
- si:
requires:
- init
- prod:
requires:
- init
- upload-to-s3:
requires:
- devnew
- si
- prod