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

Run tests in Slurm test env #88

Merged
merged 52 commits into from
Oct 17, 2023
Merged

Run tests in Slurm test env #88

merged 52 commits into from
Oct 17, 2023

Conversation

djperrefort
Copy link
Member

This PR updates the CI/CD workflows to run the test suite in an environment where Slurm is installed.

* Adds CI for running tests

* Fix CI typo

* Adds setup step for python

* Adds minimal pyproject.toml file

* Update pyproject.toml

* Adds missing --with directive

* Adds missing description field

* Adds missing docstring [skip ci]

* Updates the way coverage is run

* Expand .gitignore
* Moves exception pattern checking into dedicated method

* Update top of file comments for clarity

* Deletes test placeholder

* Fix boolean typo
* Switch to builtin logging

* Explicitly set logging level

* Moves logging to /var

* Log directly to syslog

* Add missing import
* Replace accumulator patterns with single iteration

* Fix typo in list unpacking
* Drop support for regex ignore patterns

* Increase number/detail of log messages

* Drop Python2 support and impliment Python3 features

* Delete test_check_ignore_node.py

* Simplify set logic
* Adds basic whitelist

* Replaces usernames with uid

* Updates docs and comments

* Ignore uid from 0 to 15000
* Move source into a package

* Add GPL3 license

* Update pyproject.toml

* Removes 'if __name__' conditional

* Drop /home/djperrefort/GitHub/pitt-crc/shinigami reference in testing CI

* Update test suite structure to match package structure
* Updates README

* Updates package docstring
* Introduces settings module

* Configure settings to load from disk

* Add dedicated method for loading settings from disk

* Adds ability to skip FileNotFoundError error
* Initial commit of cli module

* Fixes outdated import signature

* Mves main function into Application class

* Mid-flight cleanup pass

* Updates import signatures in test suite
* Execute SSH commands asynchronously

* Run async functins using asyncio.gather

* Fix typo in SSH connection

* Run all remote commands through SSH object

* Imposes limit on max SSH connections

* PEP8

* Drops old tests

* Adds dummy test coverage for ci
* Adds tests for parser debug option

* Adds tests for Settings class

* Adds tests for id_in_whitelist function
* Adds configurable logging

* Adds verbosity argument

* Adds tests for logging configuration
djperrefort and others added 22 commits July 31, 2023 12:56
There was a typo in the cron job example.
* Makes Application.settings private

* Runs AI linter
* Drops GID whitelist

* Drops GID related tests
* Move logic for loading settings into Settings class

* Revert changes to parser class

* Raise error on file not found

* Revert last commit
* Terminate orphaned processes in userlist

* Rename whitelist to blacklist

* Kill processes using group ID

* Fix bug in fetching of remote process data

* updates tests

* Lower pandas requirement
* Adds test coverage for settings file parsing

* PEP8
* Outline CLI options to replace settings module

* Print help text on error

* Parse UID list as json string

* Dynamically determine valid arguments from func signature

* Add log message when there are no processes to terminate

* Add nargs='+' to uid-whitelist arg

* Updates docstring

* Adds missing type hints

* Introduce dedicat ssh argument group

* Abstract away SSH options in function signatures

* Adds tests for argument parsing

* Drops application tests

* Makes logging setup private

* Shorten line lengths
* Bump actions/checkout from 3 to 4 (#81)

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Updates CI (#82)

* Fix termination signal (#84)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@djperrefort djperrefort enabled auto-merge (squash) October 17, 2023 16:04
@djperrefort djperrefort linked an issue Oct 17, 2023 that may be closed by this pull request
@djperrefort djperrefort merged commit f8a6969 into main Oct 17, 2023
18 checks passed
@djperrefort djperrefort deleted the test_under_slurm branch October 17, 2023 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Run tests using the Slurm Test Environment
1 participant