Update CI

This commit is contained in:
Leo
2026-07-09 12:40:17 +05:00
parent 068497e9f0
commit d0f08abed7
+41 -31
View File
@@ -1,41 +1,51 @@
name: Telegram Bot CI/CD name: My first CI Pipeline
on: on:
push: push:
branches: [ "main" ] branches:
- main
jobs: jobs:
# Джоба 1: Проверка кода
test_and_lint: formatting-check:
name: Formatting Check
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Скачиваем код - uses: actions/checkout@v4
- name: run YAPF to test if python code is correctly formatted
uses: AlexanderMelde/yapf-action@v2.0
with:
args: --verbose
security-scan:
name: Security Scan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run OWASP Noir
id: noir
uses: owasp-noir/noir@v1.1.0
with:
base_path: '.'
- name: Display results
run: echo '${{ steps.noir.outputs.endpoints }}' | jq .
build-and-push:
name: Build and push to Docker Hub
needs: [security-scan, formatting-check]
runs-on: ubuntu-latest
steps:
- name: Скачиваем код бота
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Настраиваем Python 3.10 - name: Логинимся в Docker Hub
uses: actions/setup-python@v5 uses: docker/login-action@v3
with: with:
python-version: "3.10" username: ${{ secrets.docker_login }}
password: ${{ secrets.docker_pass }}
- name: Устанавливаем зависимости - name: Сборка и пуш Docker образа
run: | uses: docker/build-push-action@v6
python -m pip install --upgrade pip with:
pip install flake8 context: .
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi push: true
tags: leor156/pogoda-api-tgbot:latest
- name: Проверяем код линтером (flake8)
run: |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# ДОБАВЛЯЕМ СЮДА:
- name: Запуск тестов
run: |
pytest
# Джоба 2: Деплой (Запустится только если Джоба 1 прошла успешно)
deploy:
needs: test_and_lint
runs-on: ubuntu-latest
steps:
- name: Деплой на сервер
run: echo "Здесь"