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

convert circleci workflows to github actions #21545

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

robandpdx
Copy link
Contributor

@robandpdx robandpdx commented Dec 14, 2023

Description

This pull request converts the CircleCI workflows to GitHub actions workflows.

Motivation and Context

This pull request converts the CircleCI workflows to GitHub actions workflows.

The GitHub actions workflows need runner groups with larger runners configured for the organization.

The following runner group is needed:

  • 16-core

For my testing, I have these runner groups populated with the following runners:

Group Runner size OS
16-core 32-cores · 128 GB RAM · 1200 GB SSD Ubuntu Latest

Issues
There are issue with some of the workflow that someone smarter than me needs to address.

  1. linux-build-and-unit-test > linux-presto-e2e-tests
    This seems to run more tests than it should. Permission errors on executing the presto-server
java.io.UncheckedIOException: java.io.IOException: Cannot run program "/__w/presto/presto/presto-native-execution/_build/debug/presto_cpp/main/presto_server"
  1. linux-build-and-unit-test > linux-spark-e2e-tests
    This seems to run more tests than it should. Permission errors on executing the presto-server
2023-12-12T14:52:44.779-0600	ERROR	Executor task launch worker-0	org.apache.spark.executor.Executor	Exception in task 0.0 in stage 0.0 (TID 0)
com.facebook.presto.spark.classloader_interface.PrestoSparkRetryableExecutionException: Cannot start [/__w/presto/presto/presto-native-execution/_build/debug/presto_cpp/main/presto_server, --logtostderr=1, --minloglevel=3, --etc_dir, /tmp/spark-8955e73f-ff89-421e-a699-c73cf7eab02f/userFiles-dd30f680-a6ae-4e6e-8356-a0f8d7acca98/./43751] | ExecutionFailureInfo[eJztVVuP0zgU/itVxEORJk7btElawUqzJexWQFqlHUACFLnOSZttGke2MwtC/Pc9zmXoQOeGYB92+5LL8fm+c7F9vs+G+lSAMTEY35OEMlhzviOFAKk4kUVKFtWn/5FBoVKeG2fGHqSkG42Z0jznqiMVFarzzoqiv60aef1l5lSll2DCR2ClJrGidZlmsRXDutw0ThErCmtP07z9lyAuQZx1TDPjG8WlikGIp31t2Kc52jK4hOyprQ2gWBSn6GypfWHJgoqd6Y1HI3DtxEwSb2wOB30wqTMem8y1WeICXfcGiVVilOdpBtKMY7uXOF4PnSiYQ3DA9OyRY9Je4sUuZYyOPYtYQ9sd9T9gFxhFrDH53PbvL3pJScrJbH5rr0SZdwrBN4LuO++NX9Ky98akg63i2CxszgLEPpUSKTox5CnEP5D77WyyLHR8iT+Tdx/wX1G2w8+aNqP5hlwEs7cLwRl6kYSL3Xke+1hZN6iq7LwCteXxY+Q6DnmS5qn6rXto0o6TwdC9DmpWZ/siI9Wp7B5aKkzfHh7F/K7bC+I6rDXWyN5grKHHbwoeOXK1W6TevqJJti7Tb1fbGupQNyweJnufiIrKXXNZl3qppl2htabm4jll+PxEmACqALdgqeMfD9+9F1OV47Dn/PwcYz6tsnxAHgNv8Kt69ZAsBnd0g2VUyoxTPFZRmisQ2u0wGU3d7AIXpPh+P647VFHvKv3OoF+rCuOYIFFR3lS2dmjuw0hH5WJDaEHZFppgAh3CZ89alrkIgcbTLbBdwTF4V69JRjM6sfvjWxlSzJRibw8gA88+CpH4GZcZ3tXltkySDF7RQmdLcODqd/cbc83mHo//Y2T1MLqFrKXoHoA85ygImrNF2kP2qGp9mefIoylae9sW9+tUwzOeYfNzVgoBuSKrLR7ieMF5dgVChjc4hkF0jyzWm9sfjh/A+Kimq6u7gdIZfDN5a8cDTO3njnqPDdSRSnWmPK6UilVvZzSynTMjp3stS3/4gR/OptEsWPlhcP4y8sNwHmKIRta+swtQIqXrDBcTmkn40gap9dC4CF4E8zeB8eVeovYA4Rh6J+E4CcdJOE7CcRKO/6tw/KvT/956c5r+p+l/mv6n6f+fnv59u9/z3KvxH5yvZq/9yH/rTy9Ws3kQLcL51F8uo5fnF8H0z5+nBv8A9x+88w==] |
  1. native-specific-macos
    This buid fails with the following error:
Errors
[79/85] Linking CXX executable bin/fizz-bogoshim
FAILED: bin/fizz-bogoshim 
: && /Applications/Xcode_14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -fvisibility=hidden -fvisibility-inlines-hidden -isysroot /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/BogoShim.dir/test/BogoShim.cpp.o -o bin/fizz-bogoshim  -Wl,-rpath,/Users/runner/deps/lib  lib/libfizz.a  /Users/runner/deps/lib/libsodium.dylib  /Users/runner/deps/lib/libfolly.a  /Users/runner/deps/lib/libfmt.a  /Users/runner/deps/lib/libboost_context-mt.dylib  /Users/runner/deps/lib/libboost_filesystem-mt.dylib  /Users/runner/deps/lib/libboost_atomic-mt.dylib  /Users/runner/deps/lib/libboost_program_options-mt.dylib  /Users/runner/deps/lib/libboost_regex-mt.dylib  /Users/runner/deps/lib/libboost_system-mt.dylib  /Users/runner/deps/lib/libboost_thread-mt.dylib  /Users/runner/deps/lib/libevent.dylib  /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/lib/libz.tbd  /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/lib/libbz2.tbd  /Users/runner/deps/lib/liblz4.dylib  /Users/runner/deps/lib/libsnappy.dylib  /Users/runner/deps/lib/libsodium.dylib  -lc++abi  /Users/runner/deps/opt/openssl@1.1/lib/libssl.dylib  /Users/runner/deps/opt/openssl@1.1/lib/libcrypto.dylib  /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/lib/libz.tbd  /Users/runner/deps/lib/libzstd.dylib  /Users/runner/deps/lib/libglog.dylib  /Users/runner/deps/lib/libgflags.2.2.2.dylib  /Users/runner/deps/lib/libdouble-conversion.a && :
Undefined symbols for architecture x86_64:
  "_EVP_DigestSignUpdate", referenced from:
      fizz::detail::rsaPssSign(folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(Signature.cpp.o)
  "_EVP_DigestVerifyUpdate", referenced from:
      fizz::detail::rsaPssVerify(folly::Range<unsigned char const*>, folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(Signature.cpp.o)
  "_EVP_MD_get_size", referenced from:
      folly::ssl::OpenSSLHash::Digest::hash_final(folly::Range<unsigned char*>) in BogoShim.cpp.o
      folly::ssl::OpenSSLHash::Hmac::hash_final(folly::Range<unsigned char*>) in BogoShim.cpp.o
      folly::ssl::OpenSSLHash::Hmac::hash_final(folly::Range<unsigned char*>) in libfizz.a(AeadTokenCipher.cpp.o)
      folly::ssl::OpenSSLHash::Digest::hash_final(folly::Range<unsigned char*>) in libfizz.a(Encryption.cpp.o)
      folly::ssl::OpenSSLHash::Hmac::hash_final(folly::Range<unsigned char*>) in libfizz.a(Utils.cpp.o)
  "_EVP_PKEY_CTX_set_rsa_padding", referenced from:
      fizz::detail::rsaPssSign(folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(Signature.cpp.o)
      fizz::detail::rsaPssVerify(folly::Range<unsigned char const*>, folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(Signature.cpp.o)
  "_EVP_PKEY_CTX_set_rsa_pss_saltlen", referenced from:
      fizz::detail::rsaPssSign(folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(Signature.cpp.o)
      fizz::detail::rsaPssVerify(folly::Range<unsigned char const*>, folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(Signature.cpp.o)
  "_EVP_PKEY_get_base_id", referenced from:
      fizz::detail::validateEdKey(std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(OpenSSLKeyUtils.cpp.o)
  "_EVP_PKEY_get_bits", referenced from:
      folly::AsyncSSLSocket::getSSLCertSize() const in libfolly.a(AsyncSSLSocket.cpp.o)
  "_EVP_PKEY_get_id", referenced from:
      readSelfCert() in BogoShim.cpp.o
      fizz::OpenSSLSignature<(fizz::KeyType)0>::setKey(std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>>) in BogoShim.cpp.o
      fizz::CertUtils::makePeerCert(std::__1::unique_ptr<x509_st, folly::static_function_deleter<x509_st, &X509_free>>) in libfizz.a(Certificate.cpp.o)
      fizz::CertUtils::getKeyType(std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&) in libfizz.a(Certificate.cpp.o)
      fizz::OpenSSLSignature<(fizz::KeyType)0>::setKey(std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>>) in libfizz.a(Certificate.cpp.o)
  "_EVP_PKEY_get_size", referenced from:
      fizz::detail::ecSign(folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(Signature.cpp.o)
      fizz::detail::edSign(folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&) in libfizz.a(Signature.cpp.o)
      fizz::detail::rsaPssSign(folly::Range<unsigned char const*>, std::__1::unique_ptr<evp_pkey_st, folly::static_function_deleter<evp_pkey_st, &EVP_PKEY_free>> const&, int) in libfizz.a(Signature.cpp.o)
  "_SSL_get1_peer_certificate", referenced from:
      folly::AsyncSSLSocket::getPeerCertificate() const in libfolly.a(AsyncSSLSocket.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Impact

Test Plan

This has been tested in a forked repo. See issues above.

Contributor checklist

  • Please make sure your submission complies with our development, formatting, commit message, and attribution guidelines.
  • PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced.
  • Documented new properties (with its default value), SQL syntax, functions, or other functionality.
  • If release notes are required, they follow the release notes guidelines.
  • Adequate tests were added if applicable.
  • CI passed.

Release Notes

Please follow release notes guidelines and fill in the release notes below.

== RELEASE NOTES ==

General Changes
* no changes to functionality of presto
* new GitHub actions workflows that mirror circleci workflows

Hive Changes
* none

If release note is NOT required, use:

== NO RELEASE NOTE ==

https://fburl.com/workplace/f6mz6tmw

@robandpdx robandpdx requested a review from a team as a code owner December 14, 2023 20:40
@robandpdx robandpdx requested a review from presto-oss December 14, 2023 20:40
Copy link

linux-foundation-easycla bot commented Dec 14, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: robandpdx / name: Rob Anderson (639cbde)

@amitkdutta
Copy link
Contributor

CC: @mshang816 @kgpai

@mshang816
Copy link
Contributor

mshang816 commented Dec 14, 2023

I have investigated using github actions for presto previously. native build and test require large runners and I believe there will be extra costs after the migration (no ?). We need to make sure we have budget for that first I believe or we will be running out of fund pretty quickly.

c.c. @tdcmeehan

@tdcmeehan
Copy link
Contributor

Large runners for Prestissimo tests will require dedicated funding, and it's likely there won't be sufficient funding in the Presto Foundation technical budget, so this needs to be sorted out before we can proceed. I suggest we discuss this at the next TSC meeting, the calendar is here (time is in UTC): https://calendar.google.com/calendar/u/0/embed?src=linuxfoundation.org_vrjlva5b0u73ps75fvnv5sasi4@group.calendar.google.com&ctz=UTC

@robandpdx
Copy link
Contributor Author

CLA Not Signed

Done. ✅

@czentgr
Copy link
Contributor

czentgr commented Dec 12, 2024

I'm working on a PR to create the github actions using standard runners with PR #24236.
It is using as base the workflow files (actual commit will have co-authorship) but with a number of changes to address the issues raised in the description:

  1. The issue is with the upload-artifacts action that removes the permissions. The new workflows set the execute permission.
  2. ^^ same
  3. This was a mismatch between picking up openssl3 headers abut linking to openssl1.1 with brew. This problem was solved a way back by making sure both headers and libraries are openssl1.1. However, the current code doesn't rely on openss1.1. anymore. Everything is using openssl3.

czentgr added a commit to czentgr/presto that referenced this pull request Dec 12, 2024
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 | 120m | N | N |
| prestocpp-linux-adapters-build | release | Adapters only build | 20m | 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.

For the original conversion see: prestodb#21545

Co-authored-by: Rob Anderson <robandpdx@github.com>
czentgr added a commit to czentgr/presto that referenced this pull request Dec 12, 2024
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 | 120m | N | N |
| prestocpp-linux-adapters-build | release | Adapters only build | 20m | 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 <robandpdx@github.com>
czentgr added a commit to czentgr/presto that referenced this pull request Dec 12, 2024
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 | 120m | N | N |
| prestocpp-linux-adapters-build | release | Adapters only build | 20m | 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 <robandpdx@github.com>
czentgr added a commit to czentgr/presto that referenced this pull request Dec 13, 2024
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 | 120m | N | N |
| prestocpp-linux-adapters-build | release | Adapters only build | 20m | 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 <robandpdx@github.com>
czentgr added a commit to czentgr/presto that referenced this pull request Dec 13, 2024
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 | 120m | N | N |
| prestocpp-linux-adapters-build | release | Adapters only build | 20m | 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 <robandpdx@github.com>
czentgr added a commit to czentgr/presto that referenced this pull request Dec 13, 2024
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 | 120m | N | N |
| prestocpp-linux-adapters-build | release | Adapters only build | 20m | 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 <robandpdx@github.com>
czentgr added a commit to czentgr/presto that referenced this pull request Dec 13, 2024
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 | 120m | N | N |
| prestocpp-linux-adapters-build | release | Adapters only build | 20m | 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 <robandpdx@github.com>
czentgr added a commit to czentgr/presto that referenced this pull request Dec 13, 2024
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 | 50m | 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 <robandpdx@github.com>
czentgr added a commit to czentgr/presto that referenced this pull request Dec 13, 2024
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 <robandpdx@github.com>
tdcmeehan pushed a commit that referenced this pull request Dec 14, 2024
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: #21545

Co-authored-by: Rob Anderson <robandpdx@github.com>
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.

5 participants