Files
tnsu-approval-route/.gitea/workflows/test.yml
T
gorbenko.pavel c3b4798703
Tests / test (pull_request) Has been cancelled
возвращен dotnet
2026-07-23 15:49:26 +05:00

63 lines
1.9 KiB
YAML

name: Tests
on:
push:
branches:
- main
- master
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_DB: tnsu_approval_route
POSTGRES_USER: tnsu_approval_route
POSTGRES_PASSWORD: tnsu_approval_route
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U tnsu_approval_route -d tnsu_approval_route"
--health-interval 5s
--health-timeout 3s
--health-retries 10
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
- name: Restore
run: dotnet restore backend/Tnsu.ApprovalRoute.sln
- name: Build
run: dotnet build backend/Tnsu.ApprovalRoute.sln --no-restore -c Release
- name: Wait for Postgres
run: |
for i in $(seq 1 30); do
if (echo > /dev/tcp/postgres/5432) 2>/dev/null; then
echo "Postgres is reachable"
exit 0
fi
echo "Waiting for postgres... ($i/30)"
sleep 2
done
echo "Postgres did not become reachable in time" >&2
exit 1
- name: Test
env:
# act_runner запускает джобу в отдельном контейнере на одной docker-сети с сервисами —
# postgres здесь резолвится по имени сервиса, а не через localhost/127.0.0.1 (это не VM, как в GitHub-hosted runners).
TEST_POSTGRES_CONNECTION: "Host=postgres;Port=5432;Database=tnsu_approval_route;Username=tnsu_approval_route;Password=tnsu_approval_route"
run: dotnet test backend/Tnsu.ApprovalRoute.sln --no-build -c Release