Skip to content

Add gh action

Add gh action #16

name: deploy production
on:
push:
branches:
- master
pull_request:
types: [ opened, synchronize, reopened ]
branches:
- master
jobs:
build_frontend:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20
- name: install frontend deps and run tests
env:
NODE_OPTIONS: "--max_old_space_size=4096"
run: |
cd ./ui
npm ci
- name: build frontend
run: |
cd ./ui
npm run build:ngst-prod
- name: save build
uses: actions/upload-artifact@v4
with:
name: frontend-build
path: ./ui/dist/ui
deploy:
runs-on: production
name: deploy to production
needs: build_frontend
environment: production
steps:
- name: checkout
uses: actions/checkout@v3
- name: copy app
run: Copy-Item -Path .\* -Destination ..\..\..\..\app\ -Recurse -Exclude ("ui", ".git", ".github") -Force
- name: run migrations and collectstatic
working-directory: ..\..\..\..\app\
env:
conda_path: ${{ vars.CONDA_ENV_PATH }}
run: |
conda activate $env:conda_path
python manage.py migrate
python manage.py collectstatic --noinput
- name: download ui
uses: actions/download-artifact@v4
with:
name: frontend-build
path: ..\..\..\..\ui\