Files
core/.gitea/workflows/main.yml
Untone e78e12eeee
Some checks failed
Deploy on push / deploy (push) Failing after 17s
circular-fix
2025-08-17 16:33:54 +03:00

111 lines
3.6 KiB
YAML
Raw Permalink 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: 'Deploy on push'
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Cloning repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install uv
run: |
# Try multiple installation methods for uv
if curl -LsSf https://astral.sh/uv/install.sh | sh; then
echo "uv installed successfully via install script"
elif curl -LsSf https://github.com/astral-sh/uv/releases/latest/download/uv-installer.sh | sh; then
echo "uv installed successfully via GitHub installer"
else
echo "uv installation failed, using pip fallback"
pip install uv
fi
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Prepare Environment
run: |
uv --version
python3 --version
- name: Install Dependencies
run: |
uv sync --frozen
uv sync --group dev
- name: Run linting and type checking
run: |
echo "🔍 Запускаем проверки качества кода..."
# Ruff linting
echo "📝 Проверяем код с помощью Ruff..."
if uv run ruff check .; then
echo "✅ Ruff проверка прошла успешно"
else
echo "❌ Ruff нашел проблемы в коде"
exit 1
fi
# Ruff formatting check
echo "🎨 Проверяем форматирование с помощью Ruff..."
if uv run ruff format --check .; then
echo "✅ Форматирование корректно"
else
echo "❌ Код не отформатирован согласно стандартам"
exit 1
fi
# MyPy type checking
echo "🏷️ Проверяем типы с помощью MyPy..."
if uv run mypy . --ignore-missing-imports; then
echo "✅ MyPy проверка прошла успешно"
else
echo "❌ MyPy нашел проблемы с типами"
exit 1
fi
- name: Install Node.js Dependencies
run: |
npm ci
- name: Build Frontend
run: |
npm run build
- name: Setup Playwright (use pre-installed browsers)
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
run: |
# Используем предустановленные браузеры в системе
npx playwright --version
- name: Run Tests
env:
PLAYWRIGHT_HEADLESS: "true"
run: |
uv run pytest tests/ -v
- name: Get Repo Name
id: repo_name
run: echo "::set-output name=repo::$(echo ${GITHUB_REPOSITORY##*/})"
- name: Get Branch Name
id: branch_name
run: echo "::set-output name=branch::$(echo ${GITHUB_REF##*/})"
- name: Push to dokku for main branch
if: github.ref == 'refs/heads/main'
uses: dokku/github-action@master
with:
branch: 'main'
git_remote_url: 'ssh://dokku@v2.discours.io:22/discoursio-api'
ssh_private_key: ${{ secrets.V2_PRIVATE_KEY }}
- name: Push to dokku for dev branch
if: github.ref == 'refs/heads/dev'
uses: dokku/github-action@master
with:
branch: 'dev'
git_remote_url: 'ssh://dokku@staging.discours.io:22/core'
ssh_private_key: ${{ secrets.STAGING_PRIVATE_KEY }}