Files
frontend-assets/.gitea/workflows/deploy-on-prod.yml
T
jakob.scheidandGitea 608b17c181 chore(cd): checkout LFS in deployment workflow
The production deployment workflow now installs Git LFS and checkouts
LFS objects.
2026-08-03 17:41:17 +02:00

74 lines
2.0 KiB
YAML

# Copyright 2026 Seekra
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Deploy on production
on:
release:
types:
- published
permissions:
contents: read
jobs:
deploy:
if: ${{ !github.event.release.prerelease && !github.event.release.draft }}
name: Deploy on production
runs-on: node-minio
steps:
- uses: actions/checkout@v4
- name: Install Git LFS
- run: |
apt-get update
apt-get install -y git-lfs
- name: Checkout LFS
run: |
git lfs install --local
AUTH=$(git config --local http.${{ gitea.server_url }}/.extraheader)
git config --local --unset http.${{ gitea.server_url }}/.extraheader
git config --local http.${{ gitea.server_url }}/${{ gitea.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH"
git lfs pull
- name: Set alias
run: |
mc alias set minio "${{ vars.S3_PROD_URL }}" "${{ secrets.S3_PROD_ACCESS_KEY }}" "${{ secrets.S3_PROD_SECRET_KEY }}"
- name: Install dependencies
run: |
npm install
- name: Run build
run: |
npm run build
- name: Upload assets to MinIO
shell: bash
run: |
set -euo pipefail
BUCKET="${{ vars.S3_PROD_BUCKET_NAME }}"
BUILD_ID=$(date -u +%Y-%m-%d)-$(git rev-parse --short HEAD)
echo "Build ID: $BUILD_ID"
mkdir -p ./dist
mc cp --recursive ./dist/ "minio/$BUCKET/builds/$BUILD_ID"
echo "Copied files successfully"