Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
# Краткое название
# Что изменено

## Описание изменений
Кратко опишите изменения и при необходимости приложите ссылку на задачу.

_Опишите изменения, которые вы внесли в код. Не забывайте указывать номер задачи или ссылку на тикет._
## Проверка

Укажите, как проверялись изменения.

## Тестирование
- автоматические проверки
- ручная проверка
- шаги для воспроизведения
- ожидаемый результат

_Опишите, как тестировали свои изменения. Например, какие тесты проходят, а какие нет._
## Риски и ограничения

## Проверка кода
Укажите важные ограничения и возможные побочные эффекты.

_Опишите, как проверить ваш код._

## Дополнительная информация

_Здесь вы можете добавить какую-либо дополнительную информацию о своих изменениях._
- миграции, изменения переменных окружения, feature flags
- замечания по деплою
- места, которые требуют повышенного внимания
28 changes: 24 additions & 4 deletions .github/workflows/django-test.yml → .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
name: Django CI
name: CI

on:
push:
branches:
- '**'
- "**"

jobs:
django-test:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11

- name: Install lint dependencies
run: |
python -m pip install --upgrade pip
pip install flake8

- name: Run flake8
run: flake8 $(git ls-files '*.py')

test:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -45,4 +65,4 @@ jobs:
env:
DEBUG: True
DJANGO_SETTINGS_MODULE: procollab.settings
PYTHONUNBUFFERED: 1
PYTHONUNBUFFERED: 1
25 changes: 13 additions & 12 deletions .github/workflows/dev-ci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 'Deploy dev server'
name: Deploy Dev

on:
push:
Expand All @@ -8,9 +8,10 @@ on:

jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- name: run on server
- name: Deploy to server
uses: garygrossgarten/github-action-ssh@release
with:
host: ${{ secrets.DEV_SERVER_HOST }}
Expand All @@ -32,20 +33,20 @@ jobs:
echo "DATABASE_HOST=${{ secrets.DEV_DATABASE_HOST }}" >> .env &&
echo "DATABASE_PORT=${{ secrets.DEV_DATABASE_PORT }}" >> .env &&

echo "EMAIL_USER=${{ secrets.EMAIL_USER }}" >> .env &&
echo "EMAIL_PASSWORD=${{ secrets.EMAIL_PASSWORD }}" >> .env &&
echo "EMAIL_HOST=${{ secrets.EMAIL_HOST }}" >> .env &&
echo "EMAIL_PORT=${{ secrets.EMAIL_PORT }}" >> .env &&

echo "SELECTEL_ACCOUNT_ID=${{ secrets.SELECTEL_ACCOUNT_ID }}" >> .env &&
echo "SELECTEL_CONTAINER_NAME=${{ secrets.SELECTEL_CONTAINER_NAME }}" >> .env &&
echo "SELECTEL_CONTAINER_PASSWORD=${{ secrets.SELECTEL_CONTAINER_PASSWORD }}" >> .env &&
echo "SELECTEL_CONTAINER_USERNAME=${{ secrets.SELECTEL_CONTAINER_USERNAME }}" >> .env &&

echo "CLICKUP_API_TOKEN=${{ secrets.CLICKUP_API_TOKEN }}" >> .env &&
echo "CLICKUP_SPACE_ID=${{ secrets.CLICKUP_SPACE_ID }}" >> .env &&

echo "SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env &&

echo "EMAIL_USER=${{ secrets.EMAIL_USER }}" >> .env &&
echo "UNISENDER_GO_API_KEY=${{ secrets.UNISENDER_GO_API_KEY }}" >> .env &&

docker compose -f docker-compose.dev-ci.yml up -d --build --force-recreate
docker compose -f docker-compose.dev-ci.yml up -d --build --force-recreate --remove-orphans &&

install -d /etc/nginx/procollab/includes &&
install -m 644 deploy/nginx/host/includes/proxy_app.inc /etc/nginx/procollab/includes/proxy_app.inc &&
install -m 644 deploy/nginx/host/dev/dev.procollab.ru /etc/nginx/sites-available/dev.procollab.ru &&
ln -sfn /etc/nginx/sites-available/dev.procollab.ru /etc/nginx/sites-enabled/dev.procollab.ru &&
nginx -t &&
systemctl reload nginx
29 changes: 0 additions & 29 deletions .github/workflows/lints.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/new_deploy.yml

This file was deleted.

21 changes: 7 additions & 14 deletions .github/workflows/release-ci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 'Build and Deploy server'
name: Release Prod

on:
release:
Expand All @@ -7,7 +7,7 @@ on:

jobs:
test:
name: 'Test before deploy'
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -46,7 +46,7 @@ jobs:
DEBUG: True

