add imports in init files #29
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "QSAR CI/CD Pipeline" | |
on: | |
push: | |
branches: | |
- main | |
- develop | |
pull_request: | |
branches: | |
- main | |
- develop | |
release: | |
types: [ created ] | |
permissions: | |
contents: write | |
jobs: | |
lint-and-static-analysis: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Upgrade pip | |
run: python -m pip install --upgrade pip | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install flake8 pylint black isort | |
- name: Run Linters and Static Analysis | |
continue-on-error: true | |
run: | | |
flake8 qsar/ tests/ | |
pylint qsar/ tests/ | |
black qsar/ tests/ --check | |
isort qsar/ tests/ --check-only | |
unit-tests-and-coverage: | |
needs: lint-and-static-analysis | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install dependencies | |
uses: py-actions/py-dependency-install@v4 | |
with: | |
path: "requirements.txt" | |
- name: Run unit tests with pytest | |
run: | | |
pip install pytest pytest-cov | |
pytest tests/ --cov=qsar --cov-report=xml --cov-report=html | |
security-scan: | |
needs: unit-tests-and-coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install Safety | |
run: | | |
pip install safety | |
- name: Run Safety to check dependencies for security vulnerabilities | |
continue-on-error: true | |
run: | | |
safety check | |
build-deploy-docs: | |
needs: security-scan | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install dependencies | |
uses: py-actions/py-dependency-install@v4 | |
with: | |
path: "requirements.txt" | |
- name: Sphinx build | |
run: | | |
sphinx-build docs _build | |
- name: Deploy to GitHub Pages | |
uses: peaceiris/actions-gh-pages@v3 | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
with: | |
publish_branch: gh-pages | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: _build/ | |
force_orphan: true |