Bump axios from 1.7.7 to 1.7.9 #189
This file contains 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
name: Fv-Apps-Dev | |
on: | |
push: | |
branches: | |
- dev | |
jobs: | |
test: | |
environment: dev | |
name: Unit Tests | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Clone config repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
repository: First-Peoples-Cultural-Council/fv-apps-config | |
token: ${{ secrets.PULL_CONFIG_SECRET }} | |
path: fv-apps-config | |
- name: Set variables | |
run: | | |
mkdir modules | |
ls -a; | |
mv ./fv-apps-config/dev-config/public/* ./public/ | |
mv ./fv-apps-config/modules/* ./modules/ | |
rm -rf .env | |
touch .env | |
ls -a | |
printf "%s\n" "REACT_APP_VERSION_NUMBER=\"${{vars.REACT_APP_VERSION_NUMBER}}\"" >> .env | |
printf "%s\n" "REACT_APP_ABOUT_APP_NAME=\"${{vars.REACT_APP_ABOUT_APP_NAME}}\"" >> .env | |
printf "%s\n" "REACT_APP_ABOUT_ORG_NAME=\"${{vars.REACT_APP_ABOUT_ORG_NAME}}\"" >> .env | |
printf "%s\n" "REACT_APP_BASE_HOST=\"${{vars.REACT_APP_BASE_HOST}}\"" >> .env | |
printf "%s\n" "REACT_APP_BASE_API_URL=\"${{vars.REACT_APP_BASE_API_URL}}\"" >> .env | |
printf "%s\n" "APP_ENV=\"${{vars.ENV_NAME}}\"" >> .env | |
touch modules/dev.auto.tfvars | |
printf "%s\n" "aws_profile = \"default\"" >> modules/dev.auto.tfvars | |
printf "%s\n" "domain = \"${{vars.DOMAIN}}\"" >> modules/dev.auto.tfvars | |
printf "%s\n" "application_name = \"${{vars.APPLICATION_NAME}}\"" >> modules/dev.auto.tfvars | |
printf "%s\n" "website_path = \"${{vars.WEBSITE_PATH}}\"" >> modules/dev.auto.tfvars | |
printf "%s\n" "subdomains = ${{vars.SUBDOMAINS}}" >> modules/dev.auto.tfvars | |
printf "%s\n" "default_root_index_file = \"index.html\"" >> modules/dev.auto.tfvars | |
printf "%s\n" "env_name = \"${{vars.ENV_NAME}}\"" >> modules/dev.auto.tfvars | |
- name: Install dependencies | |
run: npm ci | |
- name: Start server in background | |
run: npm run start & sleep 10 | |
- name: Build Application | |
env: | |
CI: false | |
run: | | |
ls | |
npm run build | |
mkdir uploads | |
mv modules/* uploads/ | |
mv build uploads/build | |
- name: Run Tests | |
run: npm test | |
- uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: uploads | |
path: uploads/ | |
- run: ls ;cd modules; ls; | |
inspect_changes: | |
environment: dev | |
if: github.ref == 'refs/heads/dev' | |
name: Inspect Infra Changes | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: uploads | |
path: downloads/ | |
- name: Check directory files | |
run: | | |
ls | |
mkdir modules | |
mv downloads/* modules/ | |
rm -rf modules/pre-prod-terraform.tf | |
rm -rf modules/prod-terraform.tf | |
mv modules/dev-terraform.tf modules/terraform.tf | |
cd modules | |
ls | |
cd build | |
ls | |
cd ../.. | |
- name: Terraform plan | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.FPCC_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.FPCC_AWS_SECRET_ACCESS_KEY }} | |
run: | | |
ls | |
cd modules | |
ls | |
terraform init -lock=false | |
terraform fmt | |
terraform plan | |
update_infra_changes: | |
environment: dev | |
name: Update Infra and App Changes | |
runs-on: ubuntu-latest | |
needs: inspect_changes | |
if: github.ref == 'refs/heads/dev' | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: uploads | |
path: downloads/ | |
- name: Check directory files | |
run: | | |
ls | |
mkdir modules | |
mv downloads/* modules/ | |
rm -rf modules/pre-prod-terraform.tf | |
rm -rf modules/prod-terraform.tf | |
mv modules/dev-terraform.tf modules/terraform.tf | |
cd modules | |
ls | |
cd build | |
ls | |
cd ../.. | |
- name: Terraform plan and apply | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.FPCC_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.FPCC_AWS_SECRET_ACCESS_KEY }} | |
run: | | |
cd modules | |
terraform init -lock=false | |
terraform fmt | |
terraform plan | |
terraform apply -auto-approve -lock=false | |
terraform output cloudfront_discribution | |
echo "Distro_ID=$(terraform output cloudfront_discribution)" >> "$GITHUB_ENV"; | |
- name: Invalidate cloudfront cache | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.FPCC_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.FPCC_AWS_SECRET_ACCESS_KEY }} | |
AWS_EC2_METADATA_DISABLED: true | |
run: | | |
aws cloudfront create-invalidation --distribution-id ${{ env.Distro_ID }} --paths "/*" | |
echo "Invalidation_ID=$(aws cloudfront list-invalidations --distribution-id ${{ env.Distro_ID }} | jq -c '.InvalidationList.Items | .[] | select(.Status | contains("InProgress")) | .Id' | head -n 1)" >> "$GITHUB_ENV"; | |
- name: Wait for invalidation completion | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.FPCC_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.FPCC_AWS_SECRET_ACCESS_KEY }} | |
AWS_EC2_METADATA_DISABLED: true | |
run: | | |
aws cloudfront wait invalidation-completed --id ${{ env.Invalidation_ID }} --distribution-id ${{ env.Distro_ID }} | |
echo "Deployment Completed" |