Files
hereconnect/.gitea/workflows/deploy.yaml
T
ti 190805cacf
Deploy frontend / frontend (push) Has been cancelled
try to fix node packageManager error on ci/cd
2024-12-02 16:35:26 +02:00

65 lines
2.6 KiB
YAML

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: Cache apt packages
uses: actions/cache@v3
with:
path: /var/cache/apt
key: ${{ runner.os }}-apt-cache
restore-keys: ${{ runner.os }}-apt-cache
- name: Cache pnpm dependencies
uses: actions/cache@v3
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: ${{ runner.os }}-pnpm-
- name: install zopfli & brotli
run: apt update && apt install -y zopfli brotli
- name: install dependencies
run: |
corepack enable pnpm && corepack use pnpm@8.15.9
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
- name: cleanup build directories
if: always()
run: find /www/hereconnect.condev.ru/ -maxdepth 1 -type d -name "build-${{env.GITHUB_SHA}}-*" -exec rm -rf {} +