diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index c06e68dc0..1f18b8790 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -7,14 +7,27 @@ on: branches: [ master ] jobs: - ubuntu-x86_64: + build: + strategy: + matrix: + image: ['ubuntu:20.04', 'centos:7'] runs-on: ubuntu-20.04 + container: ${{ matrix.image }} steps: - uses: actions/checkout@v3 - - name: Install environment + - name: Install ubuntu environment shell: bash - run: sudo apt-get install -y git wget rpm rpm2cpio cpio make build-essential binutils m4 libtool-bin language-pack-en + if: ${{ startsWith(matrix.image, 'ubuntu') }} + run: | + export DEBIAN_FRONTEND=noninteractive + apt-get update + apt-get install -y git wget rpm rpm2cpio cpio make build-essential binutils m4 libtool-bin + + - name: Install centos environment + shell: bash + if: ${{ startsWith(matrix.image, 'centos') }} + run: yum install -y git wget rpm* cpio make glibc-devel glibc-headers binutils m4 - name: Cache deps id: cache-deps @@ -52,48 +65,3 @@ jobs: cd build_debug && make -j4 && cd - deps/3rd/usr/local/oceanbase/devtools/bin/ccache -s cat $PWD/ccache.log - - centos-x86_64: - runs-on: ubuntu-20.04 - container: centos:7 - steps: - - uses: actions/checkout@v3 - - - name: Install environment - shell: bash - run: yum install -y git wget rpm* cpio make glibc-devel glibc-headers binutils m4 - - - name: Cache deps - id: cache-deps - uses: actions/cache@v3 - env: - cache-name: cache-deps - with: - key: ${{ runner.os }}-build-${{ env.cache-name }}-el7.x86_64-${{ hashFiles('deps/init/oceanbase.el7.x86_64.deps') }} - path: deps/3rd - enableCrossOsArchive: true - - - name: cache-build - id: cache-build - uses: actions/cache@v3 - env: - cache-name: cache-build - with: - key: ${{ runner.os }}-${{ env.cache-name }}-el7.x86_64-${{ github.ref_name }} - path: ~/.ccache - enableCrossOsArchive: false - restore-keys: | - ${{ runner.os }}-${{ env.cache-name }}-el7.x86_64 - - - name: Build init - if: steps.cache-deps.outputs.cache-hit != 'true' - run: bash build.sh init - - - name: Build project - shell: bash - run: | - rm -rf build_debug - deps/3rd/usr/local/oceanbase/devtools/bin/ccache -z - bash build.sh debug -DOB_USE_CCACHE=ON - cd build_debug && make -j4 && cd - - deps/3rd/usr/local/oceanbase/devtools/bin/ccache -s