Skip to content

fix settings

fix settings #116

Workflow file for this run

name: Check
on: push
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install requirements
run: pip install -r requirements.txt
- name: Lint Ruff
run: ruff check .
- name: Lint Flake8
run: flake8 .
types:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install requirements
run: pip install -r requirements.txt
- name: Check types
run: mypy .
test:
runs-on: ubuntu-latest
needs: [lint, types]
container: python:3.12.2-slim
services:
postgres:
image: postgres
env:
POSTGRES_USER: ${{ secrets.DATABASE_USER }}
POSTGRES_PASSWORD: ${{ secrets.DATABASE_PASSWORD }}
POSTGRES_DB: ${{ secrets.DATABASE_NAME }}
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install requirements
run: pip install -r requirements.txt
- name: Run migrations
env:
DATABASE_NAME: ${{ secrets.DATABASE_NAME }}
DATABASE_USER: ${{ secrets.DATABASE_USER }}
DATABASE_PASSWORD: ${{ secrets.DATABASE_PASSWORD }}
DATABASE_HOST: postgres
DATABASE_PORT: 5432
DEBUG: ${{ secrets.DEBUG }}
CORS_ALLOWED_ORIGINS: ${{ secrets.CORS_ALLOWED_ORIGINS }}
ALLOWED_HOSTS: ${{ secrets.ALLOWED_HOSTS }}
SECRET_KEY: ${{ secrets.SECRET_KEY }}
EMAIL_HOST: ${{ secrets.EMAIL_HOST }}
EMAIL_PORT: ${{ secrets.EMAIL_PORT }}
EMAIL_HOST_USER: ${{ secrets.EMAIL_HOST_USER }}
EMAIL_HOST_PASSWORD: ${{ secrets.EMAIL_HOST_PASSWORD }}
run: python3 manage.py migrate
- name: Tests
env:
DATABASE_NAME: ${{ secrets.DATABASE_NAME }}
DATABASE_USER: ${{ secrets.DATABASE_USER }}
DATABASE_PASSWORD: ${{ secrets.DATABASE_PASSWORD }}
DATABASE_HOST: postgres
DATABASE_PORT: 5432
DEBUG: ${{ secrets.DEBUG }}
CORS_ALLOWED_ORIGINS: ${{ secrets.CORS_ALLOWED_ORIGINS }}
ALLOWED_HOSTS: ${{ secrets.ALLOWED_HOSTS }}
SECRET_KEY: ${{ secrets.SECRET_KEY }}
EMAIL_HOST: ${{ secrets.EMAIL_HOST }}
EMAIL_PORT: ${{ secrets.EMAIL_PORT }}
EMAIL_HOST_USER: ${{ secrets.EMAIL_HOST_USER }}
EMAIL_HOST_PASSWORD: ${{ secrets.EMAIL_HOST_PASSWORD }}
run: pytest .
build:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Copy repository contents via scp
uses: appleboy/scp-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
port: ${{ secrets.PORT }}
key: ${{ secrets.SSHKEY }}
source: "."
target: "/var/www/mywebsite"
- name: Create .env file on remote server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
port: ${{ secrets.PORT }}
key: ${{ secrets.SSHKEY }}
script: |
cd /var/www/mywebsite
sudo rm -f .env
sudo touch .env
sudo chmod 666 .env
sudo echo DEBUG=${{ secrets.DEBUG }} >> .env
sudo echo CORS_ALLOWED_ORIGINS=${{ secrets.CORS_ALLOWED_ORIGINS }} >> .env
sudo echo ALLOWED_HOSTS=${{ secrets.ALLOWED_HOSTS }} >> .env
sudo echo DATABASE_NAME=${{ secrets.DATABASE_NAME }} >> .env
sudo echo DATABASE_USER=${{ secrets.DATABASE_USER }} >> .env
sudo echo DATABASE_PASSWORD=${{ secrets.DATABASE_PASSWORD }} >> .env
sudo echo DATABASE_HOST=${{ secrets.DATABASE_HOST }} >> .env
sudo echo DATABASE_PORT=${{ secrets.DATABASE_PORT }} >> .env
sudo echo SECRET_KEY=${{ secrets.SECRET_KEY }} >> .env
sudo echo EMAIL_HOST=${{ secrets.EMAIL_HOST }} >> .env
sudo echo EMAIL_PORT=${{ secrets.EMAIL_PORT }} >> .env
sudo echo EMAIL_HOST_USER=${{ secrets.EMAIL_HOST_USER }} >> .env
sudo echo EMAIL_HOST_PASSWORD=${{ secrets.EMAIL_HOST_PASSWORD }} >> .env
- name: Executing remote command
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
port: ${{ secrets.PORT }}
key: ${{ secrets.SSHKEY }}
script: |
cd /var/www/mywebsite
docker-compose up -d