Skip to content

Support for GitHub Actions and outreach to LF community #6

@MichaelTiemannOSC

Description

@MichaelTiemannOSC

Over the past several months, @ModeSevenIndustrialSolutions has worked with various OS-Climate workstream leads to modernize our repositories using GitHub actions, in particular better support for modern DevOps. While it has taken me some time to adapt to all the many requirements of the changes, the results have been worth it. As presented at a recent All-Hands meeting these include:

  • Migrating Python projects to modern PEP standards and practices
  • Adopted PDM as a build tool, pyproject.toml for metadata/packaging
  • Created a shared/common GitHub repository for DevOps tooling
  • Creating a set of shared/common GitHub Actions/workflows
  • Created a common and improved linting environment (pre-commit.ci), including:
    • black code formatting
    • ruff linting
    • flake8 code checking
    • mypy type checking
  • Working on a new template repository for new OS-Climate Python projects
  • Use PyScaffold to bootstrap new projects, with subsequent customisations

These are not things to do all at once, but are all things to do eventually. Better yet, they are very much the kinds of things that LF community members might find interesting to take on.

Given that we are presenting SoSTrades and WITNESS at the LF Open Source Summit mid-April, it would be great to try to establish some infrastructure that perhaps does none of the reformatting/linting/code checking/type checking just yet, but makes it easy for different people to take on the tasks of supporting the PEP standards we want to support with hooks that are in place to do so.

It might also be worthwhile to discuss how to make the sostrades-dev-tools repository more interoperable with checked out, rather than specially cloned witness and other sostrades repositories. Again, long term, but looking ahead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions