Skip to content

Merge pull request #183 from DavitBakhutashvili/fix/correctedChat #95

Merge pull request #183 from DavitBakhutashvili/fix/correctedChat

Merge pull request #183 from DavitBakhutashvili/fix/correctedChat #95

Workflow file for this run

name: 'Deploy Frontend UI'
on:
push:
branches:
- main
paths:
- 'apps/ui/**'
jobs:
Plan_Dev:
if: github.ref == 'refs/heads/main'
uses: l3vels/L3AGI/.github/workflows/tf_plan_ui.yml@main
with:
path: apps/ui/terraform
tf_vars_file: dev.tfvars
gh_environment: dev
secrets:
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
github_personal_access_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
Deploy_Dev:
needs: Plan_Dev
uses: l3vels/L3AGI/.github/workflows/tf_apply_ui.yml@main
with:
path: apps/ui/terraform
tf_vars_file: dev.tfvars
gh_environment: dev
secrets:
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
github_personal_access_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
Build_Sync_S3_Dev:
needs: Deploy_Dev
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 18
- name: Setup yarn
run: npm install -g yarn
# Get yarn cache directory path
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
working-directory: apps/ui
# Cache yarn dependencies using the determined directory path
- uses: actions/cache@v2
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('apps/ui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install game dependencies
run: yarn install
working-directory: apps/ui
- name: Build
env:
NODE_OPTIONS: '--max_old_space_size=4096'
run: yarn run build:dev
working-directory: apps/ui
- name: Postbuild
run: yarn run postbuild
working-directory: apps/ui
- name: Set up AWS CLI
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Sync files to S3
env:
S3_DOMAIN_NAME: ${{ vars.AGI_DOMAIN_NAME }}
run: aws s3 sync dist/ s3://dev.${{ env.S3_DOMAIN_NAME }} --delete
working-directory: apps/ui
Init_Prod:
runs-on: ubuntu-latest
needs: Build_Sync_S3_Dev
environment: prod
steps:
- name: "Say Hello Mona it's Monday"
run: echo "Start Prod"
Plan_Prod:
needs: Init_Prod
uses: l3vels/L3AGI/.github/workflows/tf_plan_ui.yml@main
with:
path: apps/ui/terraform
tf_vars_file: prod.tfvars
gh_environment: prod
secrets:
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
github_personal_access_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
Deploy_Prod:
needs: Plan_Prod
uses: l3vels/L3AGI/.github/workflows/tf_apply_ui.yml@main
with:
path: apps/ui/terraform
tf_vars_file: prod.tfvars
gh_environment: prod
secrets:
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
github_personal_access_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
Build_Sync_S3_Prod:
needs: Deploy_Prod
runs-on: ubuntu-latest
timeout-minutes: 15
environment: prod
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 18
- name: Setup yarn
run: npm install -g yarn
# Get yarn cache directory path
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
working-directory: apps/ui
# Cache yarn dependencies using the determined directory path
- uses: actions/cache@v2
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('apps/ui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install game dependencies
run: yarn install
working-directory: apps/ui
- name: Build
env:
NODE_OPTIONS: '--max_old_space_size=4096'
run: yarn run build:prod
working-directory: apps/ui
- name: Postbuild
run: yarn run postbuild
working-directory: apps/ui
- name: Set up AWS CLI
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Sync files to S3
env:
S3_DOMAIN_NAME: ${{ vars.AGI_DOMAIN_NAME }}
run: aws s3 sync dist/ s3://www.${{ env.S3_DOMAIN_NAME }} --delete
working-directory: apps/ui