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

CI use GitHub actions #615

Merged
merged 65 commits into from
May 29, 2024
Merged

Conversation

MonkeyBreaker
Copy link
Collaborator

@MonkeyBreaker MonkeyBreaker commented Jan 11, 2022

Reference issues/PRs

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Description

This PR migrates the azure pipeline to github actions.
It deploys 2 different workflows:

  1. ci workflow that is run on each PR, it build and run test on linux, mac and windows platforms for Python 3.6 -> 3.9
  2. wheel wrokflow that generates the wheel on demand

Unfortunately, until we merge this PR on main, we won't be able to see CI results on this repository. But they can be observed on my fork.

Screenshots (if appropriate)

Any other comments?

Checklist

  • I have read the guidelines for contributing.
  • My code follows the code style of this project. I used flake8 to check my Python changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed. I used pytest to check this on Python tests.

The current status of the PR does the following:

  • Build and Test for any PR
    • : cache python requirements
    • ; cache C++ compilation
    • : Nightly build
    • : About the Notebook test, currently it fails but I allowed it to pass on fail, this shall be fixed before merging. UPDATE: The test are now enable again, but run on each time and are quite time consuming. I needed to disable one of the notebook, the MNIST_Classification, because it was taking too much time.
      • : Maybe add the possibility to trigger the notebook test with a variable ? Done but same remark as nightly build, I cannot know if it works until this PR is merged on main.
    • : cache boost installation to speed-up building time
    • : Document ?
  • Generates wheel on demand
    • : Find a way to not hardcode the test to perform, the reason is that currently, for whatever reason, it ignores the setup.cfg file. UPDATE: I did not find a way, it seems from the documentation of cibuildwheel that you need to provide which test to perform. I dunno why ...
    • : Document ?
    • : Automatic publication of wheels generated, see documentation on how to dot it, but do we want to do it ?
    • : cache boost installation to speed-up building time, the cache is disable on Windows because for a reason I cannot understand, after loading the cache, the compilation would fail because some header were not found. I don't know how to debug this, so I decided to disable the cache on Windows.
    • : Nightly build, now an external variable can be set before triggering the workflow in order to rename for a nightly release.
      • Before merging into main, I cannot test it, because to trigger workflow_dispatch events, you need to have the workflow available on main

@MonkeyBreaker MonkeyBreaker added enhancement New feature or request help wanted Extra attention is needed CI labels Jan 11, 2022
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Collaborator

@ulupo ulupo left a comment

Choose a reason for hiding this comment

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

I think giotto-tda is a more complex project than giotto-ph and pyflagser, and the main priority has now been for a while to produce Python 3.10 wheels and wheels for Apple Silicon ASAP. Since we are both super busy, can I suggest splitting this PR into two: one PR which simply adds the wheels GitHub action workflow (and keeps the current Azure pipelines and everything else intact) and another PR which will deal with the rest or part of the rest (ci.yml, removing Azure for good, and building docs).

julian and others added 20 commits August 30, 2022 22:04
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
…rt it

Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <julian.burellaperez@heig-vd.ch>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
…le is not set

Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
@MonkeyBreaker
Copy link
Collaborator Author

I think giotto-tda is a more complex project than giotto-ph and pyflagser, and the main priority has now been for a while to produce Python 3.10 wheels and wheels for Apple Silicon ASAP. Since we are both super busy, can I suggest splitting this PR into two: one PR which simply adds the wheels GitHub action workflow (and keeps the current Azure pipelines and everything else intact) and another PR which will deal with the rest or part of the rest (ci.yml, removing Azure for good, and building docs).

Fair enough, I will need some time to get again on this topic, It hurts my head already 😅 . I just aligned with latest master.
Let's see if everything still passes and afterwards look at what needs to be done here.

Signed-off-by: julian <monkeybreaker@protonmail.com>
Signed-off-by: julian <monkeybreaker@protonmail.com>
@matteocao
Copy link
Contributor

hello @MonkeyBreaker !

Since the azure pipelines are not working anymore and there has been little changes in gtda in a long time, I'll try to improve the library devps a bit. will start from merging your changes even if they may not be perfect.

@matteocao matteocao merged commit a345891 into giotto-ai:master May 29, 2024
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants