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

Add GitHub Actions for CI #2367

Merged
merged 3 commits into from May 4, 2020
Merged

Add GitHub Actions for CI #2367

merged 3 commits into from May 4, 2020

Conversation

jamezp
Copy link
Contributor

@jamezp jamezp commented Apr 23, 2020

https://issues.redhat.com/browse/RESTEASY-2561
https://issues.redhat.com/browse/RESTEASY-2564

The first commit fixes tests to work on multiple environments.

The second change adds a GitHub Action and ignores the MicroProfile TCK for Windows

The third commit uses a default 10 second delay when stopping the SunHttpJaxrsServer. This only delays 10 seconds if the server has not successfully stopped in that delay.

@liweinan
Copy link
Collaborator

cool :-)

@jamezp
Copy link
Contributor Author

jamezp commented Apr 23, 2020

The failure is a timing issue. It wasn't failing for me on my job runs. It's something we should look at though at some point as timing assumptions are bad in unit/integration tests IMO.

@jamezp
Copy link
Contributor Author

jamezp commented Apr 23, 2020

In the workflow I added continue-on-error: true which allows the other jobs to keep running if one of them fails. However since the other jobs are likely to finish later the action shows the run as passed which means you can't manually re-run the job. Will this be an issue?

@ronsigal
Copy link
Collaborator

timing assumptions are bad in unit/integration

One of the reasons the Remoting 2 testsuite took about 5 hours. ;-)

@ronsigal
Copy link
Collaborator

Hi @jamezp,

since the other jobs are likely to finish later the action shows the run as passed which means you can't manually re-run the job. Will this be an issue?

I'm not following, probably because I don't know anything about Github Actions. But do you mean we would have to do something nasty like push a bogus commit to get the tests to run again?

@jamezp
Copy link
Contributor Author

jamezp commented Apr 23, 2020

Hi @jamezp,

since the other jobs are likely to finish later the action shows the run as passed which means you can't manually re-run the job. Will this be an issue?

I'm not following, probably because I don't know anything about Github Actions. But do you mean we would have to do something nasty like push a bogus commit to get the tests to run again?

If we want to keep the continue-on-error: true setting yes. If we remove that or set it to false by default then once a job fails all other jobs are stopped and you can restart all jobs. Kind of weird really and hopefully they'll have a solution for that at some point.

@jamezp
Copy link
Contributor Author

jamezp commented Apr 23, 2020

Ah I may have a solution for the continue-on-error issue. I guess it's a good time to test it :)

@liweinan
Copy link
Collaborator

looks great!

Copy link
Member

@asoldano asoldano left a comment

Choose a reason for hiding this comment

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

@jamezp this looks great. I think I'll merge this, I'm only thinking if/how/when to get rid of the Travis runs. What seems to be missing compared to the Travis CI runs is:

  • Javadoc build
  • Testing against multiple containers
  • Elytron testing
    Do you think we can add do anything for that ?

@asoldano
Copy link
Member

As an interim solution, we could get rid of the travis run that's duplicated by one of the new github action runs.

@asoldano asoldano added the main label Apr 27, 2020
@jamezp
Copy link
Contributor Author

jamezp commented Apr 28, 2020

@asoldano Yes we can add any combination of those. We could either use a matrix if we want to add these options or we could just add a separate workflow for specific features.

@jamezp
Copy link
Contributor Author

jamezp commented Apr 28, 2020

@asoldano Do we want to test the different WildFly version on both OS's? I ask because if we do that we end up with 10 jobs ran per PR. Maybe that's not a huge deal, but just wondering.

I guess either way it would be 8 jobs.

@jamezp
Copy link
Contributor Author

jamezp commented Apr 28, 2020

Okay updated to run JavaDoc builds against Java 8 and 11 on Linux, plus the different versions of WildFly

@jamezp
Copy link
Contributor Author

jamezp commented Apr 28, 2020

The failures seem to be kind of random. I have learned only those with permissions can restart the workflow run so I can't restart it.

@liweinan
Copy link
Collaborator

@jamezp yes there are random failures in tests currently.
@asoldano Maybe we can fix them in future gradually.

@jamezp
Copy link
Contributor Author

jamezp commented Apr 29, 2020

@asoldano @liweinan @ronsigal This should now be ready and duplicates what we're doing in TravisCI. It also archives the surefire reports and server.log's for each job in case they need to be inspected when failures occur.

If this looks okay I'll back port this to 4.5 and 3.12 as well. I believe those are the working branches at least. If not let me know which branches it would need to be on.

@liweinan
Copy link
Collaborator

@jamezp +1 from my side

@asoldano
Copy link
Member

asoldano commented May 4, 2020

Great, I'm merging this, thanks @jamezp

@asoldano asoldano merged commit 4e7cbde into resteasy:master May 4, 2020
@jamezp jamezp deleted the github-actions branch May 7, 2020 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants