Skip to content

Feat/gh actions#26

Merged
andthum merged 11 commits intomainfrom
feat/gh_actions
Jul 12, 2021
Merged

Feat/gh actions#26
andthum merged 11 commits intomainfrom
feat/gh_actions

Conversation

@andthum
Copy link
Owner

@andthum andthum commented Jul 11, 2021

Changes proposing in this pull request:

  • Restructure CI workflow. Among others changes:
    • Add test installation of MDTools.
    • Add test build of the documentation.
    • Add doctest.
    • Scan the code for security vulnerabilities with CodeQL.
  • Set up Dependabot version and security updates.
  • Format .readthedocs.yaml
  • Add VENV/ and docs/build/to.gitignore`.

andthum added 9 commits July 11, 2021 17:46
  * Do not run the workflow on pull requests that neither change the
    code nor the docs (add `path-ignore` option).

  * Use caching to speed up the workflow.

  * Check code formatting with black (only for already formatted files).

  * Lint the code only once using the highest target Python version of
    MDTools (instead of linting the code with all target Python
    versions).

  * Use `setup.cfg` to configure `flake8` (instead of doing all the
    configure on the command line).

  * Test the code with all target Python versions and operating systems.

  * Do not cancel all matrix jobs if one job fails (`fail-fast: false`).

  * Add a test installation of MDTools to the test suite.

  * Add a test build of the documentation to the test suite.

  * Add doctest to the test suite.

  * Scan the code for security vulnerabilities with CodeQL.
  * Add `.github/dependabot.yml` to watch for updated Python packages
    or GitHub Actions.

  * Remove `requirements_python3.8.10.txt`, because Dependabot should
    only inspect requirements.txt for version updates and not
    `requirements_python3.8.10.txt`. Additionally,
    `requirements_python3.8.10.txt` should not show up in GitHub's
    dependency graph. Furthermore, `requirements_python3.8.10.txt` is
    not needed anymore, because our CI workflow now checks whether
    MDTools can be installed on all target operating systems with all
    target Python versions. Thus, we know in advance, if any changes
    would break the installability of MDTools and we do not need a
    backup requirements file anymore.
Change indentation level from four to two spaces in accordance with the
YAML conventions.
  * Add `VENV/`
  * Add `docs/build/`
Format docstring of `mdtools/version.py` to adhere to flake8.
  * Read authors and maintainer from `mdtools/_metadata.py`.

  * Update PyPi classifiers about supported operating systems.

  * Update keywords.

  * Format `setup.py` with black.
  * Raise errors if `__author__`, `__maintainer__` or `__credits__`
    contain duplicates or are not ordered alphabetically.

  * Format with black
Add badge "Code style black" to `README.rst` and `docs/source/index.rst`
  * Replace a wrong space character (bad char) by a proper space
    character
@andthum andthum added the enhancement New feature or request label Jul 11, 2021
@andthum andthum added this to the black included in CI workflow milestone Jul 11, 2021
@andthum andthum requested a review from ezavod July 11, 2021 15:59
Copy link
Collaborator

@ezavod ezavod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, this is all very cool. I mostly have some questions to better understand the new workflow.

andthum added 2 commits July 12, 2021 10:44
Remove `__init__.py` from list of ignored files
Apply proposed changes: Remove white spaces from author, maintainer and
credits list before checking alphabetic order.
@andthum andthum merged commit 1840582 into main Jul 12, 2021
@andthum andthum deleted the feat/gh_actions branch July 12, 2021 13:48
@andthum andthum restored the feat/gh_actions branch July 12, 2021 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants