Added pytest for tdp_finder #11
This file contains hidden or 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: pre-commit | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: [exec] | |
| paths-ignore: | |
| - 'constraints-*.txt' | |
| jobs: | |
| pre-commit: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] | |
| name: Pre-commit python ${{ matrix.python-version }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 100 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| cache-dependency-path: | | |
| requirements.txt | |
| mypy-requirements.txt | |
| dev-requirements.txt | |
| architecture: x64 | |
| - name: 'Install requirements (standard or constraints ${{ matrix.python-version }})' | |
| run: | | |
| pip install --upgrade pip wheel | |
| constraints_file="constraints-${{ matrix.python-version }}.txt" | |
| regen_constraints= | |
| if [ -f "$constraints_file" ] ; then | |
| at="$(git --no-pager log -p -1 "--format=tformat:%at" --no-patch -- "$constraints_file")" | |
| dat="$(git --no-pager log -p -1 "--format=tformat:%at" --no-patch -- "requirements.txt")" | |
| if [ "$at" -lt "$dat" ] ; then | |
| regen_constraints=true | |
| fi | |
| else | |
| regen_constraints=true | |
| fi | |
| if [ -n "$regen_constraints" ] ; then | |
| pip install -r requirements.txt | |
| pip freeze > "$constraints_file" | |
| grep -vF git+ "$constraints_file" > "$constraints_file"-relaxed | |
| else | |
| grep -vF git+ "$constraints_file" > "$constraints_file"-relaxed | |
| pip install -r requirements.txt -c "$constraints_file"-relaxed | |
| fi | |
| - name: 'Install development requirements' | |
| run: | | |
| pip install -r dev-requirements.txt -r mypy-requirements.txt -c constraints-${{ matrix.python-version }}.txt-relaxed | |
| - name: MyPy cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: '.mypy_cache/[0-9]*' | |
| key: mypy-${{ matrix.python-version }} | |
| - name: 'pre-commit' | |
| uses: pre-commit/[email protected] | |
| # if: ${{ matrix.python-version != '3.6' }} | |
| with: | |
| extra_args: --all -c .pre-commit-config.yaml | |
| # - name: 'pre-commit (custom Python ${{ matrix.python-version }})' | |
| # uses: pre-commit/[email protected] | |
| # if: ${{ matrix.python-version == '3.6' }} | |
| # with: | |
| # extra_args: --all -c .pre-commit-config-gh-${{ matrix.python-version }}.yaml | |
| - name: 'pytest + coverage (${{ matrix.python-version }})' | |
| run: | | |
| pytest --cov=execution_process_metrics_collector | |
| - name: Get transitive dependencies licences | |
| id: license_check_print_report | |
| # uses: pilosus/[email protected] | |
| # continue-on-error: true | |
| uses: pilosus/[email protected] | |
| with: | |
| requirements: constraints-${{ matrix.python-version }}.txt | |
| # - name: Check transitive dependencies licences | |
| # id: license_check_report | |
| # uses: pilosus/[email protected] | |
| # with: | |
| # requirements: constraints-${{ matrix.python-version }}.txt | |
| # fail: 'StrongCopyleft' | |
| # exclude: '(?i)^(pylint|dulwich|docutils).*' | |
| - name: Print licences report | |
| if: ${{ always() }} | |
| run: echo "${{ steps.license_check_print_report.outputs.report }}" | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: pre-commit-${{ matrix.python-version }} | |
| retention-days: 2 | |
| path: constraints-${{ matrix.python-version }}.txt | |
| pull_request_changes: | |
| # Do this only when it is not a pull request validation | |
| if: github.event_name != 'pull_request' | |
| runs-on: ubuntu-latest | |
| name: Pull request with the newly generated contents | |
| needs: | |
| - pre-commit | |
| steps: | |
| - name: Get analysis timestamp | |
| id: timestamp | |
| run: echo "timestamp=$(date -Is)" >> "$GITHUB_OUTPUT" | |
| - uses: actions/checkout@v5 | |
| - uses: actions/download-artifact@v5 | |
| id: download | |
| with: | |
| pattern: pre-commit-* | |
| merge-multiple: true | |
| path: changes-dir | |
| - name: Move artifacts to their right place | |
| id: move | |
| run: | | |
| skip=true | |
| if [ -d "${{steps.download.outputs.download-path}}" ] ; then | |
| for con in "${{steps.download.outputs.download-path}}"/constraints-*.txt ; do | |
| case "$con" in | |
| */constraints-\*.txt) | |
| break | |
| ;; | |
| *) | |
| cp -p "$con" . | |
| skip=false | |
| ;; | |
| esac | |
| done | |
| fi | |
| echo "skip=$skip" >> "$GITHUB_OUTPUT" | |
| - name: Create Pull Request | |
| id: cpr | |
| uses: peter-evans/create-pull-request@v7 | |
| if: steps.move.outputs.skip == 'false' | |
| with: | |
| title: Updated constraints (triggered on ${{ steps.timestamp.outputs.timestamp }} by ${{ github.sha }}) | |
| branch: create-pull-request/patch-constraints | |
| add-paths: constraints-*.txt | |
| delete-branch: true | |
| commit-message: "[create-pull-request] Automatically commit updated contents (constraints)" | |
| - name: Check outputs | |
| if: ${{ steps.cpr.outputs.pull-request-number }} | |
| run: | | |
| echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" >> "$GITHUB_STEP_SUMMARY" | |
| echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" >> "$GITHUB_STEP_SUMMARY" |