Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pytest coverage #843

Merged
merged 12 commits into from
May 24, 2024
31 changes: 31 additions & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,34 @@ jobs:
run: |
. ./ci/env.sh
./ci/unit_tests.sh

- name: Coverage Badge
uses: tj-actions/coverage-badge-py@v2

- name: Verify Changed Files
uses: tj-actions/verify-changed-files@v20
id: verify-changed-files
with:
files: |
*.svg

- name: Commit files
if: steps.verify-changed-files.outputs.files_changed == 'true' && github.actor != 'github-actions[bot]'
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add coverage.svg
git commit -m "Updated coverage.svg"

- name: Fetch latest changes again
if: steps.verify-changed-files.outputs.files_changed == 'true' && github.actor != 'github-actions[bot]'
run: |
git fetch origin
git rebase origin/${{ github.head_ref }}

- name: Push changes
if: steps.verify-changed-files.outputs.files_changed == 'true' && github.actor != 'github-actions[bot]'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.github_token }}
branch: ${{ github.head_ref }}
12 changes: 11 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
BEE: Build and Execution Environment
************************************

BEE is a workflow orchestration system designed to build containerized HPC applications and orchestrate workflows across HPC and cloud systems. BEE has adopted the Common Workflow Language (`CWL <https://www.commonwl.org/>`_) for specifying workflows. Complex scientific workflows specified by CWL are managed and visualized through a graph database, giving the user the ability to monitor the state of each task in the workflow. BEE runs jobs using the workload scheduler (i.e. Slurm or LSF) on the HPC system that tasks are specified to run on.
Coverage in Develop

.. image:: https://github.com/lanl/BEE/raw/develop/coverage.svg
:alt: Coverage Badge for develop

Coverage in Main

.. image:: https://github.com/lanl/BEE/raw/main/coverage.svg
:alt: Coverage Badge for main

BEE is a workflow orchestration system designed to build containerized HPC applications and orchestrate workflows across HPC and cloud systems. BEE has adopted the Common Workflow Language (`CWL <https://www.commonwl.org/>`_) for specifying workflows. Complex scientific workflows specified by CWL are managed and visualized through a graph database, giving the user the ability to monitor the state of each task in the workflow. BEE runs jobs using the workload scheduler (i.e. Slurm or Flux) on the HPC system that tasks are specified to run on.

BEE workflows can be archived for provenance and reproducibility. BEE can orchestrate workflows with containerized applications or those built locally on a system. However, there are advantages to containerizing an application.

Expand Down
3 changes: 3 additions & 0 deletions ci/unit_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@
export SLURMRESTD_SECURITY=disable_user_check

pytest beeflow/tests/

#Get coverage report
pytest --cov=beeflow beeflow/tests/
21 changes: 21 additions & 0 deletions coverage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ pylama = "8.4.1"
pylint = "2.15.9"
pytest = "7.2.0"
pytest-mock = "3.3.1"
pytest-cov = "5.0.0"
# This is commented out until we can figure out why it's causing `poetry update` to loop forever
sphinx = "^6"
sphinx-rtd-theme = "^1.0"
Expand Down