This is an automated email from the ASF dual-hosted git repository.

laiyingchun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus.git


The following commit(s) were added to refs/heads/master by this push:
     new 496d7a3c9 chore(gha): introduce RockyLinux as an action runner (#2179)
496d7a3c9 is described below

commit 496d7a3c9767e4d2905da42c8edcb1228791dc74
Author: Yingchun Lai <[email protected]>
AuthorDate: Mon Jan 13 11:38:38 2025 +0800

    chore(gha): introduce RockyLinux as an action runner (#2179)
    
    Since the node16 has been removed in Github actions, the CentOS 7 is hard 
to run as
    a runner, we have to make many tricky works if we want to do that.
    
    As an alternative, this patch introduces RockyLinux 9 as a new github 
runner.
    
    
https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default
---
 .github/workflows/build-push-env-docker.yml     |  6 +--
 .github/workflows/lint_and_test_cpp.yaml        |  8 ++--
 .github/workflows/regular-build.yml             |  6 +--
 .github/workflows/standardization_lint.yaml     |  2 +-
 .github/workflows/thirdparty-regular-push.yml   | 14 +++---
 docker/README.md                                |  6 +--
 docker/pegasus-build-env/rockylinux9/Dockerfile | 58 +++++++++++++++++++++++++
 docker/thirdparties-bin/Dockerfile              |  2 +-
 docker/thirdparties-src/Dockerfile              |  2 +-
 9 files changed, 80 insertions(+), 24 deletions(-)

diff --git a/.github/workflows/build-push-env-docker.yml 
b/.github/workflows/build-push-env-docker.yml
index 23d552ccd..8a26637af 100644
--- a/.github/workflows/build-push-env-docker.yml
+++ b/.github/workflows/build-push-env-docker.yml
@@ -35,7 +35,7 @@ jobs:
   build_compilation_env_docker_images:
     runs-on: ubuntu-latest
     env:
-      # The glibc version on ubuntu1804 and centos7 is lower than the node20 
required, so
+      # The glibc version on ubuntu1804 is lower than the node20 required, so
       # we need to force the node version to 16.
       # See more details: https://github.com/actions/checkout/issues/1809
       ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
@@ -47,10 +47,10 @@ jobs:
           - ubuntu1804
           - ubuntu2004
           - ubuntu2204
-          - centos7
+          - rockylinux9
     steps:
       - name: Checkout
-        # The glibc version on ubuntu1804 and centos7 is lower than the 
actions/checkout@v4 required, so
+        # The glibc version on ubuntu1804 is lower than the 
actions/checkout@v4 required, so
         # we need to force to use actions/checkout@v3.
         uses: actions/checkout@v4
       - name: Set up QEMU
diff --git a/.github/workflows/lint_and_test_cpp.yaml 
b/.github/workflows/lint_and_test_cpp.yaml
index 4915dee72..ec2f47836 100644
--- a/.github/workflows/lint_and_test_cpp.yaml
+++ b/.github/workflows/lint_and_test_cpp.yaml
@@ -444,8 +444,8 @@ jobs:
           ./run.sh build --test --skip_thirdparty -j $(sysctl -n 
hw.physicalcpu)
           ccache -s
 
-  build_debug_on_centos7:
-    name: Build Debug on CentOS 7
+  build_debug_on_rockylinux9:
+    name: Build Debug on Rockylinux 9
     needs:
       - cpp_clang_format_linter
     runs-on: ubuntu-latest
@@ -453,10 +453,8 @@ jobs:
       USE_JEMALLOC: OFF
       BUILD_OPTIONS: -t debug --test --separate_servers
       PACK_OPTIONS: --separate_servers
-      ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
-      ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
     container:
-      image: apache/pegasus:thirdparties-bin-centos7-${{ github.base_ref }}
+      image: apache/pegasus:thirdparties-bin-rockylinux9-${{ github.base_ref }}
     steps:
       - name: Clone code
         uses: actions/checkout@v3
diff --git a/.github/workflows/regular-build.yml 
b/.github/workflows/regular-build.yml
index 01c17f4fc..6214154ba 100644
--- a/.github/workflows/regular-build.yml
+++ b/.github/workflows/regular-build.yml
@@ -47,7 +47,7 @@ jobs:
     name: Build Cpp
     runs-on: ubuntu-latest
     env:
-      # The glibc version on ubuntu1804 and centos7 is lower than the node20 
required, so
+      # The glibc version on ubuntu1804 is lower than the node20 required, so
       # we need to force the node version to 16.
       # See more details: https://github.com/actions/checkout/issues/1809
       ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
@@ -59,7 +59,7 @@ jobs:
           - ubuntu1804
           - ubuntu2004
           - ubuntu2204
-          - centos7
+          - rockylinux9
         compiler:
           - "gcc,g++"
         include:
@@ -76,7 +76,7 @@ jobs:
         working-directory: /root/incubator-pegasus
     steps:
       - name: Clone Apache Pegasus Source
-        # The glibc version on ubuntu1804 and centos7 is lower than the 
actions/checkout@v4 required, so
+        # The glibc version on ubuntu1804 is lower than the 
actions/checkout@v4 required, so
         # we need to force to use actions/checkout@v3.
         uses: actions/checkout@v3
       - name: Unpack prebuilt third-parties
diff --git a/.github/workflows/standardization_lint.yaml 
b/.github/workflows/standardization_lint.yaml
index a88f13e66..929c63e7d 100644
--- a/.github/workflows/standardization_lint.yaml
+++ b/.github/workflows/standardization_lint.yaml
@@ -58,7 +58,7 @@ jobs:
       - uses: hadolint/[email protected]
         with:
           recursive: true
-          ignore: 
'DL3033,DL3013,DL3059,SC2086,DL3003,SC2164,DL3008,DL3007,DL3006,DL4001'
+          ignore: 
'DL3033,DL3013,DL3059,SC2086,DL3003,SC2164,DL3008,DL3007,DL3006,DL4001,DL3041'
 
   license_check:
     name: Check License
diff --git a/.github/workflows/thirdparty-regular-push.yml 
b/.github/workflows/thirdparty-regular-push.yml
index 6dee78275..f5d5e3afe 100644
--- a/.github/workflows/thirdparty-regular-push.yml
+++ b/.github/workflows/thirdparty-regular-push.yml
@@ -49,7 +49,7 @@ jobs:
           - ubuntu1804
           - ubuntu2004
           - ubuntu2204
-          - centos7
+          - rockylinux9
     steps:
       - uses: actions/checkout@v4
       - name: Set up QEMU
@@ -78,7 +78,7 @@ jobs:
   build_push_bin_docker_images:
     runs-on: ubuntu-latest
     env:
-      # The glibc version on ubuntu1804 and centos7 is lower than the node20 
required, so
+      # The glibc version on ubuntu1804 is lower than the node20 required, so
       # we need to force the node version to 16.
       # See more details: https://github.com/actions/checkout/issues/1809
       ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
@@ -91,9 +91,9 @@ jobs:
           - ubuntu1804
           - ubuntu2004
           - ubuntu2204
-          - centos7
+          - rockylinux9
     steps:
-      # The glibc version on ubuntu1804 and centos7 is lower than the 
actions/checkout@v4 required, so
+      # The glibc version on ubuntu1804 is lower than the actions/checkout@v4 
required, so
       # we need to force to use actions/checkout@v3.
       - uses: actions/checkout@v3
       - name: Set up QEMU
@@ -122,7 +122,7 @@ jobs:
   build_push_bin_jemalloc_docker_images:
     runs-on: ubuntu-latest
     env:
-      # The glibc version on ubuntu1804 and centos7 is lower than the node20 
required, so
+      # The glibc version on ubuntu1804 is lower than the node20 required, so
       # we need to force the node version to 16.
       # See more details: https://github.com/actions/checkout/issues/1809
       ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
@@ -135,9 +135,9 @@ jobs:
           - ubuntu1804
           - ubuntu2004
           - ubuntu2204
-          - centos7
+          - rockylinux9
     steps:
-      # The glibc version on ubuntu1804 and centos7 is lower than the 
actions/checkout@v4 required, so
+      # The glibc version on ubuntu1804 is lower than the actions/checkout@v4 
required, so
       # we need to force to use actions/checkout@v3.
       - uses: actions/checkout@v3
       - name: Set up QEMU
diff --git a/docker/README.md b/docker/README.md
index 2d454e1e2..3ef32e205 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -35,7 +35,7 @@ Building environment for Pegasus compilation.
 
 Github Actions automatically rebuilds and publishes build-env for every commit.
 
-- `apache/pegasus:build-env-centos7-<branch>`
+- `apache/pegasus:build-env-rockylinux9-<branch>`
 - `apache/pegasus:build-env-ubuntu1804-<branch>`
 - `apache/pegasus:build-env-ubuntu2004-<branch>`
 - `apache/pegasus:build-env-ubuntu2204-<branch>`
@@ -51,7 +51,7 @@ It packages the downloaded sources into a zip in the 
container, so that
 other repos can easily extract third-parties from the container (via `docker 
cp`),
 without downloading from the cloud object storage.
 
-- `apache/pegasus:thirdparties-src-centos7-<branch>`
+- `apache/pegasus:thirdparties-src-rockylinux9-<branch>`
 - `apache/pegasus:thirdparties-src-ubuntu1804-<branch>`
 - `apache/pegasus:thirdparties-src-ubuntu2004-<branch>`
 - `apache/pegasus:thirdparties-src-ubuntu2204-<branch>`
@@ -61,7 +61,7 @@ without downloading from the cloud object storage.
 This is a Docker image for Pegasus unit-testing. It prebuilts the thirdparty 
libraries,
 so jobs based on this image can skip building third-parties.
 
-- `apache/pegasus:thirdparties-bin-centos7-<branch>`
+- `apache/pegasus:thirdparties-bin-rockylinux9-<branch>`
 - `apache/pegasus:thirdparties-bin-ubuntu1804-<branch>`
 - `apache/pegasus:thirdparties-bin-ubuntu2004-<branch>`
 - `apache/pegasus:thirdparties-bin-ubuntu2204-<branch>`
diff --git a/docker/pegasus-build-env/rockylinux9/Dockerfile 
b/docker/pegasus-build-env/rockylinux9/Dockerfile
new file mode 100644
index 000000000..49852d0f6
--- /dev/null
+++ b/docker/pegasus-build-env/rockylinux9/Dockerfile
@@ -0,0 +1,58 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+FROM rockylinux/rockylinux:9.5.20241118
+
+RUN dnf -y install autoconf \
+                   automake \
+                   bison \
+                   cmake \
+                   cyrus-sasl-devel \
+                   file \
+                   flex \
+                   gcc-c++ \
+                   gdb \
+                   git \
+                   java-1.8.0-openjdk-devel \
+                   krb5-devel \
+                   libaio-devel \
+                   libtool \
+                   make \
+                   maven \
+                   nmap-ncat \
+                   openssl-devel \
+                   patch \
+                   python3 \
+                   unzip \
+                   vim \
+                   wget \
+                   which \
+                   zip \
+                   zlib \
+                   zlib-devel && \
+    dnf clean all && \
+    rm -rf /var/cache/dnf
+
+RUN wget --progress=dot:giga 
https://archive.apache.org/dist/thrift/0.11.0/thrift-0.11.0.tar.gz -P 
/opt/thrift && \
+    cd /opt/thrift && tar xzf thrift-0.11.0.tar.gz && cd thrift-0.11.0 && 
./bootstrap.sh && \
+    ./configure --enable-libs=no && \
+    make -j$(($(nproc)/2+1)) && make install && cd - && \
+    rm -rf thrift-0.11.0 thrift-0.11.0.tar.gz
+
+ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
+
+WORKDIR /root/apache
diff --git a/docker/thirdparties-bin/Dockerfile 
b/docker/thirdparties-bin/Dockerfile
index 438669f93..3c9845462 100644
--- a/docker/thirdparties-bin/Dockerfile
+++ b/docker/thirdparties-bin/Dockerfile
@@ -16,7 +16,7 @@
 # under the License.
 
 ARG GITHUB_BRANCH=master
-ARG OS_VERSION=centos7
+ARG OS_VERSION=rockylinux9
 FROM apache/pegasus:thirdparties-src-${OS_VERSION}-${GITHUB_BRANCH} as builder
 FROM apache/pegasus:build-env-${OS_VERSION}-${GITHUB_BRANCH}
 
diff --git a/docker/thirdparties-src/Dockerfile 
b/docker/thirdparties-src/Dockerfile
index c61a82417..ca20e6560 100644
--- a/docker/thirdparties-src/Dockerfile
+++ b/docker/thirdparties-src/Dockerfile
@@ -16,7 +16,7 @@
 # under the License.
 
 ARG GITHUB_BRANCH=master
-ARG OS_VERSION=centos7
+ARG OS_VERSION=rockylinux9
 FROM apache/pegasus:build-env-${OS_VERSION}-${GITHUB_BRANCH} as builder
 
 WORKDIR /root


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to