From df5fcf8ad008e553e1354bd455d314dcdfd11006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Thu, 13 Jun 2024 19:29:38 +0200 Subject: [PATCH] Use Hetzner auto-scaler for GitHub Actiosn builds. --- .github/workflows/linux_server_build.yml | 33 ++++++++++++++---------- .github/workflows/pr_build.yml | 11 +++++--- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/.github/workflows/linux_server_build.yml b/.github/workflows/linux_server_build.yml index df06e9e758..757eba936c 100644 --- a/.github/workflows/linux_server_build.yml +++ b/.github/workflows/linux_server_build.yml @@ -33,72 +33,77 @@ jobs: - os: debian-11 image: docker.io/overte/overte-server-build:0.1.3-debian-11-amd64 arch: amd64 - runner: linux_amd64 + # https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Meta-Labels + # self_hosted makes the Hetzner auto-scaler put up the job. + # type-cx52 is a Hetzner VPS server type. In this case cs52 is a server with 16-cores and 32GB of RAM. + # image-x86-app-docker-ce is a Hetzner image. + # https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Specifying-The-Runner-Image + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] - os: debian-11 image: docker.io/overte/overte-server-build:0.1.3-debian-11-aarch64 arch: aarch64 - runner: linux_aarch64 + runner: [self_hosted, type-cax41, image-arm-app-docker-ce] - os: debian-12 image: docker.io/overte/overte-server-build:0.1.3-debian-12-amd64 arch: amd64 - runner: linux_amd64 + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] - os: debian-12 image: docker.io/overte/overte-server-build:0.1.3-debian-12-aarch64 arch: aarch64 - runner: linux_aarch64 + runner: [self_hosted, type-cax41, image-arm-app-docker-ce] - os: ubuntu-20.04 image: docker.io/overte/overte-server-build:0.1.3-ubuntu-20.04-amd64 arch: amd64 - runner: linux_amd64 + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] - os: ubuntu-22.04 image: docker.io/overte/overte-server-build:0.1.3-ubuntu-22.04-amd64 arch: amd64 - runner: linux_amd64 + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] - os: ubuntu-22.04 image: docker.io/overte/overte-server-build:0.1.3-ubuntu-22.04-aarch64 arch: aarch64 - runner: linux_aarch64 + runner: [self_hosted, type-cax41, image-arm-app-docker-ce] - os: ubuntu-24.04 image: docker.io/overte/overte-server-build:0.1.3-ubuntu-24.04-amd64 arch: amd64 - runner: linux_amd64 + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] - os: ubuntu-24.04 image: docker.io/overte/overte-server-build:0.1.3-ubuntu-24.04-aarch64 arch: aarch64 - runner: linux_aarch64 + runner: [self_hosted, type-cax41, image-arm-app-docker-ce] - os: fedora-39 image: docker.io/overte/overte-server-build:0.1.4-fedora-39-amd64 arch: amd64 - runner: linux_amd64 + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] - os: fedora-39 image: docker.io/overte/overte-server-build:0.1.4-fedora-39-aarch64 arch: aarch64 - runner: linux_aarch64 + runner: [self_hosted, type-cax41, image-arm-app-docker-ce] - os: fedora-40 image: docker.io/overte/overte-server-build:0.1.4-fedora-39-amd64 arch: amd64 - runner: linux_amd64 + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] - os: fedora-40 image: docker.io/overte/overte-server-build:0.1.4-fedora-39-aarch64 arch: aarch64 - runner: linux_aarch64 + runner: [self_hosted, type-cax41, image-arm-app-docker-ce] - os: rockylinux-9 image: docker.io/overte/overte-server-build:0.1.3-rockylinux-9-amd64 arch: amd64 - runner: linux_amd64 + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] fail-fast: false diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index d9548fd862..7c38e85066 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -1,6 +1,6 @@ # Copyright 2013-2019 High Fidelity, Inc. # Copyright 2020-2022 Vircadia contributors. -# Copyright 2021-2022 Overte e.V. +# Copyright 2021-2024 Overte e.V. # SPDX-License-Identifier: Apache-2.0 name: Pull Request CI Build @@ -54,7 +54,12 @@ jobs: #- os: macOS-10.15 # build_type: full - os: Ubuntu 20.04 - runner: linux_amd64 + # https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Meta-Labels + # self_hosted makes the Hetzner auto-scaler put up the job. + # type-cx52 is a Hetzner VPS server type. In this case cs52 is a server with 16-cores and 32GB of RAM. + # image-x86-app-docker-ce is a Hetzner image. + # https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Specifying-The-Runner-Image + runner: [self_hosted, type-cx52, image-x86-app-docker-ce] arch: amd64 build_type: full apt-dependencies: pkg-config libxext-dev libdouble-conversion-dev libpcre2-16-0 libpulse0 libharfbuzz-dev libnss3 libnspr4 libxdamage1 libasound2 # add missing dependencies to docker image when convenient @@ -65,7 +70,7 @@ jobs: # apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0 python3-github python3-distro # Do not change the names of self-hosted runners without knowing what you are doing, as they correspond to labels that have to be set on the runner. - os: Ubuntu 22.04 - runner: linux_aarch64 + runner: [self_hosted, type-cax41, image-arm-app-docker-ce] arch: aarch64 build_type: full image: docker.io/overte/overte-full-build:0.1.1-ubuntu-22.04-aarch64