Skip to content

Commit

Permalink
Merge pull request #1021 from overte-org/hetzner-scaling
Browse files Browse the repository at this point in the history
GitHub Action Runner auto-scaling
  • Loading branch information
JulianGro authored Jun 15, 2024
2 parents b3eadb5 + 8edc480 commit 6867812
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 18 deletions.
35 changes: 21 additions & 14 deletions .github/workflows/linux_server_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ env:
UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com"
CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }}
CMAKE_BACKTRACE_TOKEN: server_${{ github.event.number }}_${{ github.sha }}
# Disable VCPKG caching to save time.
VCPKG_FEATURE_FLAGS: -binarycaching

jobs:
build:
Expand All @@ -33,72 +35,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

Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/master_build.yml
Original file line number Diff line number Diff line change
@@ -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: Master CI Build
Expand All @@ -26,6 +26,8 @@ env:
UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com"
CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }}
CMAKE_BACKTRACE_TOKEN: master_${{ github.event.number }}_${{ github.sha }}
# Disable VCPKG caching to save time.
VCPKG_FEATURE_FLAGS: -binarycaching

# OSX-specific variables
DEVELOPER_DIR: /Applications/Xcode_11.2.app/Contents/Developer
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/pr_build.yml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -24,6 +24,8 @@ env:
# We can't use secrets or actions here, so the actual value has to be hardcoded.
CMAKE_BACKTRACE_URL: "https://o4504831972343808.ingest.sentry.io/api/4504832427950080/minidump/?sentry_key=f511de295975461b8f92a36f4a4a4f32"
CMAKE_BACKTRACE_TOKEN: PR_${{ github.event.number }}_${{ github.sha }}
# Disable VCPKG caching to save time.
VCPKG_FEATURE_FLAGS: -binarycaching

UPLOAD_BUCKET: overte-public
UPLOAD_REGION: fra1
Expand Down Expand Up @@ -54,7 +56,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
Expand All @@ -65,7 +72,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
Expand Down

0 comments on commit 6867812

Please sign in to comment.