Skip to content

Conversation

@jnbrunet
Copy link
Contributor

There it is, first GitHub action workflow. Only Ubuntu 18.04 for now.

This is fetching SOFA binaries from a Github action on my SOFA fork. I'll change it once we get an official way to get the master branch installation binaries.

Copy link
Member

@marques-bruno marques-bruno left a comment

Choose a reason for hiding this comment

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

This is awesome @jnbrunet !
I guess all the paths pointing to your fork will be pointing to sofa-framework before merging?
For having tried once something similar, you must have spent quite some time setting this up, with SOFA & pybind11 caching, ccache & artifacts everywhere, well done!

- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: '3.7'
Copy link
Member

Choose a reason for hiding this comment

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

Is this where do you download the dev pacakges for libpython3.7? I'm not sure I remember how those actions are working and where they're located

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This action is used because many python versions are pre-installed on the runners. It remove us the burden of setting cmake python's path and runtime python's path manually. We could even use this to pass different python versions in the CI matrix (3.6, 3.7, 3.8 for example). In fact, it would be awesome to have a matrix like:

strategy:
    matrix:
        os: [ubuntu-latest,  macos-latest, windows-latest]
        python: [3.6, 3.7, 3.8]
        pybind11: [2.4, 2.5]

Especially given that with ccache hits, each build takes about 2-3 min, which means the complete matrix wouldn't take too much time to build and test.

@jnbrunet
Copy link
Contributor Author

Hey @marques-bruno ,

The paths to my fork to get the nightly SOFA build binaries will remain until we get a proper way to get them (I think @guparan is working on this). For now, I don't mind having a Github workflow on my SOFA fork doing these nightly builds every night.

The checkout branch (jnbrunet/install_tests) will be removed once #12 is merged. So we should not merge this PR before #12.

@marques-bruno
Copy link
Member

Oh man it's so nice to see checks on this repository :D
@jnbrunet could we merge it already so other PRs can benefit from this already? Might not be perfect but it's already better than nothing.. :)
Also, do you think you could add some basic info directly on the status checks? like number of tests added / removed, number of tests failing compared to master, number of tests passing compared to master?

@jnbrunet
Copy link
Contributor Author

Also, do you think you could add some basic info directly on the status checks? like number of tests added / removed, number of tests failing compared to master, number of tests passing compared to master?

Probably :-P I'm not sure how to define messages in status checks but I'll have a look. But before that I'll try to add the CI for MacOS and maybe another version of pybind11 as I think it is important that we are sure the plugin is compiling on different setups (to avoid problems like your team had this week).

After that we could spend some time to add some sugar on that CI :-)

@jnbrunet jnbrunet merged commit c50e768 into master Jun 19, 2020
@marques-bruno marques-bruno deleted the ci_ubuntu_workflow branch September 10, 2020 13:41
@guparan guparan added this to the v20.12 milestone Oct 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants