diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..b7e741b --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,48 @@ +name: deploy to server + +on: push + +jobs: + build-and-deploy: + runs-on: node22-build + steps: + - name: Checkout + uses: actions/checkout@v5 + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 10 + - name: Setup node 22 + uses: actions/setup-node@v5 + with: + node-version: '22' + cache: 'pnpm' + - name: Cache pnpm store + uses: actions/cache@v4 + with: + path: ~/.pnpm-store + key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm- + - name: Install dependencies + run: pnpm install + - name: Cache Nuxt build + uses: actions/cache@v4 + with: + path: .nuxt + key: ${{ runner.os }}-nuxt-${{ hashFiles('pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-nuxt- + - name: Build project + run: pnpm run build + - name: Deploy to server + if: github.ref == 'refs/heads/master' + uses: easingthemes/ssh-deploy@main + with: + ARGS: "-rlgoDzvc -i --delete" + REMOTE_HOST: ${{ secrets.rsync_host }} + REMOTE_USER: ${{ secrets.rsync_username }} + SOURCE: ${{ secrets.rsync_source }} + TARGET: ${{ secrets.rsync_destination }} + SSH_PRIVATE_KEY: ${{ secrets.rsync_key }} + SCRIPT_AFTER: ${{ secrets.script_after_rsync }}