diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..b041621 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,39 @@ +name: build + +on: + push: + branches: [main] + pull_request: + +jobs: + backend: + runs-on: ubuntu-latest + container: mcr.microsoft.com/dotnet/sdk:10.0 + steps: + - uses: actions/checkout@v4 + - name: Restore + working-directory: backend + run: dotnet restore TeleWave.slnx + - name: Build (Release) + working-directory: backend + run: dotnet build TeleWave.slnx -c Release --no-restore + + frontend: + runs-on: ubuntu-latest + container: node:22 + steps: + - uses: actions/checkout@v4 + - name: Enable pnpm + run: corepack enable + - name: Install + working-directory: frontend + run: pnpm install --frozen-lockfile + - name: Lint + working-directory: frontend + run: pnpm lint + - name: Typecheck + working-directory: frontend + run: pnpm typecheck + - name: Build + working-directory: frontend + run: pnpm build diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml new file mode 100644 index 0000000..69f00d7 --- /dev/null +++ b/.gitea/workflows/test.yml @@ -0,0 +1,23 @@ +name: tests + +on: + push: + branches: [main] + pull_request: + +jobs: + backend-tests: + runs-on: ubuntu-latest + container: mcr.microsoft.com/dotnet/sdk:10.0 + steps: + - uses: actions/checkout@v4 + - name: Restore + working-directory: backend + run: dotnet restore TeleWave.slnx + - name: Test + working-directory: backend + run: > + dotnet test TeleWave.slnx + -c Release + --no-restore + --logger "console;verbosity=normal" diff --git a/README.md b/README.md index 678768c..987a443 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # TeleWave +[![build](https://gitea.hsrv.site/mrleo1nid/TeleWave/actions/workflows/build.yml/badge.svg)](https://gitea.hsrv.site/mrleo1nid/TeleWave/actions?workflow=build.yml) +[![tests](https://gitea.hsrv.site/mrleo1nid/TeleWave/actions/workflows/test.yml/badge.svg)](https://gitea.hsrv.site/mrleo1nid/TeleWave/actions?workflow=test.yml) + **TeleWave** — сервис онлайн-каналов: пользователи смотрят сетку каналов, видео отдаётся из хранилища на сервере, админ управляет каналами и пользователями. diff --git a/frontend/package.json b/frontend/package.json index c1da005..42a3e04 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -3,6 +3,7 @@ "private": true, "version": "0.0.0", "type": "module", + "packageManager": "pnpm@11.9.0", "scripts": { "dev": "vite", "build": "tsc -b && vite build",