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

Automated tests (CI) for PRs and merges #92

Open
mkaze opened this issue Jun 2, 2021 · 6 comments
Open

Automated tests (CI) for PRs and merges #92

mkaze opened this issue Jun 2, 2021 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@mkaze
Copy link
Contributor

mkaze commented Jun 2, 2021

I was wondering if there is a plan to setup continuous integration for running the unit and integration tests automatically on each pull request as well as on merges to master branch. I think as the project and the number of contributors grow, this would be a useful addition to get a quick feedback and keep the project stable. Of course, each contributor/reviewer can independently run the tests locally on their own machine before submitting a PR/merge; however it may not be efficient and is kind of error-prone.

@zaleslaw
Copy link
Collaborator

zaleslaw commented Jun 2, 2021

The current status of TC:

  1. Internal JetBrains TC: api-test, example-test, maven-publication, build artifacts
  2. Trigger on each commit to the master branch

Plans:

  1. Run tests/examples on proposed PRs
  2. Trigger on PR (maybe wrong way)

Alternatives for the future:

  1. Make integration with a simple OK from the internal TC build server
  2. Make public TC with credentials for top contributors (low probability in the nearest future)
  3. Kind of GitHub actions integrations

@zaleslaw zaleslaw added the enhancement New feature or request label Jun 2, 2021
@zaleslaw
Copy link
Collaborator

zaleslaw commented Jun 2, 2021

I discussed your issue with the team and we made the following solution for this moment

Plans: Run tests/examples on proposed PRs + Make integration with a simple OK from the internal TC build server is made and will be applied for the future PRs via TC Build features, thanks for the idea and the lighting of the pain for the contributors @mkaze

But there is no trigger at this moment, it will be run manually by request to me.

@zaleslaw zaleslaw added this to the 0.3 milestone Jun 2, 2021
@mkaze
Copy link
Contributor Author

mkaze commented Jun 3, 2021

But there is no trigger at this moment, it will be run manually by request to me.

@zaleslaw All right, thanks! That's much better than nothing. Hopefully, in future we will adopt a more public and automated process for this to increase the efficiency of development and feedback loop for contributors.

@zaleslaw
Copy link
Collaborator

zaleslaw commented Jun 3, 2021

At this moment the trigger on PRs commits or access for the users outside JetBrains org is prohibited due to security reasons (it's easy to make DDOS on our TC servers), hope to move forward with this question.

I'm not familiar with GithubActions, but will learn this possibility to do something

@avan1235
Copy link
Contributor

avan1235 commented Jun 6, 2021

I have tried to create some simple working example of such GH action as I've been working with GH a few times now but the tests were then failed with the unknown for me reason. You can see the definition of such workflow here but there is a problem visible in this run

@zaleslaw
Copy link
Collaborator

zaleslaw commented Jun 7, 2021

Great, @avan1235 I'll try your approach. So, I know the reason for this test failing. It's a flaky test due to some asserts are not true sometimes due to TensorFlow non-determinism. I need to revisit conditions in these tests related to the different optimizer usage and relax assert conditions there.

@zaleslaw zaleslaw self-assigned this Jun 15, 2021
@zaleslaw zaleslaw modified the milestones: 0.3, 0.4 Sep 13, 2021
@zaleslaw zaleslaw modified the milestones: 0.4, 0.5 Feb 16, 2022
@ermolenkodev ermolenkodev removed this from the 0.5 milestone Sep 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants