server all (parent) #71
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 }} | |
gst-rust-plugins: | |
uses: "./.github/workflows/server-buildpackage-rust.child.yaml" | |
with: | |
jobDistros: "${{ inputs.jobDistros }}" | |
jobGitRepo: "https://github.com/GStreamer/gst-plugins-rs" | |
jobGitName: "gstreamer-1.24.2" | |
jobKurentoGitName: "${{ inputs.jobGitName }}" | |
jobRelease: ${{ inputs.jobRelease }} | |
directory: "./" | |
runnerGroup: ${{ inputs.runnerGroup }} | |
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", "gst-rust-plugins"] | |
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: ["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 }} |