CI updates (#1139)

* Build CMake generated makefiles
* Simplify and update checkout
* Update CI workflow 'C/C++ CI'
* Some corrections of spelling and naming.
* Remove running on branch dev since not officially available.
This commit is contained in:
Bjorn Svensson 2022-11-10 20:20:43 +01:00 committed by GitHub
parent 8ad4985e9d
commit a36686f84f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 57 deletions

View File

@ -6,11 +6,7 @@ jobs:
name: Ubuntu name: Ubuntu
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - uses: actions/checkout@v3
uses: actions/checkout@v3
with:
repository: ${{ env.GITHUB_REPOSITORY }}
ref: ${{ env.GITHUB_HEAD_REF }}
- name: Install dependencies - name: Install dependencies
run: | run: |
@ -24,7 +20,7 @@ jobs:
EXTRA_CMAKE_OPTS: -DENABLE_EXAMPLES:BOOL=ON -DENABLE_SSL:BOOL=ON -DENABLE_SSL_TESTS:BOOL=ON -DENABLE_ASYNC_TESTS:BOOL=ON EXTRA_CMAKE_OPTS: -DENABLE_EXAMPLES:BOOL=ON -DENABLE_SSL:BOOL=ON -DENABLE_SSL_TESTS:BOOL=ON -DENABLE_ASYNC_TESTS:BOOL=ON
CFLAGS: -Werror CFLAGS: -Werror
CXXFLAGS: -Werror CXXFLAGS: -Werror
run: mkdir build-ubuntu && cd build-ubuntu && cmake .. run: mkdir build && cd build && cmake .. && make
- name: Build using makefile - name: Build using makefile
run: USE_SSL=1 TEST_ASYNC=1 make run: USE_SSL=1 TEST_ASYNC=1 make
@ -46,11 +42,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: centos:7 container: centos:7
steps: steps:
- name: Checkout code - uses: actions/checkout@v3
uses: actions/checkout@v3
with:
repository: ${{ env.GITHUB_REPOSITORY }}
ref: ${{ env.GITHUB_HEAD_REF }}
- name: Install dependencies - name: Install dependencies
run: | run: |
@ -63,7 +55,7 @@ jobs:
EXTRA_CMAKE_OPTS: -DENABLE_EXAMPLES:BOOL=ON -DENABLE_SSL:BOOL=ON -DENABLE_SSL_TESTS:BOOL=ON -DENABLE_ASYNC_TESTS:BOOL=ON EXTRA_CMAKE_OPTS: -DENABLE_EXAMPLES:BOOL=ON -DENABLE_SSL:BOOL=ON -DENABLE_SSL_TESTS:BOOL=ON -DENABLE_ASYNC_TESTS:BOOL=ON
CFLAGS: -Werror CFLAGS: -Werror
CXXFLAGS: -Werror CXXFLAGS: -Werror
run: mkdir build-centos7 && cd build-centos7 && cmake3 .. run: mkdir build && cd build && cmake3 .. && make
- name: Build using Makefile - name: Build using Makefile
run: USE_SSL=1 TEST_ASYNC=1 make run: USE_SSL=1 TEST_ASYNC=1 make
@ -86,11 +78,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: rockylinux:8 container: rockylinux:8
steps: steps:
- name: Checkout code - uses: actions/checkout@v3
uses: actions/checkout@v3
with:
repository: ${{ env.GITHUB_REPOSITORY }}
ref: ${{ env.GITHUB_HEAD_REF }}
- name: Install dependencies - name: Install dependencies
run: | run: |
@ -105,7 +93,7 @@ jobs:
EXTRA_CMAKE_OPTS: -DENABLE_EXAMPLES:BOOL=ON -DENABLE_SSL:BOOL=ON -DENABLE_SSL_TESTS:BOOL=ON -DENABLE_ASYNC_TESTS:BOOL=ON EXTRA_CMAKE_OPTS: -DENABLE_EXAMPLES:BOOL=ON -DENABLE_SSL:BOOL=ON -DENABLE_SSL_TESTS:BOOL=ON -DENABLE_ASYNC_TESTS:BOOL=ON
CFLAGS: -Werror CFLAGS: -Werror
CXXFLAGS: -Werror CXXFLAGS: -Werror
run: mkdir build-centos8 && cd build-centos8 && cmake .. run: mkdir build && cd build && cmake .. && make
- name: Build using Makefile - name: Build using Makefile
run: USE_SSL=1 TEST_ASYNC=1 make run: USE_SSL=1 TEST_ASYNC=1 make
@ -127,11 +115,7 @@ jobs:
runs-on: macos-12 runs-on: macos-12
name: FreeBSD name: FreeBSD
steps: steps:
- name: Checkout code - uses: actions/checkout@v3
uses: actions/checkout@v3
with:
repository: ${{ env.GITHUB_REPOSITORY }}
ref: ${{ env.GITHUB_HEAD_REF }}
- name: Build in FreeBSD - name: Build in FreeBSD
uses: vmactions/freebsd-vm@v0 uses: vmactions/freebsd-vm@v0
@ -145,11 +129,7 @@ jobs:
name: macOS name: macOS
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- name: Checkout code - uses: actions/checkout@v3
uses: actions/checkout@v3
with:
repository: ${{ env.GITHUB_REPOSITORY }}
ref: ${{ env.GITHUB_HEAD_REF }}
- name: Install dependencies - name: Install dependencies
run: | run: |
@ -168,11 +148,7 @@ jobs:
name: Windows name: Windows
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Checkout code - uses: actions/checkout@v3
uses: actions/checkout@v3
with:
repository: ${{ env.GITHUB_REPOSITORY }}
ref: ${{ env.GITHUB_HEAD_REF }}
- name: Install dependencies - name: Install dependencies
run: | run: |

View File

@ -2,25 +2,23 @@ name: C/C++ CI
on: on:
push: push:
branches: [ master, dev ] branches: [ master ]
pull_request: pull_request:
branches: [ master ] branches: [ master ]
jobs: jobs:
full-build: full-build:
name: Build all, plus default examples, run tests against redis name: Build all, plus default examples, run tests against redis
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
# the docker image used by the test.sh # the docker image used by the test.sh
REDIS_DOCKER: redis:alpine REDIS_DOCKER: redis:alpine
steps: steps:
- name: Install prerequisites
- name: install prerequisites
run: sudo apt-get update && sudo apt-get install -y libev-dev libevent-dev libglib2.0-dev libssl-dev valgrind run: sudo apt-get update && sudo apt-get install -y libev-dev libevent-dev libglib2.0-dev libssl-dev valgrind
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: run make - name: Run make
run: make all examples run: make all examples
- name: Run unittests - name: Run unittests
run: make check run: make check
@ -34,10 +32,10 @@ jobs:
name: Build and test minimal 32 bit linux name: Build and test minimal 32 bit linux
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: install prerequisites - name: Install prerequisites
run: sudo apt-get update && sudo apt-get install gcc-multilib run: sudo apt-get update && sudo apt-get install gcc-multilib
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: run make - name: Run make
run: make all run: make all
env: env:
PLATFORM_FLAGS: -m32 PLATFORM_FLAGS: -m32
@ -60,14 +58,14 @@ jobs:
emulator: qemu-aarch64 emulator: qemu-aarch64
steps: steps:
- name: install qemu - name: Install qemu
if: matrix.emulator if: matrix.emulator
run: sudo apt-get install -y qemu-user run: sudo apt-get install -y qemu-user
- name: install ploatform toolset - name: Install platform toolset
if: matrix.toolset if: matrix.toolset
run: sudo apt-get install -y gcc-${{matrix.toolset}} run: sudo apt-get install -y gcc-${{matrix.toolset}}
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: run make - name: Run make
run: make all run: make all
env: env:
CC: ${{matrix.toolset}}-gcc CC: ${{matrix.toolset}}-gcc
@ -83,20 +81,18 @@ jobs:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: microsoft/setup-msbuild@v1.0.2 - uses: microsoft/setup-msbuild@v1.0.2
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Cmake - name: Run CMake
run: cmake -Wno-dev CmakeLists.txt run: cmake -Wno-dev CmakeLists.txt
- name: build redis - name: Build hiredis
run: MSBuild hiredis.vcxproj /p:Configuration=Debug run: MSBuild hiredis.vcxproj /p:Configuration=Debug
- name: build redis_static - name: Build hiredis_static
run: MSBuild hiredis_static.vcxproj /p:Configuration=Debug run: MSBuild hiredis_static.vcxproj /p:Configuration=Debug
- name: build redis-test - name: Build hiredis-test
run: MSBuild hiredis-test.vcxproj /p:Configuration=Debug run: MSBuild hiredis-test.vcxproj /p:Configuration=Debug
# use memurai, redis compatible server, since it is easy to install. Can't # use memurai, redis compatible server, since it is easy to install. Can't
# install official redis containers on the windows runner # install official redis containers on the windows runner
- name: install Memurai redis server - name: Install Memurai redis server
run: choco install -y memurai-developer.install run: choco install -y memurai-developer.install
- name: run tests - name: Run tests
run: Debug\hiredis-test.exe run: Debug\hiredis-test.exe