Create github action workflows for automatic release #2
Workflow file for this run
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: Run all checks on starters | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
security-scan: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] | |
python-version: ["3.10"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{matrix.python-version}} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{matrix.python-version}} | |
- name: Cache python packages for Linux | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pip | |
key: ${{matrix.os}}-python-${{matrix.python-version}} | |
- name: Install dependencies | |
run: pip install -r test_requirements.txt | |
- name: pip freeze | |
run: pip freeze | |
- name: Run security scan | |
run: | | |
bandit -ll -r . | |
e2e-tests: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest ] | |
python-version: [ "3.7", "3.8", "3.9", "3.10" ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{matrix.python-version}} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{matrix.python-version}} | |
- name: Cache python packages for Linux | |
if: matrix.os == 'ubuntu-latest' | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pip | |
key: ${{matrix.os}}-python-${{matrix.python-version}} | |
- name: Cache python packages for Windows | |
if: matrix.os == 'windows-latest' | |
uses: actions/cache@v3 | |
with: | |
path: ~\AppData\Local\pip\Cache | |
key: ${{matrix.os}}-python-${{matrix.python-version}} | |
- name: Install dependencies | |
run: pip install -r test_requirements.txt | |
- name: pip freeze | |
run: pip freeze | |
- name: Run e2e tests | |
run: | | |
behave features/run.feature | |
lint: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest] | |
python-version: [ "3.7", "3.8", "3.9", "3.10" ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{matrix.python-version}} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{matrix.python-version}} | |
- name: Cache python packages for Linux | |
if: matrix.os == 'ubuntu-latest' | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pip | |
key: ${{matrix.os}}-python-${{matrix.python-version}} | |
- name: Cache python packages for Windows | |
if: matrix.os == 'windows-latest' | |
uses: actions/cache@v3 | |
with: | |
path: ~\AppData\Local\pip\Cache | |
key: ${{matrix.os}}-python-${{matrix.python-version}} | |
- name: Install dependencies | |
run: pip install -r test_requirements.txt | |
- name: pip freeze | |
run: pip freeze | |
- name: Run e2e tests | |
run: | | |
behave features/lint.feature |