Skip to content

feat: admin UI new improvements #123

feat: admin UI new improvements

feat: admin UI new improvements #123

Workflow file for this run

# Sample workflow for building and deploying an Astro site to GitHub Pages
#
# To get started with Astro see: https://docs.astro.build/en/getting-started/
#
name: Deploy Astro site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: [main]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: pages
cancel-in-progress: false
env:
BUILD_PATH: . # default value when not using subfolders
# BUILD_PATH: subfolder
jobs:
deploy_backend:
name: backend
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Reveal the git secrets
run: |
git secret reveal
- name: Use docker-compose to run backend
run: |
docker compose -f docker-compose.yml up -d --build
build:
needs: deploy_backend # more likely this frontend version requires something from the backend if the backend fails there is no need for this to run
name: Build
runs-on: self-hosted
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Reveal the secrets
run: |
git secret reveal
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Setup Node
uses: actions/setup-node@v6 # Action to set up the Node.js environment
with:
node-version: '22' # Keep CI reproducible instead of floating to the latest runtime
cache: 'pnpm' # Optional: Caches npm dependencies to speed up subsequent runs
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Install packages
run: |
pnpm install --frozen-lockfile
- name: Build with Astro
run: |
pnpm run build --mode production
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ${{ env.BUILD_PATH }}/dist
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: build
runs-on: ubuntu-latest
name: Deploy
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
notify_failure_backend:
name: Notify that the backend failed
needs: deploy_backend
if: ${{ always() && needs.deploy_backend.result == 'failure' }}
uses: ./.github/workflows/ci_project.yml
with:
# Pass the final status of the job you want to report on
status: ${{ needs.deploy_backend.result }}
# Pass required context for verbose messaging
repo_name: ${{ github.repository }}
branch: ${{ github.ref_name }}
commit_message: ${{ github.event.head_commit.message }}
run_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
secrets:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }}
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
notify_failure_build:
name: Notify that the build of the frontend (github pages made on Astro) failed
needs: build
if: ${{ always() && needs.build.result == 'failure' }}
uses: ./.github/workflows/ci_project.yml
with:
# Pass the final status of the job you want to report on
status: ${{ needs.build.result }}
# Pass required context for verbose messaging
repo_name: ${{ github.repository }}
branch: ${{ github.ref_name }}
commit_message: ${{ github.event.head_commit.message }}
run_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
secrets:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }}
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
notify:
name: Final notification of whether the deployment of the github pages either failed or was successful
needs: deploy
if: ${{ always() && (needs.deploy.result == 'failure' || needs.deploy.result == 'success') }}
uses: ./.github/workflows/ci_project.yml
with:
# Pass the final status of the job you want to report on
status: ${{ needs.deploy.result }}
# Pass required context for verbose messaging
repo_name: ${{ github.repository }}
branch: ${{ github.ref_name }}
commit_message: ${{ github.event.head_commit.message }}
run_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
secrets:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }}
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}