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

new CI workflow for linux.x86 #494

Merged
merged 58 commits into from
Jun 3, 2024
Merged

Conversation

lihuiba
Copy link
Collaborator

@lihuiba lihuiba commented May 28, 2024

  • compile with multiple gcc versions: 8.5.0, 9.2.1, 10.3.1, 11.2.1, 12.1.1, and test all their outputs
  • limit # of concurrent compilation to $(nproc), to prevent OOM
  • split test-thread into 2 separate test suites, for ease of handling event engine overriding (see below)
  • enable tests for executor, memory-stream, etc.
  • enable macos arm tests (on github-hosted runners)
  • possibility to override event engine in CI with environment variable PHOTON_CI_EV_ENGINE, for example:
export PHOTON_CI_EV_ENGINE=io_uring
ctest

and it outputs:

...
INFO |th=0000000000000000|ci-tools.cpp:71|init:argument specified: epoll, io_uring, select (7)
INFO |th=0000000000000000|ci-tools.cpp:72|init:environment specified: 'io_uring'
INFO |th=0000000000000000|ci-tools.cpp:76|init:event engine overridden to: io_uring
INFO |th=0000000000C70D80|iouring-wrapper.cpp:668|new_iouring:Init event engine: iouring [is_master=1]
...
image

@lihuiba lihuiba changed the title ci.compiler new CI workflow for linux.x86 Jun 1, 2024
@lihuiba lihuiba marked this pull request as ready for review June 1, 2024 03:57
Copy link
Collaborator

@Coldwings Coldwings left a comment

Choose a reason for hiding this comment

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

LGTM

@beef9999
Copy link
Collaborator

beef9999 commented Jun 3, 2024

Don't merge to 0.7, but master instead?

@@ -37,12 +37,12 @@ jobs:
source /opt/rh/gcc-toolset-9/enable
cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel -D PHOTON_BUILD_TESTING=ON \
-D PHOTON_ENABLE_SASL=ON -D PHOTON_ENABLE_FUSE=ON -D PHOTON_ENABLE_EXTFS=ON
cmake --build build -j -- VERBOSE=1
cmake --build build -j $(nproc) -- VERBOSE=1
Copy link
Collaborator

Choose a reason for hiding this comment

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

What's the default value of nproc? Didn't see the definition.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

it's the number of processors in current system.

BUILD_COMMAND sh -c "V=1 CFLAGS=\"-fPIC -g -O3 -Wall -Wextra -fno-stack-protector\" $(MAKE) -C src"
INSTALL_COMMAND $(MAKE) install
BUILD_COMMAND sh -c "V=1 CFLAGS=\"-fPIC -O3 -Wall -Wextra -fno-stack-protector\" $(MAKE) -C src"
# INSTALL_COMMAND $(MAKE) install
Copy link
Collaborator

Choose a reason for hiding this comment

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

Keep this line?

@@ -1,21 +1,21 @@
add_definitions(-w)

add_executable(simple-example simple/simple.cpp)
target_link_libraries(simple-example PRIVATE photon_static)
target_link_libraries(simple-example PRIVATE photon_shared)

Copy link
Collaborator

@beef9999 beef9999 Jun 3, 2024

Choose a reason for hiding this comment

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

We'd better not change static libs to shared libs, because we usually need to copy example programs to other machines to run. An independent binary is convenient .

@lihuiba lihuiba merged commit 8261b93 into alibaba:release/0.7 Jun 3, 2024
13 of 15 checks passed
lihuiba added a commit to lihuiba/PhotonLibOS that referenced this pull request Jun 3, 2024
new CI workflow for linux.x86
lihuiba added a commit to lihuiba/PhotonLibOS that referenced this pull request Jun 3, 2024
lihuiba added a commit to lihuiba/PhotonLibOS that referenced this pull request Jun 4, 2024
lihuiba added a commit to lihuiba/PhotonLibOS that referenced this pull request Jun 4, 2024
Coldwings pushed a commit that referenced this pull request Jun 4, 2024
lihuiba added a commit that referenced this pull request Jun 15, 2024
* new CI workflow for linux.x86 (#494)

new CI workflow for linux.x86

* CI use images that pre-installed all deps (#505)

* Manual pr 0.6 0.7 (#509)

* FIX: lockfree MPMC queue should not fail to pop/push when queue is not empty/full (#504)

* FIX: lockfree MPMC queue should not fail to pop/push when queue is not empty/full

Signed-off-by: Coldwings <[email protected]>

* Old CI image not able to access repo, change to preset image

Signed-off-by: Coldwings <[email protected]>

---------

Signed-off-by: Coldwings <[email protected]>
Co-authored-by: Coldwings <[email protected]>
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.

3 participants