Skip to content

Добавление в воркфлоу проверок flake8. #2

Добавление в воркфлоу проверок flake8.

Добавление в воркфлоу проверок flake8. #2

Workflow file for this run

name: Main Foodgram workflow
on: push
jobs:
tests:
runs-on: ubuntu-latest
# services:
# postgres:
# image: postgres:13.10
# env:
# POSTGRES_USER: django_user
# POSTGRES_PASSWORD: django_password
# POSTGRES_DB: django_db
# ports:
# - 5432:5432
# options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.10
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8==6.0.0 flake8-isort==6.0.0
pip install -r ./backend/requirements.txt
- name: Test with flake8 #and django tests
# env:
# POSTGRES_USER: django_user
# POSTGRES_PASSWORD: django_password
# POSTGRES_DB: django_db
# SECRET_KEY: ${{ secrets.SECRET_KEY }}
# DB_HOST: 127.0.0.1
# DB_PORT: 5432
run: |
python -m flake8 backend/
# cd backend/
# python manage.py test
# build_backend_and_push_to_docker_hub:
# name: Push Docker image to DockerHub
# runs-on: ubuntu-latest
# needs: tests
# if: github.ref == 'refs/heads/main'
# steps:
# - name: Check out the repo
# uses: actions/checkout@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
# - name: Login to Docker
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
# - name: Push to DockerHub
# uses: docker/build-push-action@v4
# with:
# context: ./backend/
# push: true
# tags: ${{ secrets.DOCKER_USERNAME }}/kittygram_backend:latest
# frontend_tests:
# runs-on: ubuntu-latest
# steps:
# - name: Check out the repo
# uses: actions/checkout@v3
# - name: Set up nodeJS
# uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Install dependencies
# run: |
# cd frontend/
# npm ci
# - name: Test frontend
# run: |
# cd frontend/
# npm run test
# build_frontend_and_push_to_docker_hub:
# name: Push frontend Docker image to DockerHub
# runs-on: ubuntu-latest
# needs: frontend_tests
# if: github.ref == 'refs/heads/main'
# steps:
# - name: Check out the repo
# uses: actions/checkout@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
# - name: Login to Docker
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
# - name: Push to DockerHub
# uses: docker/build-push-action@v4
# with:
# context: ./frontend/
# push: true
# tags: ${{ secrets.DOCKER_USERNAME }}/kittygram_frontend:latest
# build_gateway_and_push_to_docker_hub:
# name: Push gateway Docker image to DockerHub
# runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/main'
# steps:
# - name: Check out the repo
# uses: actions/checkout@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
# - name: Login to Docker
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
# - name: Push to DockerHub
# uses: docker/build-push-action@v4
# with:
# context: ./nginx/
# push: true
# tags: ${{ secrets.DOCKER_USERNAME }}/kittygram_gateway:latest
# deploy:
# runs-on: ubuntu-latest
# needs:
# - build_backend_and_push_to_docker_hub
# - build_frontend_and_push_to_docker_hub
# - build_gateway_and_push_to_docker_hub
# steps:
# - name: Checkout repo
# uses: actions/checkout@v3
# - name: Copy docker-compose.production.yml via ssh
# uses: appleboy/scp-action@master
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USER }}
# key: ${{ secrets.SSH_KEY }}
# passphrase: ${{ secrets.SSH_PASSPHRASE }}
# source: "docker-compose.production.yml"
# target: "kittygram"
# - name: Executing remote ssh commands to deploy
# uses: appleboy/ssh-action@master
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USER }}
# key: ${{ secrets.SSH_KEY }}
# passphrase: ${{ secrets.SSH_PASSPHRASE }}
# script: |
# cd kittygram
# sudo docker compose -f docker-compose.production.yml down
# sudo docker compose -f docker-compose.production.yml pull
# sudo docker compose -f docker-compose.production.yml up -d
# sudo docker compose -f docker-compose.production.yml exec backend python manage.py migrate
# sudo docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic
# sudo docker compose -f docker-compose.production.yml exec backend cp -r /app/collected_static/. /backend_static/static/
# send_message:
# runs-on: ubuntu-latest
# needs: deploy
# steps:
# - name: Send message
# uses: appleboy/telegram-action@master
# with:
# to: ${{ secrets.TELEGRAM_TO }}
# token: ${{ secrets.TELEGRAM_TOKEN }}
# message: |
# ${{ github.actor }} опубликовал(а) изменения в ветке main: ${{ github.event.commits[0].message }}
# Деплой успешно выполнен!