buildtest

HPC System and Software Testing Framework

https://github.com/buildtesters/buildtest

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    6 of 24 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.2%) to scientific vocabulary

Keywords

buildtest hpc json-schema system-testing test-automation testing-framework yaml

Keywords from Contributors

hack energy-system battery mesh data-profilers spacy-extension transformer evolutionary-algorithms histogram datacleaner
Last synced: 6 months ago · JSON representation

Repository

HPC System and Software Testing Framework

Basic Info
  • Host: GitHub
  • Owner: buildtesters
  • License: mit
  • Language: Python
  • Default Branch: devel
  • Homepage: https://buildtest.rtfd.io
  • Size: 54.1 MB
Statistics
  • Stars: 69
  • Watchers: 6
  • Forks: 21
  • Open Issues: 18
  • Releases: 51
Topics
buildtest hpc json-schema system-testing test-automation testing-framework yaml
Created almost 9 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog Contributing Funding License Code of conduct Security Zenodo

README.rst

.. image:: https://github.com/buildtesters/buildtest/blob/devel/logos/BuildTest_Primary_Center_4x3.png
   :width: 400
   
.. |docs| image:: https://readthedocs.org/projects/buildtest/badge/?version=devel
    :alt: Documentation Status
    :scale: 100%
    :target: https://readthedocs.org/projects/buildtest/builds/

.. |license| image:: https://img.shields.io/github/license/buildtesters/buildtest.svg
   :target: https://github.com/buildtesters/buildtest/blob/devel/LICENSE

.. |release| image:: https://img.shields.io/github/v/release/buildtesters/buildtest.svg
   :target: https://github.com/buildtesters/buildtest/releases
   
.. |issues| image:: https://img.shields.io/github/issues/buildtesters/buildtest.svg 
    :target: https://github.com/buildtesters/buildtest/issues
    
.. |open_pr| image:: https://img.shields.io/github/issues-pr/buildtesters/buildtest.svg
    :target: https://github.com/buildtesters/buildtest/pulls
    
.. |commit_activity_yearly| image:: https://img.shields.io/github/commit-activity/y/buildtesters/buildtest.svg
   :target: https://github.com/buildtesters/buildtest/pulse

.. |commit_activity_monthly| image:: https://img.shields.io/github/commit-activity/m/buildtesters/buildtest.svg
   :target: https://github.com/buildtesters/buildtest/pulse

.. |core_infrastructure| image:: https://bestpractices.coreinfrastructure.org/projects/3469/badge
   :target: https://bestpractices.coreinfrastructure.org/projects/3469

.. |codecov| image:: https://codecov.io/gh/buildtesters/buildtest/branch/devel/graph/badge.svg
    :target: https://codecov.io/gh/buildtesters/buildtest

.. |codefactor| image:: https://www.codefactor.io/repository/github/buildtesters/buildtest/badge
    :target: https://www.codefactor.io/repository/github/buildtesters/buildtest
    :alt: CodeFactor

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black

.. |checkurls| image:: https://github.com/buildtesters/buildtest/workflows/Check%20URLs/badge.svg
    :target: https://github.com/buildtesters/buildtest/actions

.. |style| image:: https://github.com/buildtesters/buildtest/workflows/Style%20Checks/badge.svg
    :target: https://github.com/buildtesters/buildtest/actions
    
.. |isort| image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
    :target: https://pycqa.github.io/isort/

.. |installation| image:: https://github.com/buildtesters/buildtest/workflows/installation/badge.svg
   :target: https://github.com/buildtesters/buildtest/actions

.. |regressiontest| image:: https://github.com/buildtesters/buildtest/workflows/regressiontest/badge.svg
    :target: https://github.com/buildtesters/buildtest/actions

.. |nightly_regression_test| image:: https://github.com/buildtesters/buildtest/actions/workflows/nightly_regression.yml/badge.svg
    :target: https://github.com/buildtesters/buildtest/actions

.. |gh_pages_devel| image:: https://github.com/buildtesters/buildtest/workflows/Schema%20Documentation/badge.svg
    :target: https://github.com/buildtesters/buildtest/actions

.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3967143.svg
   :target: https://doi.org/10.5281/zenodo.3967143

buildtest
---------

