mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 12:17:45 +02:00
Change to matrix-style workflow
This commit is contained in:
parent
c38fe5b2aa
commit
d9950490fe
1 changed files with 102 additions and 155 deletions
149
.github/workflows/cmake.yml
vendored
149
.github/workflows/cmake.yml
vendored
|
@ -43,6 +43,8 @@ env:
|
||||||
# CMAKE_BACKTRACE_TOKEN: ${MASKED_CMAKE_BACKTRACE_TOKEN}
|
# CMAKE_BACKTRACE_TOKEN: ${MASKED_CMAKE_BACKTRACE_TOKEN}
|
||||||
# CMAKE_BACKTRACE_SYMBOLS_TOKEN: ${MASKED_BACKTRACE_UPLOAD_TOKEN}
|
# CMAKE_BACKTRACE_SYMBOLS_TOKEN: ${MASKED_BACKTRACE_UPLOAD_TOKEN}
|
||||||
|
|
||||||
|
LINUX_DOCKER_IMAGE_NAME: "linux-hifi-gha:${{ github.event.number }}"
|
||||||
|
|
||||||
# Mac OS
|
# Mac OS
|
||||||
#PLATFORM_CMAKE_GENERATOR=Xcode
|
#PLATFORM_CMAKE_GENERATOR=Xcode
|
||||||
#PLATFORM_BUILD_ARGUMENTS=--config Release --target package
|
#PLATFORM_BUILD_ARGUMENTS=--config Release --target package
|
||||||
|
@ -72,36 +74,15 @@ env:
|
||||||
#STABLE_BUILD=0
|
#STABLE_BUILD=0
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_client_mac:
|
build:
|
||||||
runs-on: macOS-latest
|
strategy:
|
||||||
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild'
|
matrix:
|
||||||
steps:
|
os: [windows-latest, macOS-latest, ubuntu-latest]
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 1
|
|
||||||
- name: Install python modules
|
|
||||||
run: pip3 install awscli boto3 PyGithub
|
|
||||||
- name: Create Build Environment
|
|
||||||
run: cmake -E make_directory ${{runner.workspace}}/build
|
|
||||||
- name: Configure CMake
|
|
||||||
working-directory: ${{runner.workspace}}/build
|
|
||||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DCLIENT_ONLY:BOOLEAN=TRUE -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode -DVCPKG_APPLOCAL_DEPS=OFF
|
|
||||||
- name: Build Console
|
|
||||||
working-directory: ${{runner.workspace}}/build
|
|
||||||
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console
|
|
||||||
- name: Build Application
|
|
||||||
working-directory: ${{runner.workspace}}/build
|
|
||||||
run: cmake --build . --config $BUILD_TYPE --target $APP_NAME
|
|
||||||
- name: Build Installer
|
|
||||||
working-directory: ${{runner.workspace}}/build
|
|
||||||
run: cmake --build . --config $BUILD_TYPE --target package
|
|
||||||
|
|
||||||
build_full_mac:
|
runs-on: ${{ matrix.os }}
|
||||||
runs-on: macOS-latest
|
|
||||||
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild'
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
@ -109,124 +90,90 @@ jobs:
|
||||||
run: pip3 install awscli boto3 PyGithub
|
run: pip3 install awscli boto3 PyGithub
|
||||||
- name: Create Build Environment
|
- name: Create Build Environment
|
||||||
run: cmake -E make_directory ${{runner.workspace}}/build
|
run: cmake -E make_directory ${{runner.workspace}}/build
|
||||||
- name: Configure CMake
|
|
||||||
|
#build_full_mac:
|
||||||
|
- name: Configure CMake (macOS)
|
||||||
|
if: matrix.os == 'macOS-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild')
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode -DVCPKG_APPLOCAL_DEPS=OFF
|
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode -DVCPKG_APPLOCAL_DEPS=OFF
|
||||||
- name: Build Console
|
- name: Build Console (macOS)
|
||||||
|
if: matrix.os == 'macOS-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild')
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console
|
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console
|
||||||
- name: Build Application
|
- name: Build Application (macOS)
|
||||||
|
if: matrix.os == 'macOS-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild')
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target $APP_NAME
|
run: cmake --build . --config $BUILD_TYPE --target $APP_NAME
|
||||||
- name: Build Domain Server
|
- name: Build Domain Server (macOS)
|
||||||
|
if: matrix.os == 'macOS-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target domain-server
|
run: cmake --build . --config $BUILD_TYPE --target domain-server
|
||||||
- name: Build Assignment Client
|
- name: Build Assignment Client (macOS)
|
||||||
|
if: matrix.os == 'macOS-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target assignment-client
|
run: cmake --build . --config $BUILD_TYPE --target assignment-client
|
||||||
- name: Build Installer
|
- name: Build Installer (macOS)
|
||||||
|
if: matrix.os == 'macOS-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild')
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target package
|
run: cmake --build . --config $BUILD_TYPE --target package
|
||||||
|
|
||||||
build_client_win32:
|
#build_full_win32:
|
||||||
runs-on: windows-latest
|
|
||||||
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild-win' || github.event.label.name == 'rebuild'
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 1
|
|
||||||
- name: Install python modules
|
|
||||||
run: pip install awscli boto3 PyGithub
|
|
||||||
- name: Create Build Environment
|
|
||||||
run: cmake -E make_directory ${{runner.workspace}}/build
|
|
||||||
- name: Configure CMake
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{runner.workspace}}/build
|
|
||||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCLIENT_ONLY:BOOLEAN=TRUE -A x64
|
|
||||||
- name: Build Console
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{runner.workspace}}/build
|
|
||||||
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console
|
|
||||||
- name: Build Application
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{runner.workspace}}/build
|
|
||||||
run: cmake --build . --config $BUILD_TYPE --target $APP_NAME
|
|
||||||
- name: Build Installer
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{runner.workspace}}/build
|
|
||||||
run: cmake --build . --config $BUILD_TYPE --target package
|
|
||||||
|
|
||||||
build_full_win32:
|
- name: Configure CMake (Windows)
|
||||||
runs-on: windows-latest
|
if: matrix.os == 'windows-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-win' || github.event.label.name == 'rebuild')
|
||||||
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild-win' || github.event.label.name == 'rebuild'
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 1
|
|
||||||
- name: Install python modules
|
|
||||||
run: pip install awscli boto3 PyGithub
|
|
||||||
- name: Create Build Environment
|
|
||||||
run: cmake -E make_directory ${{runner.workspace}}/build
|
|
||||||
- name: Configure CMake
|
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -A x64
|
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -A x64
|
||||||
- name: Build Console
|
- name: Build Console (Windows)
|
||||||
|
if: matrix.os == 'windows-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-win' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console
|
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console
|
||||||
- name: Build Application
|
- name: Build Application (Windows)
|
||||||
|
if: matrix.os == 'windows-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-win' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target $APP_NAME
|
run: cmake --build . --config $BUILD_TYPE --target $APP_NAME
|
||||||
- name: Build Domain Server
|
- name: Build Domain Server (Windows)
|
||||||
|
if: matrix.os == 'windows-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-win' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target domain-server
|
run: cmake --build . --config $BUILD_TYPE --target domain-server
|
||||||
- name: Build Assignment Client
|
- name: Build Assignment Client (Windows)
|
||||||
|
if: matrix.os == 'windows-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-win' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target assignment-client
|
run: cmake --build . --config $BUILD_TYPE --target assignment-client
|
||||||
- name: Build Installer
|
- name: Build Installer (Windows)
|
||||||
|
if: matrix.os == 'windows-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-win' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake --build . --config $BUILD_TYPE --target package
|
run: cmake --build . --config $BUILD_TYPE --target package
|
||||||
build_full_linux:
|
#build_full_linux:
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild-linux' || github.event.label.name == 'rebuild'
|
|
||||||
env:
|
|
||||||
DOCKER_IMAGE_NAME: "linux-hifi-gha:${{ github.event.number }}"
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
fetch-depth: 1
|
|
||||||
- name: Install python modules
|
|
||||||
run: pip install awscli boto3 PyGithub
|
|
||||||
- name: Install apt packages
|
|
||||||
run: sudo apt install -y mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0
|
|
||||||
- name: Create Build Environment
|
|
||||||
run: cmake -E make_directory ${{runner.workspace}}/build
|
|
||||||
- name: Configure CMake (Linux)
|
- name: Configure CMake (Linux)
|
||||||
|
if: matrix.os == 'ubuntu-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-linux' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TOOLS:BOOLEAN=false
|
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TOOLS:BOOLEAN=false
|
||||||
- name: Build
|
- name: Build (Linux)
|
||||||
|
if: matrix.os == 'ubuntu-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-linux' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
# Parallel make:
|
# Parallel make:
|
||||||
run: cmake --build . -- -j3
|
run: cmake --build . -- -j3
|
||||||
- name: Build Ubuntu Docker
|
- name: Build Ubuntu Docker (Linux)
|
||||||
|
if: matrix.os == 'ubuntu-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-linux' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: |
|
run: |
|
||||||
cp $GITHUB_WORKSPACE/tools/ci-scripts/linux-gha/hifi.conf .
|
cp $GITHUB_WORKSPACE/tools/ci-scripts/linux-gha/hifi.conf .
|
||||||
docker build -t $DOCKER_IMAGE_NAME -f $GITHUB_WORKSPACE/tools/ci-scripts/linux-gha/Dockerfile ./
|
docker build -t $LINUX_DOCKER_IMAGE_NAME -f $GITHUB_WORKSPACE/tools/ci-scripts/linux-gha/Dockerfile ./
|
||||||
- name: Export Docker image
|
- name: Export Docker image (Linux)
|
||||||
|
if: matrix.os == 'ubuntu-latest' && (github.event.action != 'labeled' || github.event.label.name == 'rebuild-linux' || github.event.label.name == 'rebuild')
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
run: docker save -o ${{runner.workspace}}/build/hifi_docker_image.tar $DOCKER_IMAGE_NAME
|
run: docker save -o ${{runner.workspace}}/build/hifi_docker_image.tar $LINUX_DOCKER_IMAGE_NAME
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue