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

fix: Pipelines, DevContainer, pyproject.toml, ... #30

Merged
merged 23 commits into from
Oct 25, 2023
Merged

Conversation

M-Lampert
Copy link
Contributor

I have finished setting up the most important GitHub workflows. In detail I have:

  • Removed all the unused pipeline that were left over from the Microsoft package template
  • Set up one pipeline for testing and one for lining inspired by PyTorch Geometrics pipelines that should run for every pull request
  • Set up a testing pipeline that can be triggered manually that tests every supported version
  • Cleaned up the pyproject.toml and set up a minimum configuration for the used tools
  • Cleaned up the Dev Container so that the used tools installed correctly and the dependencies are installed from pyproject.toml instead of in the dockerfile
  • Fixed the vscode configurations to use all of the installed tools
  • Cleaned up the pre-commit configuration to only use what seemed to be reasonable
  • Added labels to the README.md that indicate if the current HEAD on main is passing linting and testing checks

There are still some open questions/problems on which I would like your feedback:

  • Should we use poetry for dependency management? (see Cleanup pyproject.toml #28)
  • We currently have dependabot set up but are not using it (.github/dependabot.yml)
    • For now I have removed the versions from all dependencies (except for the PyG dependencies)
    • I would suggest we set all dependencies to up to date stable versions once all tests are passing
    • Then either reactivate dependabot or remove it completely and do the versioning manually
  • The tests are currently only running on CPU because the default GitHub runners do not provide GPUs (see Make GitHub tests work #29)
  • I have set up two different tools for linting and static type checking each. I do not have a lot of experience with any of them so I am not sure if we need them all or should remove some of them.
  • The linting pipeline currently fails but is set to ignore it for now. We should probably work on fixing all of the errors so that we can configure it to fail when something is found.
  • I also removed all of the code that would upload the package to PyPI automatically because I don't think we are at a point where this needs to be automatic. But I have never actually uploaded a package there so please correct me if I am wrong.
  • If you are using the dev container setup (and it actually works as configured), the black formatter and isort extension might make a lot of changes while saving a file. This could look a bit chaotic in PRs so we should consider running the formatters on all files and push it to main after this PR is merged.

@M-Lampert M-Lampert changed the title Fix: Pipelines, DevContainer, pyproject.toml, ... fix: Pipelines, DevContainer, pyproject.toml, ... Oct 18, 2023
@IngoScholtes
Copy link
Member

merged PR

@IngoScholtes IngoScholtes reopened this Oct 25, 2023
@IngoScholtes IngoScholtes merged commit 26e94e0 into main Oct 25, 2023
9 of 11 checks passed
@M-Lampert M-Lampert deleted the fix/github-cicd branch November 13, 2023 15:59
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.

2 participants