| |license| |docs| |codecov| |release| |installation| |regressiontest| |nightly_regression_test| |gh_pages_devel| |checkurls| |codefactor| |style|  |black| |isort| |issues| |open_pr| |commit_activity_yearly| |commit_activity_monthly| |core_infrastructure| |zenodo|
=======

`buildtest `_ is a testing framework that automates build/execution of tests which allows HPC facilities to develop
test for their system. In buildtest, tests are written as test recipes called **Buildspecs** which is a `YAML `_
used by buildtest for generating shell-scripts and run them on your system. Buildtest will validate buildspecs using `jsonschema `_
which helps define structure of buildspec when writing test. buildtest can support batch submission to job schedulers including: `IBM Spectrum LSF `_,
`Slurm `_, `PBS `_ and `Cobalt `_ .

If you want to learn more about buildtest please read `Summary of Buildtest `_.

Installation
--------------


Installing buildtest, is relatively easy. Just clone this repo and source the setup script::

    git clone https://github.com/buildtesters/buildtest.git
    cd buildtest
    source setup.sh


For more details see `Installing buildtest `_.


Schema Development
-------------------

The schemas are found in top-level folder `buildtest/schemas/ `_
and published via Github Pages at https://buildtesters.github.io/buildtest/. Each schema has a unique URI defined
by `$id `_.

For any issues with schema, please create an `issue `_ in buildtest.

References
------------

- Documentation: http://buildtest.rtfd.io/

- Schema Docs: https://buildtesters.github.io/buildtest/

- ReadTheDocs: https://readthedocs.org/projects/buildtest/

- CodeCov: https://codecov.io/gh/buildtesters/buildtest

- CodeFactor: https://www.codefactor.io/repository/github/buildtesters/buildtest

- Snyk: https://app.snyk.io/org/buildtesters/

Documentation
-------------

buildtest `documentation `_  is your
source for getting help with buildtest. If you get stuck check out the
`current issues `_ to see
if you face similar issue. If all else fails please create an `issue `_.

Source Code
------------

buildtest source code is under `buildtest `_
directory found in the root of this repository. The documentation pages are located in
`docs `_ folder
which consist of `Makefile `_ and
`conf.py `_ to build the sphinx project along with documentation pages in
ReStructuredText (rst). The regression test are found in top-level directory
named `tests `_ and the test suite is run via `pytest `_.

Slack
------

Slack is the **preferred** method for communication and user support with buildtest.
If you haven't joined slack click the `link `_
to register your account. Once you have an account you can access slack channel at https://hpcbuildtest.slack.com and post
your questions in **#general** channel.

Contributing Back
-------------------

We would love to get your feedback and contribution, for more details see
`contribution guide `_.

Author
-------

buildtest was founded by `Shahzeb Siddiqui `_.

LICENSE
--------

buildtest is released under the MIT License. See
`LICENSE `_ for more details.

Owner

  • Name: buildtesters
  • Login: buildtesters
  • Kind: organization

This is the official organization for the buildtest project including the buildtest framework and test repositories from other organizations

GitHub Events

Total
  • Issues event: 3
  • Watch event: 3
  • Delete event: 11
  • Issue comment event: 6
  • Push event: 26
  • Pull request review event: 2
  • Pull request event: 27
  • Fork event: 1
  • Create event: 12
Last Year
  • Issues event: 3
  • Watch event: 3
  • Delete event: 11
  • Issue comment event: 6
  • Push event: 26
  • Pull request review event: 2
  • Pull request event: 27
  • Fork event: 1
  • Create event: 12

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 4,317
  • Total Committers: 24
  • Avg Commits per committer: 179.875
  • Development Distribution Score (DDS): 0.242
Past Year
  • Commits: 131
  • Committers: 4
  • Avg Commits per committer: 32.75
  • Development Distribution Score (DDS): 0.191
