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

Replace Travis with Github Actions #768

Merged
merged 1 commit into from
Feb 2, 2021

Conversation

jmbenlloch
Copy link
Contributor

Some of the latests PRs (#767, #761) are not running the tests in Travis. I have checked our travis account and it seems that there is a time limit for free accounts in travis-ci.com. Each free accounts gets 10000 "credits" but we have used all of them:

image

An error message appears in our travis account:

Builds have been temporarily disabled for private and public repositories due to a negative credit balance. Please go to the Plan page to replenish your credit balance.

Since Github Actions does not impose any time limit for free accounts, I think we should move now to github and stop using Travis. This PR includes a first idea on how to implement our tests using a Github Action.

There are several issues:

  • Tests are failing for different reasons: https://github.com/jmbenlloch/IC-1/actions/runs/517922412
    • In linux, sometimes there is an error in the database tests. Ocasionally, there is a timeout error when connecting to our MySQL server at IFIC. I don't know the reason yet, especially because it is not deterministic. Here is a sample where it has run successfully. It might be related to the OS version used in the container that runs the jobs. Apparently ubuntu-latest is transitioning from 18.04 to 20.04. I'll try later to fix the version to 18.04 to check it.
    • In MacOS I have never seen a successful run. There are some errors related to hypothesis and the timing of the tests. I do not know now how to address this problem.

DO NOT MERGE yet until we sort out the details. We need a reliable system to substitute Travis and for some reason we are not quite there yet. I think this is somehow urgent because, currently, we do not have any working CI system.

@jmbenlloch
Copy link
Contributor Author

I have uploaded a newer version of the action excluding the MacOS runner since I do not know why it fails. I don't think it is very important since we had already marked MacOS as an allowed-failure in Travis.

Regarding Ubuntu I have fixed the version to 18.04 and after rerunning several times I have not seen the MySQL timeout error again. Since we have several PRs already waiting I would approve this PR and leave for the future possible improvements.

@mmkekic
Copy link
Collaborator

mmkekic commented Feb 2, 2021

From a fast scroll of failed MacOS run it seems all of them fail due to Unreliable test timings!. This is something that happened on Ubuntu as well form time to time in Travis, and is related to the Hypothesis settings travis-ci (in conftest.py) that sets the deadline to 300ms. Do you think that lifting the limit to something like 1000ms makes sense? Or we should try to remove the limits of the slow tests?

In any case the problem seems not to be related to this PR so I believe this can be approved.

I am a bit confused by Some checks haven't completed yet, can it be that you added GitHub Actions but havent removed Travis yet?

@jmbenlloch
Copy link
Contributor Author

From a fast scroll of failed MacOS run it seems all of them fail due to Unreliable test timings!. This is something that happened on Ubuntu as well form time to time in Travis, and is related to the Hypothesis settings travis-ci (in conftest.py) that sets the deadline to 300ms. Do you think that lifting the limit to something like 1000ms makes sense? Or we should try to remove the limits of the slow tests?

What bothers me is that it ALWAYS happens in the MacOS runner. Maybe they are using different machines to run Linux and Mac and the latter for some reason are slower. If we want to run the tests on MacOS it could be a good idea to increase the limit, although I do not know how much time would take the tests the end in that case.

In any case the problem seems not to be related to this PR so I believe this can be approved.

Agree

I am a bit confused by Some checks haven't completed yet, can it be that you added GitHub Actions but havent removed Travis yet?

You are right, I have not changed it yet. I'll do it now.

Copy link
Collaborator

@mmkekic mmkekic left a comment

Choose a reason for hiding this comment

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

This PR allows the switch from Travis CI to GitHub Actions CI, needed after Travis changed the free plan policy.
Thanks for the effort and rapidity!

@mmkekic
Copy link
Collaborator

mmkekic commented Feb 2, 2021

Since you have left commented the lines about MacOS installation maybe you can squash the history?

@jmbenlloch
Copy link
Contributor Author

Since you have left commented the lines about MacOS installation maybe you can squash the history?

Done. I'll merge the PR after the tests pass.

next-exp#768

[author: jmbenlloch]

Since Github Actions does not impose any time limit for free accounts,
I think we should move now to github and stop using Travis. This PR
includes a first idea on how to implement our tests using a Github
Action.

[reviewer: mmkekic]

This PR allows the switch from Travis CI to GitHub Actions CI, needed
after Travis changed the free plan policy.
@jmbenlloch jmbenlloch merged commit 31fa000 into next-exp:master Feb 2, 2021
carmenromo pushed a commit that referenced this pull request Feb 10, 2021
#761

[author: MCruces-fz]

With the intention of adding a function that generates timestamps, this push is
presented with the following changes:

          - Updated sensor_utils.py with the create_timestamp function.
          - Added test_create_timestamp_greater_with_greater_arguments to
sensor_utils_test.py with the intention of testing whether with larger
parameters said timestamp is greater.
           - Updated buffy.conf, buffy.py and components.py to implement the function
create_timestamp.

Fixes #752

[reviewer: andLaing]

This PR adds functionality allowing a user to set a timestamp for Monte Carlo
data more similar to that present in data. The function is stand alone so could
be used to later change the timestamp in existing MC files if required for a
specific analysis.

Tests added and updated where necessary and warning added for unphysical values
of the new configuration parameter.

Approved pending integrated testing issue (see #768).
@mmkekic mmkekic mentioned this pull request Feb 23, 2021
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.

None yet

2 participants