Skip to content

Attempt to fix pytest and generate badge #10

Attempt to fix pytest and generate badge

Attempt to fix pytest and generate badge #10

Workflow file for this run

# See the NOTICE file distributed with this work for additional information
# regarding copyright ownership.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: "Python CI"
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions: write-all
defaults:
run:
working-directory: ./
jobs:
pylint:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9"]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/python_build
- name: Run pylint
run: |
pylint --rcfile pyproject.toml mevolib
pylint --rcfile pyproject.toml tests
mypy:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9"]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/python_build
- name: Run mypy
run: |
mypy --config-file pyproject.toml mevolib
mypy --config-file pyproject.toml tests
black:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9"]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/python_build
- name: Run black
run: |
black --config pyproject.toml --check .
pytest:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9"]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/python_build
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y fasttree raxml mafft muscle clustalo
- name: Run pytest with coverage
continue-on-error: true
run: |
coverage run -m pytest --junitxml=./reports/test-results-${{ matrix.python-version }}.xml
coverage xml -o ./reports/coverage/coverage.xml
genbadge coverage -i ./reports/coverage/coverage.xml -o ./reports/coverage/coverage-badge.svg
coverage report -m
- name: Archive code coverage results
uses: actions/upload-artifact@v4
with:
name: code-coverage-report
path: ./tests/inference_init_tmp_dir
- name: Add coverage reports
uses: xportation/junit-coverage-report@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
junit-path: ./reports/unit/test-results-${{ matrix.python-version }}.xml
coverage-path: ./reports/coverage/coverage.xml
- name: Upload badge as artifact
uses: actions/upload-artifact@v4
with:
name: badge
path: ./reports/coverage/coverage-badge.svg
if-no-files-found: error
- name: Commit badge
continue-on-error: true
env:
BADGE: ./reports/coverage/coverage-badge.svg
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add "${BADGE}"
git commit -m "Add/Update badge"
- name: Push badge commit
uses: ad-m/github-push-action@master
if: ${{ success() }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: badges