build:
name: 'Build & Publish'
name: Build Image
runs-on: ubuntu-latest
needs: [ test ]
steps:
Expand Down Expand Up @@ -86,11 +86,12 @@ jobs:
cache-to: type=gha,mode=max
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
run:
deploy:
name: Deploy
runs-on: ubuntu-latest
needs: [ build ]
steps:
- name: run on server
- name: Deploy to server
uses: garygrossgarten/github-action-ssh@release
with:
host: ${{ secrets.SERVER_HOST }}
Expand All @@ -113,20 +114,12 @@ jobs:
echo "DATABASE_HOST=${{ secrets.DATABASE_HOST }}" >> .env &&
echo "DATABASE_PORT=${{ secrets.DATABASE_PORT }}" >> .env &&

echo "EMAIL_USER=${{ secrets.EMAIL_USER }}" >> .env &&
echo "EMAIL_PASSWORD=${{ secrets.EMAIL_PASSWORD }}" >> .env &&
echo "EMAIL_HOST=${{ secrets.EMAIL_HOST }}" >> .env &&
echo "EMAIL_PORT=${{ secrets.EMAIL_PORT }}" >> .env &&
echo "SELECTEL_ACCOUNT_ID=${{ secrets.SELECTEL_ACCOUNT_ID }}" >> .env &&
echo "SELECTEL_CONTAINER_NAME=${{ secrets.SELECTEL_CONTAINER_NAME }}" >> .env &&
echo "SELECTEL_CONTAINER_PASSWORD=${{ secrets.SELECTEL_CONTAINER_PASSWORD }}" >> .env &&
echo "SELECTEL_CONTAINER_USERNAME=${{ secrets.SELECTEL_CONTAINER_USERNAME }}" >> .env &&

echo "CLICKUP_API_TOKEN=${{ secrets.CLICKUP_API_TOKEN }}" >> .env &&
echo "CLICKUP_SPACE_ID=${{ secrets.CLICKUP_SPACE_ID }}" >> .env &&

echo "SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env &&

echo "EMAIL_USER=${{ secrets.EMAIL_USER }}" >> .env &&
echo "UNISENDER_GO_API_KEY=${{ secrets.UNISENDER_GO_API_KEY }}" >> .env &&

docker compose -f docker-compose.prod-ci.yml -p prod up -d
26 changes: 26 additions & 0 deletions deploy/nginx/host/dev/dev.procollab.ru
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
server {
listen 80;
server_name dev.procollab.ru;

location ^~ /.well-known/acme-challenge/ {
root /var/www/certbot;
default_type "text/plain";
try_files $uri =404;
}

location / {
return 301 https://$host$request_uri;
}
}

server {
listen 443 ssl;
server_name dev.procollab.ru;

ssl_certificate /etc/letsencrypt/live/dev.procollab.ru-0001/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dev.procollab.ru-0001/privkey.pem;

location / {
include /etc/nginx/procollab/includes/proxy_app.inc;
}
}
15 changes: 15 additions & 0 deletions deploy/nginx/host/includes/proxy_app.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
proxy_pass http://127.0.0.1:8000;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_read_timeout 600s;
proxy_send_timeout 600s;
proxy_connect_timeout 60s;
proxy_buffering off;
52 changes: 0 additions & 52 deletions docker-compose.dev-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,51 +16,6 @@ services:
ports:
- "127.0.0.1:8000:8000"

grafana:
image: grafana/grafana:latest
restart: unless-stopped
expose:
- 3000
volumes:
- grafana-data:/var/lib/grafana
- grafana-configs:/etc/grafana
environment:
- GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s:%(http_port)s/grafana
- GF_SERVER_SERVE_FROM_SUB_PATH=true

prometheus:
image: prom/prometheus:v2.36.0
restart: unless-stopped
expose:
- 9090
volumes:
- prom-data:/prometheus
- ./prometheus:/etc/prometheus

#nginx:
# restart: unless-stopped
# build: ./nginx
# depends_on:
# - web
# ports:
# - 8000:80

loki:
image: grafana/loki:2.9.0
restart: unless-stopped
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml

promtail:
image: grafana/promtail:2.9.0
restart: unless-stopped
volumes:
- /var/log:/var/log
- ./promtail:/etc/promtail
- ./log:/procollab/log
command: -config.file=/etc/promtail/config.yml

redis:
image: redis:latest
restart: unless-stopped
Expand All @@ -85,12 +40,5 @@ services:
- web
volumes:
- .:/procollab

volumes:
grafana-data:
grafana-configs:
prom-data:
prom-configs:
log:
promtail:
redis-data:
1 change: 0 additions & 1 deletion docs/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,3 @@
- [redoc](https://api.procollab.ru/redoc)

## [WebSockets для чатов](/docs/chats.md)

2 changes: 1 addition & 1 deletion partner_programs/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ def post(self, request, *args, **kwargs):
"birthday": date_to_iso(data.get("birthday", "01-01-1900")),
"is_active": True, # bypass email verification
"onboarding_stage": None, # bypass onboarding
"verification_date": timezone.now(), # bypass ClickUp verification
"verification_date": timezone.now(), # bypass manual verification
**{field_name: data.get(field_name, "") for field_name in user_fields},
},
)
Expand Down
Loading
Loading