use matrix to remove redundant code

This commit is contained in:
wangyunlai 2023-07-19 10:08:20 +08:00 committed by GitHub
parent 77c95710e4
commit eb674e1fc5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,7 +7,7 @@ on:
branches: [ master ]
jobs:
ubuntu-x86_64:
build:
strategy:
matrix:
image: [ubuntu-20.04, centos:7]
@ -16,9 +16,15 @@ jobs:
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: sudo 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: sudo yum install -y git wget rpm* cpio make glibc-devel glibc-headers binutils m4
- name: Cache deps
id: cache-deps
@ -56,48 +62,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