server all (parent) #18
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "server all (parent)" | |
on: | |
# Triggered manually. | |
workflow_dispatch: | |
inputs: | |
jobDistros: | |
description: "jobDistros: List of Ubuntu codenames to build for" | |
required: true | |
# There is no `list` type, so use a raw JSON array and `fromJSON()`. | |
# Example: '["xenial", "bionic", "focal"]' | |
type: "string" | |
default: '["noble"]' | |
jobGitName: | |
description: "jobGitName: Non-default git branch or tag that should be checked out, if it exists" | |
required: false | |
type: "string" | |
default: "" | |
jobGitNameFallback: | |
description: "jobGitNameFallback: Non-default git branch or tag that should be checked out, if `jobGitName` does not exist" | |
required: false | |
type: "string" | |
default: "" | |
jobRelease: | |
description: "jobRelease: Enable to build release versions; disable for development builds" | |
required: false | |
type: "boolean" | |
default: false | |
jobOnlyKurento: | |
description: "jobOnlyKurento: Enable to only build Kurento; disable to also build forks" | |
required: false | |
type: "boolean" | |
default: true | |
runnerGroup: | |
description: "runnerGroup: Set of runners where the workflow jobs should be run" | |
required: false | |
type: "string" | |
default: "Linux" | |
jobs: | |
# Not needed for 7.1.0 onwards on ubuntu 24.04 | |
# libsrtp: | |
# if: ${{ ! inputs.jobOnlyKurento }} | |
# uses: "Kurento/libsrtp/.github/workflows/[email protected]" | |
# with: | |
# jobDistros: "${{ inputs.jobDistros }}" | |
# jobGitName: "7.0.0" | |
# jobGitNameFallback: "" | |
# jobRelease: ${{ inputs.jobRelease }} | |
# | |
# openh264: | |
# if: ${{ ! inputs.jobOnlyKurento }} | |
# uses: "Kurento/openh264/.github/workflows/[email protected]" | |
# with: | |
# jobDistros: "${{ inputs.jobDistros }}" | |
# jobGitName: "7.0.0" | |
# jobGitNameFallback: "" | |
# jobRelease: ${{ inputs.jobRelease }} | |
# | |
# openh264-gst-plugin: | |
# if: ${{ ! inputs.jobOnlyKurento }} | |
# needs: ["openh264"] | |
# uses: "Kurento/openh264-gst-plugin/.github/workflows/kurento-buildpackage.reusable.yaml@master" | |
# with: | |
# jobDistros: "${{ inputs.jobDistros }}" | |
# jobGitName: "master" | |
# jobGitNameFallback: "" | |
# jobRelease: ${{ inputs.jobRelease }} | |
# | |
# gst-plugins-good: | |
# if: ${{ ! inputs.jobOnlyKurento }} | |
# uses: "Kurento/gst-plugins-good/.github/workflows/[email protected]" | |
# with: | |
# jobDistros: "${{ inputs.jobDistros }}" | |
# jobGitName: "7.0.0" | |
# jobGitNameFallback: "" | |
# jobRelease: ${{ inputs.jobRelease }} | |
libnice: | |
if: ${{ ! inputs.jobOnlyKurento }} | |
uses: "Kurento/libnice/.github/workflows/[email protected]" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "7.0.0" | |
jobGitNameFallback: "" | |
jobRelease: ${{ inputs.jobRelease }} | |
module-creator: | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/module-creator/" | |
copyArtifacts: false | |
cmake-utils: | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/cmake-utils/" | |
copyArtifacts: false | |
jsonrpc: | |
needs: ["cmake-utils"] | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/jsonrpc/" | |
module-core: | |
needs: ["module-creator", "cmake-utils", "jsonrpc"] | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/module-core/" | |
module-elements: | |
needs: ["libnice", "module-core"] | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/module-elements/" | |
module-filters: | |
needs: ["module-elements"] | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/module-filters/" | |
media-server: | |
needs: ["module-filters"] | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/media-server/" | |
module-chroma: | |
needs: ["module-filters"] | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/module-examples/chroma/" | |
module-datachannelexample: | |
needs: ["module-filters"] | |
uses: "./.github/workflows/server-buildpackage.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitName: "${{ inputs.jobGitName }}" | |
jobGitNameFallback: "${{ inputs.jobGitNameFallback }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
runnerGroup: ${{ inputs.runnerGroup }} | |
directory: "server/module-examples/datachannelexample/" | |
deploy-deb: | |
needs: ["media-server", "module-chroma", "module-datachannelexample"] | |
uses: "./.github/workflows/server-deploy-debian.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
jobDeployName: "${{ inputs.jobGitName }}" | |
runnerGroup: ${{ inputs.runnerGroup }} | |
secrets: | |
APTLY_SSH_PRIVATE_KEY: "${{ secrets.APTLY_SSH_PRIVATE_KEY }}" | |
deploy-docker: | |
needs: ["deploy-deb"] | |
uses: "./.github/workflows/server-deploy-docker.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
jobDeployName: "${{ inputs.jobGitName }}" | |
runnerGroup: ${{ inputs.runnerGroup }} | |
buildAsan: true | |
secrets: | |
KURENTO_DOCKERHUB_USERNAME: "${{ secrets.KURENTO_DOCKERHUB_USERNAME }}" | |
KURENTO_DOCKERHUB_TOKEN: "${{ secrets.KURENTO_DOCKERHUB_TOKEN }}" | |
# TODO: Move script to use Kurento ci-scripts/ and not openvidu ci-scripts/ | |
# deploy-aws: | |
# needs: ["media-server"] | |
# uses: "./.github/workflows/server-deploy-aws.child.yaml" | |
# with: | |
# jobRelease: ${{ inputs.jobRelease }} |