Add: Auto-merge workflow, to enable squash auto-merge in open PRs (#817) #1486
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: Build and test Python package | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
linting: | |
name: Linting | |
runs-on: 'ubuntu-latest' | |
strategy: | |
matrix: | |
python-version: | |
- 3.7 | |
- 3.8 | |
- 3.9 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install poetry and dependencies | |
uses: greenbone/actions/poetry@v3 | |
- name: Check with black, pylint and pontos.version | |
uses: greenbone/actions/lint-python@v3 | |
with: | |
packages: pheme tests | |
test: | |
name: Run all tests | |
runs-on: 'ubuntu-latest' | |
strategy: | |
matrix: | |
python-version: | |
- 3.7 | |
- 3.8 | |
- 3.9 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install poetry and dependencies | |
uses: greenbone/actions/poetry@v3 | |
- name: Run unit tests | |
run: poetry run python -m pytest | |
codecov: | |
name: Upload coverage to codecov.io | |
needs: test | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install poetry and dependencies | |
uses: greenbone/actions/poetry@v3 | |
- name: Calculate and upload coverage to codecov.io | |
uses: greenbone/actions/coverage-python@v3 | |
with: | |
test-command: -m pytest |