chore(deps-dev): bump vite from 4.4.7 to 4.4.12 #363
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: CI | |
on: | |
pull_request: | |
push: | |
branches: [main, develop] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
install: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
- name: Cache NPM dependencies | |
uses: actions/cache@v3 | |
id: cache-primes | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-npm-v3-${{ hashFiles('package-lock.json') }} | |
- name: Install dependencies | |
if: steps.cache-primes.outputs.cache-hit != 'true' | |
run: npm install | |
lint: | |
runs-on: ubuntu-latest | |
needs: | |
- install | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
- name: Cache NPM dependencies | |
uses: actions/cache@v3 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-npm-v3-${{ hashFiles('package-lock.json') }} | |
- name: Lint project | |
run: | | |
npm run lint | |
build: | |
runs-on: ubuntu-latest | |
environment: | |
name: ${{ github.ref == 'refs/heads/main' && 'production' || 'develop' }} | |
needs: | |
- lint | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
- name: Cache NPM dependencies | |
uses: actions/cache@v3 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-npm-v3-${{ hashFiles('package-lock.json') }} | |
- name: Create Dashboard Env | |
uses: SpicyPizza/[email protected] | |
with: | |
envkey_API_URL: http://${{ vars.API_URL }} | |
envkey_NEXTAUTH_URL: http://${{ vars.DASHBOARD_NEXTAUTH_URL }} | |
envkey_NEXTAUTH_SECRET: http://${{ secrets.DASHBOARD_NEXTAUTH_SECRET }} | |
directory: 'apps/front-admin/' | |
file_name: .env | |
fail_on_empty: false | |
- name: Create Client Env | |
uses: SpicyPizza/[email protected] | |
with: | |
envkey_API_URL: http://${{ vars.API_URL }} | |
envkey_NEXTAUTH_URL: http://${{ vars.CLIENT_NEXTAUTH_URL }} | |
envkey_NEXTAUTH_SECRET: http://${{ secrets.CLIENT_NEXTAUTH_SECRET }} | |
directory: 'apps/front-client/' | |
file_name: .env | |
fail_on_empty: false | |
- name: Build project | |
run: | | |
npm run build:all | |
- name: Download project as artifact | |
uses: actions/upload-artifact@main | |
with: | |
name: bundle | |
path: dist | |
test: | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
- name: Cache NPM dependencies | |
uses: actions/cache@v3 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-npm-v3-${{ hashFiles('package-lock.json') }} | |
- name: Test project | |
run: | | |
npm run test:all | |
deploy: | |
runs-on: ubuntu-latest | |
environment: | |
name: ${{ github.ref == 'refs/heads/main' && 'production' || 'develop' }} | |
url: http://${{ vars.CLIENT_URL }} | |
needs: | |
- test | |
if: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop' }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
- name: Download artifact | |
uses: actions/download-artifact@master | |
with: | |
name: bundle | |
path: dist | |
- name: Create API Env | |
uses: SpicyPizza/[email protected] | |
with: | |
envkey_PORT: ${{ secrets.API_PORT }} | |
envkey_DATABASE_URL: ${{ secrets.DATABASE_URL }} | |
envkey_JWT_SECRET: ${{ secrets.JWT_SECRET }} | |
envkey_GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} | |
envkey_GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }} | |
envkey_GOOGLE_CLIENT_CALLBACK_URL: ${{ secrets.GOOGLE_CLIENT_CALLBACK_URL }} | |
envkey_API_URL: http://${{ vars.API_URL }} | |
envkey_CLIENT_URL: http://${{ vars.CLIENT_URL }} | |
envkey_DASHBOARD_URL: http://${{ vars.DASHBOARD_URL }} | |
envkey_CLOUDINARY_CLOUD_NAME: http://${{ vars.CLOUDINARY_CLOUD_NAME }} | |
envkey_CLOUDINARY_API_KEY: http://${{ vars.CLOUDINARY_API_KEY }} | |
envkey_CLOUDINARY_API_SECRET: http://${{ secrets.CLOUDINARY_API_SECRET }} | |
envkey_CLOUDINARY_FOLDER: http://${{ vars.CLOUDINARY_FOLDER }} | |
directory: 'dist/apps/api/' | |
file_name: .env | |
fail_on_empty: false | |
- name: Deploy API | |
uses: easingthemes/ssh-deploy@main | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
REMOTE_HOST: ${{ secrets.REMOTE_HOST }} | |
REMOTE_PORT: ${{ secrets.REMOTE_PORT }} | |
REMOTE_USER: ${{ secrets.REMOTE_USER }} | |
SOURCE: 'dist/apps/api/' | |
TARGET: '/var/www/${{ vars.API_URL }}' | |
- name: Deploy Dashboard | |
uses: easingthemes/ssh-deploy@main | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
REMOTE_HOST: ${{ secrets.REMOTE_HOST }} | |
REMOTE_PORT: ${{ secrets.REMOTE_PORT }} | |
REMOTE_USER: ${{ secrets.REMOTE_USER }} | |
SOURCE: 'dist/apps/front-admin/' | |
TARGET: '/var/www/${{ vars.DASHBOARD_URL }}' | |
- name: Deploy Client | |
uses: easingthemes/ssh-deploy@main | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
REMOTE_HOST: ${{ secrets.REMOTE_HOST }} | |
REMOTE_PORT: ${{ secrets.REMOTE_PORT }} | |
REMOTE_USER: ${{ secrets.REMOTE_USER }} | |
SOURCE: 'dist/apps/front-client/' | |
TARGET: '/var/www/${{ vars.CLIENT_URL }}' | |
- name: Restart Apps | |
uses: easingthemes/ssh-deploy@main | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
REMOTE_HOST: ${{ secrets.REMOTE_HOST }} | |
REMOTE_PORT: ${{ secrets.REMOTE_PORT }} | |
REMOTE_USER: ${{ secrets.REMOTE_USER }} | |
SCRIPT_AFTER: | | |
cd /var/www/${{ vars.API_URL }} && npm install && npm install prisma-dbml-generator && npx prisma generate && npm prisma migrate deploy | |
[[ $((pm2 info ${{ vars.API_URL }} || echo 'status|stopped') | grep status) =~ 'stopped' ]] && pm2 start main.js --name ${{ vars.API_URL }} || pm2 restart ${{ vars.API_URL }} | |
cd /var/www/${{ vars.DASHBOARD_URL }} && npm install | |
[[ $((pm2 info ${{ vars.DASHBOARD_URL }} || echo 'status|stopped') | grep status) =~ 'stopped' ]] && pm2 start npm --name ${{ vars.DASHBOARD_URL }} -- start -- -p 3002 || pm2 restart ${{ vars.DASHBOARD_URL }} | |
cd /var/www/${{ vars.CLIENT_URL }} && npm install | |
[[ $((pm2 info ${{ vars.CLIENT_URL }} || echo 'status|stopped') | grep status) =~ 'stopped' ]] && pm2 start npm --name ${{ vars.CLIENT_URL }} -- start -- -p 3001 || pm2 restart ${{ vars.CLIENT_URL }} |