Files
DiunaBI/.gitea/workflows/build.yml
Michał Zieliński b97d91a9ac
Some checks failed
BuildApp / build-frontend (push) Failing after 2m24s
BuildApp / build-backend (push) Failing after 2m5s
gitea build
2025-09-12 09:10:13 +02:00

126 lines
4.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: BuildApp
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch: {}
# (opcjonalnie) ogranicz równoległe runy
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: false
jobs:
build-frontend:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
- name: Use Node.js 20
uses: https://github.com/actions/setup-node@v4
with:
node-version: 20
# Zostawiamy jak u Ciebie, jeśli chcesz można też użyć corepack (pnpm) zamiast global install
- name: Install Angular CLI
run: npm install -g @angular/cli
- name: Install PNPM
run: npm install -g pnpm
# alternatywa:
# run: corepack enable && corepack prepare pnpm@latest --activate
- name: Install dependencies
working-directory: src/Frontend
run: pnpm install
- name: Build Angular
working-directory: src/Frontend
run: ng build --configuration=production
- name: Upload artifact (frontend)
uses: https://github.com/actions/upload-artifact@v4
with:
name: frontend
path: |
src/Frontend/dist
if-no-files-found: error
retention-days: 7
build-backend:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
- name: Setup .NET 8
uses: https://github.com/actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Restore dependencies
working-directory: src/Backend
run: dotnet restore DiunaBI.sln
- name: Build solution and prepare plugins
working-directory: src/Backend
run: |
set -e
dotnet build DiunaBI.sln --configuration Release
dotnet build DiunaBI.Plugins.Morska/DiunaBI.Plugins.Morska.csproj --configuration Release
mkdir -p DiunaBI.Tests/bin/Release/net8.0/Plugins
cp DiunaBI.Plugins.Morska/bin/Release/net8.0/DiunaBI.Plugins.Morska.dll DiunaBI.Tests/bin/Release/net8.0/Plugins/
cp DiunaBI.Plugins.Morska/bin/Release/net8.0/DiunaBI.Core.dll DiunaBI.Tests/bin/Release/net8.0/Plugins/
ls -la DiunaBI.Tests/bin/Release/net8.0/Plugins/
- name: Run Tests
working-directory: src/Backend
run: |
dotnet add DiunaBI.Tests/DiunaBI.Tests.csproj package coverlet.collector
dotnet test DiunaBI.Tests/DiunaBI.Tests.csproj \
--configuration Release \
--no-restore \
--logger "trx;LogFileName=test-results.trx" \
--collect:"XPlat Code Coverage" \
--filter "Category!=LocalOnly"
- name: Publish Test Results
uses: https://github.com/actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results
path: |
src/Backend/DiunaBI.Tests/TestResults/*.trx
src/Backend/DiunaBI.Tests/TestResults/**/coverage.cobertura.xml
retention-days: 7
- name: Publish WebAPI
if: success()
working-directory: src/Backend
run: |
dotnet publish DiunaBI.WebAPI/DiunaBI.WebAPI.csproj \
--configuration Release \
--framework net8.0 \
--self-contained false \
--output ../../build/webapi
mkdir -p ../../build/webapi/Plugins
cp DiunaBI.Plugins.Morska/bin/Release/net8.0/DiunaBI.Plugins.Morska.dll ../../build/webapi/Plugins/
ls -la ../../build/webapi/Plugins/
- name: Clean up sensitive files
working-directory: build/webapi
run: |
rm -f appsettings.Development.json || true
rm -f client_secrets.Development.json || true
- name: Upload artifact (webapi)
uses: https://github.com/actions/upload-artifact@v4
with:
name: webapi
path: build/webapi
if-no-files-found: error
retention-days: 7