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:
push:
branches: [ "main" ]
branches:
- main
jobs:
# Джоба 1: Проверка кода
test_and_lint:
jobs:
formatting-check:
name: Formatting Check
runs-on: ubuntu-latest
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
- name: Настраиваем Python 3.10
uses: actions/setup-python@v5
- name: Логинимся в Docker Hub
uses: docker/login-action@v3
with:
python-version: "3.10"
username: ${{ secrets.docker_login }}
password: ${{ secrets.docker_pass }}
- name: Устанавливаем зависимости
run: |
python -m pip install --upgrade pip
pip install flake8
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- 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 "Здесь"
- name: Сборка и пуш Docker образа
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: leor156/pogoda-api-tgbot:latest