50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
name: Deploy DocEdit Backend CI
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "backend-*.*.*"
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
# Container Registry
|
|
REGISTRY_URL: ${{ vars.CONTAINER_REGISTRY }}
|
|
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
|
|
# Docker Image
|
|
WEB_IMAGE_NAME: chamomind/ecourt-note
|
|
IMAGE_TAG: ${{ github.ref_name }}
|
|
|
|
# SSH Deployment
|
|
DEPLOY_HOST: ${{ vars.SSH_DEPLOY_HOST }}
|
|
DEPLOY_USER: ${{ vars.SSH_DEPLOY_USER }}
|
|
|
|
# Notifications
|
|
DISCORD_WEBHOOK_URL: ${{ vars.DISCORD_WEBHOOK_URL }}
|
|
NEXT_PUBLIC_APP_URL: ${{ vars.NEXT_PUBLIC_APP_URL }}
|
|
|
|
jobs:
|
|
build-and-test:
|
|
name: Build and test backend
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
env:
|
|
DOTNET_CLI_TELEMETRY_OPTOUT: '1'
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET SDK
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '8.0.x'
|
|
|
|
- name: Restore solution
|
|
run: dotnet restore backend/WordVersioning.slnx
|
|
|
|
- name: Build solution
|
|
run: dotnet build backend/WordVersioning.slnx --configuration Release --no-restore
|
|
|
|
- name: Run tests
|
|
run: dotnet test backend/WordVersioning.slnx --configuration Release --no-build --logger "trx;LogFileName=backend-tests.trx"
|