Top Committers
Name Email Commits
Shahzeb Siddiqui s****i@g****m 3,271
Sean Xiang s****x@a****u 356
PrathmeshSambrekar p****7@g****m 153
dependabot[bot] 4****] 85
Mariam Ajibade a****m@p****u 72
Jeffrey J****r@O****m 59
kingxleyy 1****y 57
pre-commit-ci[bot] 6****] 54
Suzan A Anwar s****r@p****u 49
braeeast2001 b****t@l****v 37
Mendi03 s****3@g****m 37
Vanessasaurus v****t@g****m 26
wspear w****r@g****m 17
allcontributors[bot] 4****] 10
Prathmesh Sambrekar p****m@D****n 9
Snyk bot g****t@s****o 6
Prathmesh p****r@l****v 6
Vijay Singh V****h@P****m 5
Erik e****r@l****v 2
Shahzeb Siddiqui S****i@p****m 2
Paul Mure 5****e 1
ImgBotApp I****p@g****m 1
Prathmesh Sambrekar p****m@L****M 1
Fotis Georgatos k****a@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 79
  • Total pull requests: 340
  • Average time to close issues: 3 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 6
  • Total pull request authors: 12
  • Average comments per issue: 0.73
  • Average comments per pull request: 0.72
  • Merged pull requests: 263
  • Bot issues: 0
  • Bot pull requests: 97
Past Year
  • Issues: 3
  • Pull requests: 48
  • Average time to close issues: 2 months
  • Average time to close pull requests: 11 days
  • Issue authors: 1
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.48
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 22
Top Authors
Issue Authors
  • shahzebsiddiqui (71)
  • prathmesh4321 (4)
  • wyphan (2)
  • karcaw (1)
  • wspear (1)
  • dependabot[bot] (1)
  • Mendi03 (1)
Pull Request Authors
  • shahzebsiddiqui (268)
  • dependabot[bot] (122)
  • Xiangs18 (15)
  • prathmesh4321 (12)
  • pre-commit-ci[bot] (10)
  • allcontributors[bot] (4)
  • braeeast2001 (4)
  • kingxleyy (3)
  • szuananwar (2)
  • Mariamajib (2)
  • Mendi03 (1)
  • Reality2byte (1)
Top Labels
Issue Labels
enhancement (12) good first issue (8) bug (8) documentation (7) new feature (7) regression-test (6) jsonschema (2) continuous integration (1) size/XS (1) pip dependencies (1)
Pull Request Labels
size/XS (167) size/L (90) pip dependencies (85) size/M (71) size/S (48) github-action dependencies (37) size/XXL (23) size/XL (20) documentation (7) python (2) new feature (1)

Dependencies

docs/requirements.txt pypi
  • Sphinx *
  • codecov *
  • docutils ==0.16
  • pre-commit *
  • readthedocs-sphinx-search *
  • sphinx-argparse *
  • sphinx-autoapi *
  • sphinx-copybutton *
  • sphinx-rtd-theme *
  • sphinx-tabs *
  • sphinxcontrib-programoutput *
  • sphinxext-remoteliteralinclude *
requirements.txt pypi
  • PyYAML >=5.2
  • black ==22.6.0
  • coverage *
  • distro *
  • isort *
  • jsonschema *
  • lmodule *
  • pyflakes *
  • pytest *
  • requests *
  • rich *
.github/workflows/build_container.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
.github/workflows/installation.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.5.0 composite
  • mxschmitt/action-tmate v3 composite
.github/workflows/jsonschemadocs.yml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-node v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/nightly_regression.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.5.0 composite
  • codecov/codecov-action v3 composite
  • mxschmitt/action-tmate v3 composite
.github/workflows/regression.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.5.0 composite
  • codecov/codecov-action v3 composite
  • mxschmitt/action-tmate v3 composite
.github/workflows/shellcheck.yml actions
  • actions/checkout v3 composite
.github/workflows/style.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.5.0 composite
  • jamescurtin/isort-action master composite
  • psf/black stable composite
.github/workflows/urlchecker.yml actions
  • actions/checkout v3 composite
  • urlstechie/urlchecker-action 0.0.34 composite
scripts/pbs/Dockerfile docker
  • pbspro/pbspro 18.1 build
scripts/spack_container/Dockerfile docker
  • spack/tutorial ecp21 build
pyproject.toml pypi
  • PyYAML >= 5.12
  • black ==23.3.0
  • coverage *
  • distro *
  • jsonschema < 4.18
  • lmodule *
  • pyflakes *
  • pytest *
  • requests *
  • rich *
  • urllib3 >=1.26
buildtest/executors/setup.py pypi
buildtest/schemas/examples/compiler.schema.json/valid/environment.yml pypi
buildtest/schemas/examples/script.schema.json/valid/environment.yml pypi
tests/buildsystem/valid_buildspecs/environment.yml pypi
tutorials/environment.yml pypi