From b6bca1729cb38dfa5737a7deeb9e6ec27ec32177 Mon Sep 17 00:00:00 2001 From: mariugul Date: Thu, 1 Aug 2024 01:25:01 +0200 Subject: [PATCH] ci: add code quality to CI --- .github/workflows/ci.yml | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..29f484d1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,46 @@ +name: CI + +on: + pull_request: + types: [opened, synchronize] + push: + branches: + - main + +jobs: + code-quality: + runs-on: ubuntu-latest + env: + SKIP: no-commit-to-branch # skips commit to main check + PRE_COMMIT_CONFIG: code_quality/.pre-commit-config.yaml + VENV: venv + VENV_ACTIVATE: venv/bin/activate + + steps: + - name: Check out code + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # V4.1.7 + with: + token: ${{ github.token }} + + - name: Cache pre-commit dependencies + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # V4.0.2 + id: cache + with: + path: ~/.cache/pre-commit + key: ${{ runner.os }}-pre-commit-${{ hashFiles(env.PRE_COMMIT_CONFIG) }} + restore-keys: | + ${{ runner.os }}-pre-commit- + + - name: Install Requirements + run: python3 -m pip install docstr-coverage==2.3.2 pre-commit==3.7.1 + + - name: Code Quality + run: | + pre-commit run --config ${{ env.PRE_COMMIT_CONFIG }} --all-files + + - name: Docstring Coverage + run: | + mkdir -p docs/badges/ docstr + mv code_quality/.docstr.yaml . # --config option didn't work + docstr-coverage 2>&1 | tee docstr/docstring_coverage.txt + ls docs/badges