chore(cd): add workflow to deploy on staging environment

This commit is contained in:
2026-08-09 18:44:01 +02:00
parent 2b730506ee
commit a4c77851c2
+64
View File
@@ -0,0 +1,64 @@
# 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 staging
on:
release:
types:
- published
permissions:
contents: read
jobs:
deploy:
if: ${{ github.event.release.prerelease && !github.event.release.draft }}
name: Deploy on staging
runs-on: node-minio
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
set -euo pipefail
npm install
- name: Build
run: |
set -euo pipefail
npm run build
- name: Set alias
run: mc alias set minio ${{ vars.S3_STAGING_URL }} ${{ secrets.S3_STAGING_ACCESS_KEY }} ${{ secrets.S3_STAGING_SECRET_KEY }}
- name: Upload build artifacts to S3
run: |
set -euo pipefail
BUCKET=${{ vars.S3_STAGING_BUCKET_NAME }}
BUILD_ID=$(date +%s)-$(git rev-parse --short HEAD)
echo "Build ID: $BUILD_ID"
printf "Copying files ... "
mc cp --recursive ./dist/ "minio/$BUCKET/builds/$BUILD_ID/"
echo "done"
printf "Update current build pointer ... "
echo "$BUILD_ID" | mc pipe "minio/$BUCKET/current"
echo "done"