Skip to content

Create codeql.yml

Create codeql.yml #17

Workflow file for this run

name: Test
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
jobs:
linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11.2"
- uses: actions/cache@v4
id: cache
with:
path: |
.venv
~/.cache/pre-commit
key: venv-1
- run: |
python -m venv .venv --upgrade-deps
source .venv/bin/activate
pip install pre-commit
if: steps.cache.outputs.cache-hit != 'true'
- continue-on-error: true
run: |
source .venv/bin/activate
pre-commit run --all-files
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.ref }}
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: "3.11.2"
- uses: actions/cache@v4
id: cache
with:
path: |
~/.local
.venv
key: ${{ hashFiles('**/poetry.lock') }}-1
- uses: snok/install-poetry@v1
with:
virtualenvs-in-project: true
- name: install dependencies
id: install-deps
continue-on-error: true
run: |
poetry config virtualenvs.create true
poetry install --no-interaction --no-root
- run: poetry install --no-interaction --no-root
if: steps.cache.outputs.cache-hit != 'true'
- run: source $VENV && pytest main_tests.py --cov-report=xml
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4.0.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
fail_ci_if_error: true