name: Deploy frontend run-name: ${{ github.actor }} deployed to build branch on: push: branches: - main paths: - 'apps/frontend/**' - '.gitea/workflows/deploy.yaml' jobs: frontend: runs-on: ubuntu-latest container: volumes: - /www/hereconnect.condev.ru:/www/hereconnect.condev.ru steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' - name: install zopfli & brotli run: | sudo apt update sudo apt install -y zopfli brotli - name: install dependencies run: | corepack enable pnpm deploy --filter frontend --frozen-lockfile build/frontend - name: build production run: cd build/frontend && npm run build-only -- --emptyOutDir --outDir /www/hereconnect.condev.ru/build-${{env.GITHUB_SHA}}-prod/ - name: compress production with Brotli run: | find /www/hereconnect.condev.ru/build-${{env.GITHUB_SHA}}-prod/ -type f \( -name '*.js' -o -name '*.css' -o -name '*.html' -o -name '*.svg' -o -name '*.eot' -o -name '*.ttf' -o -name '*.woff' -o -name '*.woff2' \) | while read -r file; do brotli -k -q 11 "$file" done - name: deploy production run: mv -v /www/hereconnect.condev.ru/current-prod /www/hereconnect.condev.ru/old-prod && mv -v /www/hereconnect.condev.ru/build-${{env.GITHUB_SHA}}-prod /www/hereconnect.condev.ru/current-prod && rm -rf /www/hereconnect.condev.ru/old-prod - name: build dev run: cd build/frontend && npm run build-only -- --emptyOutDir --mode development --outDir /www/hereconnect.condev.ru/build-${{env.GITHUB_SHA}}-dev/ - name: deploy dev run: mv -v /www/hereconnect.condev.ru/current-dev /www/hereconnect.condev.ru/old-dev && mv -v /www/hereconnect.condev.ru/build-${{env.GITHUB_SHA}}-dev /www/hereconnect.condev.ru/current-dev && rm -rf /www/hereconnect.condev.ru/old-dev