-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
[native] Convert CircleCI jobs for PrestoC++ to Github actions #24236
[native] Convert CircleCI jobs for PrestoC++ to Github actions #24236
Conversation
f9ddbda
to
68743bf
Compare
ba2a256
to
edeb87f
Compare
edeb87f
to
f662fea
Compare
The Spark E2E pipeline is currently failing. The CircleCI test classes run
The Github workflow test classes run:
|
@amitkdutta @tdcmeehan Here is the PR with the new github action workflows running on standard runners. The jobs are running as part of this PR. There are Spark test failures. In CircleCI not all tests are apparently run and so we are running new tests that come back with errors and need fixing. I've created issues for them. There are certainly options for more optimization within the workflows but this should be able to tide us over. |
f662fea
to
6f71f9c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@czentgr thanks for pulling this off quickly and timely. Some comments.
run: | | ||
cd presto-native-execution | ||
make submodules | ||
- name: Build all adapter dependencies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can remove this job. I am adding the adapters to the dependency image.
#24251
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This job is here so we can check if changes in scripts trigger a failure with the adapters. The triggers is only changes in the script dir.
I can change it to specifically only trigger on changes to setup-adapter.sh. We don't want to find out issues when building the image after having changed the setup-adapters. I think it is useful to have. It won't run very often.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, lets make it to run when we update velox or setup-adapters.sh.
The job is one of the quicker ones. That way we don't get nasty surprises.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But we don't need to install /velox/scripts/setup-adapters.sh
since that is tested on the Velox CI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also don't need this on a Velox update then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking if we could have a situation that isn't tested in Velox but might be used in PrestoC++. But I guess we'd need a full adapters build and PrestoC++ build. Which was what one CircleCI job originally did.
baa1163
to
6162673
Compare
@czentgr can we remove the CircleCI files in this PR as well? |
I wonder why the Presto e2e tests are taking much longer in the github workflow (~39 minutes ) compared to the CI. (~5 minutes) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As for the E2E Presto test difference. I think it is the same as for Spark. I'm adding a comment about that in the PR. It is clear we are running many more tests based on the summary.
run: | | ||
cd presto-native-execution | ||
make submodules | ||
- name: Build all adapter dependencies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking if we could have a situation that isn't tested in Velox but might be used in PrestoC++. But I guess we'd need a full adapters build and PrestoC++ build. Which was what one CircleCI job originally did.
In an earlier comment we looked at the Spark failures and realized that CircleCI isn't actually running all the test classes that it could/that are found when simply looking at the names.
while the Github runners run every test:
For example, we can see that |
After discussion we decided to remove them separately after a few days of having both pipelines run. |
7f08dbd
to
0562187
Compare
This pull request converts the CircleCI workflows to GitHub actions workflows. The workflows use the standard runners with Ubuntu 22.04. Some modifications were made to allow a build with the limited resources available: |name|build type|comments|expected runtime (no cache)|unit tests|E2E tests| |----|----------|--------|----------------|----------|---------| | prestocpp-linux-build | debug | All adapters enabled | 45m | N | N | | prestocpp-linux-build-and-unit-test | release | JWT, remote function, Parquet enabled | 90m | Y | Y | | prestocpp-macos-build | debug | Setup script plus build | 160m | N | N | | prestocpp-linux-adapters-build | release | Adapters and release build | 120m | N | N | Caching is currently enabled for the prestocpp-linux-build-and-unit-test. If the cache can be used, the time to run tests drops to 50m. Additional workflows are prestocpp-format-check and prestocpp-header-check That run in a few seconds. For the original conversion see: prestodb#21545 Co-authored-by: Rob Anderson <[email protected]>
0562187
to
35816fd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @czentgr
@tdcmeehan can you please help merge this PR? Thanks. |
This pull request converts the CircleCI workflows to GitHub actions workflows.
The workflows use the standard runners with Ubuntu 22.04.
Some modifications were made to allow a build with the limited resources available:
Caching is currently enabled for the prestocpp-linux-build-and-unit-test. If the cache can be used, the time to run tests drops to 50m.
Additional workflows are prestocpp-format-check and prestocpp-header-check
That run in a few seconds.
For the original conversion see: #21545
Resolves: #24023
Test runs can be seen in the Actions tab of the prestodb/presto repo.
Description
Motivation and Context
Impact
Test Plan
Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.