70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
name: CI-pipeline
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- dev
|
|
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
linters:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Getting the codebase
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: dev
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install dependencies
|
|
run: pip install -r requirements.txt
|
|
|
|
- name: Run tests
|
|
run: pytest
|
|
|
|
- name: Notify in telegram about fail
|
|
if: ${{ failure() }}
|
|
uses: appleboy/telegram-action@master
|
|
with:
|
|
to: ${{ secrets.TELEGRAM_TO }}
|
|
token: ${{ secrets.TELEGRAM_TOKEN }}
|
|
message: |
|
|
PyTest failed
|
|
Commit message: ${{ github.event.commits[0].message }}
|
|
Repository: ${{ github.repository }}
|
|
See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}}
|
|
|
|
- name: Lint the Dockerfile
|
|
uses: hadolint/hadolint-action@v3.1.0
|
|
with:
|
|
dockerfile: Dockerfile
|
|
|
|
- name: Lint the source code
|
|
uses: Silleellie/pylint-github-action@v2.1
|
|
with:
|
|
lint-path: |
|
|
mysite
|
|
polls
|
|
manage.py
|
|
requirements-path: requirements.txt
|
|
readme-path: README.md
|
|
python-version: 3.11 # python version which will lint the package
|
|
|
|
- name: Notify in telegram about success
|
|
uses: appleboy/telegram-action@master
|
|
with:
|
|
to: ${{ secrets.TELEGRAM_TO }}
|
|
token: ${{ secrets.TELEGRAM_TOKEN }}
|
|
message: |
|
|
PyTest successed
|
|
Commit message: ${{ github.event.commits[0].message }}
|
|
Repository: ${{ github.repository }}
|
|
See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}}
|