Skip to content

Dev

Dev #800

Workflow file for this run

name: "Build"
on: # @see https://help.github.com/en/articles/events-that-trigger-workflows#webhook-events
push:
branches: [main]
pull_request:
branches: [main]
env:
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE: ONLY
jobs:
format:
name: Format
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh format ;
gcc_no_rtti_test:
name: "gcc.no-rtti.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh gcc.no-rtti.test ;
gcc_no_exceptions_test:
name: "gcc.no-exceptions.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh gcc.no-exceptions.test ;
gcc_static_test:
name: "gcc.static.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh gcc.static.test ;
gcc_shared_test:
name: "gcc.shared.test"
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh gcc.shared.test ;
gcc_libressl_test:
name: "gcc.libressl.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh gcc.libressl.test ;
gcc_boringssl_test:
name: "gcc.boringssl.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh gcc.boringssl.test ;
gcc_mbedtls_test:
name: "gcc.mbedtls.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh gcc.mbedtls.test ;
gcc_48_test:
name: "gcc.4.8.test"
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
sudo apt-add-repository 'deb http://archive.ubuntu.com/ubuntu/ xenial main' ;
sudo apt-add-repository 'deb http://archive.ubuntu.com/ubuntu/ xenial universe' ;
sudo apt-get update;
sudo apt-get install --no-install-recommends --no-install-suggests -y g++-4.8 ;
bash ci/do_ci.sh gcc.4.8.test ;
gcc_standalone_upb_test:
name: "gcc.standalone-upb.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh gcc.standalone-upb.test ;
clang_test:
name: "clang.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh clang.test ;
gcc_vcpkg_test:
name: "gcc.vcpkg.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
# Patch for Imported target "gRPC::grpc" includes non-existent path
mkdir -p /usr/local/share/vcpkg/include
bash ci/do_ci.sh gcc.vcpkg.test ;
- name: Cache packages
uses: actions/cache@v2
with:
path: |
/usr/local/share/vcpkg/installed
key: ${{ runner.os }}-${{ hashFiles('/usr/local/share/vcpkg/installed/**') }}
# Disable mingw because some versions of gRPC will generate a PATH that is too long for Windows(260)
# msys2_mingw_static_test:
# name: "msys2.mingw.static.test"
# runs-on: windows-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: CI Job
# shell: bash
# run: |
# C:/msys64/msys2_shell.cmd -mingw64 -defterm -no-start -here -lc "ci/do_ci.sh msys2.mingw.static.test"
# - name: Cache packages
# uses: actions/cache@v2
# with:
# path: |
# third_party/test/packages
# C:/msys64/var/cache/pacman/pkg
# C:/msys64/var/lib/pacman
# key: ${{ runner.os }}-${ hashFiles('.github/workflows/build.yaml') } }}
msvc_static_test:
name: "msvc.static.test"
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: pwsh
run: |
pwsh ci/do_ci.ps1 msvc.static.test ;
msvc_shared_test:
name: "msvc.shared.test"
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: pwsh
run: |
pwsh ci/do_ci.ps1 msvc.shared.test ;
msvc_no_rtti_test:
name: "msvc.no-rtti.test"
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: pwsh
run: |
pwsh ci/do_ci.ps1 msvc.no-rtti.test ;
msvc_no_exceptions_test:
name: "msvc.no-exceptions.test"
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: pwsh
run: |
pwsh ci/do_ci.ps1 msvc.no-exceptions.test ;
msvc_standalone_upb_test:
name: "msvc.standalone-upb.test"
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: pwsh
run: |
pwsh ci/do_ci.ps1 msvc.standalone-upb.test ;
msvc_vcpkg_test:
name: "msvc.vcpkg.test"
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: pwsh
run: |
pwsh ci/do_ci.ps1 msvc.vcpkg.test ;
- name: Cache packages
uses: actions/cache@v2
with:
path: |
C:/vcpkg/installed
key: ${{ runner.os }}-${{ hashFiles('C:/vcpkg/installed/**') }}
msvc2019_test:
name: "msvc.2019.test"
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: pwsh
env:
CMAKE_GENERATOR: "Visual Studio 16 2019"
run: |
pwsh ci/do_ci.ps1 msvc.shared.test ;
macos_appleclang_test:
name: "macos.appleclang.test"
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
env:
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM: NEVER
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY: ONLY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE: ONLY
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE: ONLY
run: |
# The OpenSSL config package in apple ci job is break
if [ -e /opt/homebrew/lib/cmake/OpenSSL ]; then
rm -rf /opt/homebrew/lib/cmake/OpenSSL || true
fi
bash ci/do_ci.sh clang.test ;
android_arm64_test:
name: "android.arm64.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh android.arm64.test ;
android_x86_64_test:
name: "android.x86_64.test"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh android.x86_64.test ;
# Build libuv on ios has some problem now.
ios_test:
name: "ios.test"
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh ios.test ;
iphone_simulator_test:
name: "iphone_simulator.test"
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Job
shell: bash
run: |
bash ci/do_ci.sh iphone_simulator.test ;