diff --git a/.github/workflows/workflows.yml b/.github/workflows/workflows.yml new file mode 100644 index 0000000..c9bca57 --- /dev/null +++ b/.github/workflows/workflows.yml @@ -0,0 +1,46 @@ +name: Build and Deploy Code + +on: [push, pull_request] + +jobs: + build: + env: + DATABASE_HOSTNAME: ${{secrets.DATABASE_HOSTNAME}} + DATABASE_PORT: ${{secrets.DATABASE_PORT}} + DATABASE_PASSWORD: ${{secrets.DATABASE_PASSWORD}} + DATABASE_NAME: ${{secrets.DATABASE_NAME}} + DATABASE_USERNAME: ${{secrets.DATABASE_USERNAME}} + SECRET_KEY: ${{secrets.SECRET_KEY}} + ALGORITHM: ${{secrets.ALGORITHM}} + ACCESS_TOKEN_EXPIRE_MINUTES: ${{secrets.ACCESS_TOKEN_EXPIRE_MINUTES}} + + services: + postgres: + image: postgres + env: + POSTGRES_PASSWORD: ${{secrets.DATABASE_PASSWORD}} + POSTGRES_DB: ${{secrets.DATABASE_NAME}}_test + ports: + - 5432:5432 + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + runs-on: ubuntu-latest + steps: + - name: pulling git repo + uses: actions/checkout@v2 + - name: Install python version 3.12 + uses: actions/setup-python@v2 + with: + python-version: "3.12" + - name: update pip + run: python -m pip install --upgrade pip + - name: install all dependencies + run: pip install -r requirements.txt + - name: test with pytest + run: | + pip install pytest + pytest