6799809b6b
For now, we will not rebuild livekit, but rather use the precompiled project binaries. As per BBB convention, this package provides an immutable default configuration file which gets merged with a user-modifiable file in /etc/bigbluebutton.
214 lines
5.3 KiB
YAML
214 lines
5.3 KiB
YAML
# set up stages
|
|
#
|
|
|
|
variables:
|
|
GIT_STRATEGY: fetch
|
|
|
|
stages:
|
|
- change detection
|
|
- get external dependencies
|
|
- build
|
|
- push packages
|
|
|
|
# define which docker image to use for builds
|
|
default:
|
|
image: bigbluebutton/bbb-build:v3.0.x-release--2023-09-26-152524
|
|
|
|
# This stage uses git to find out since when each package has been unmodified.
|
|
# it then checks an API endpoint on the package server to find out for which of
|
|
# these versions a build exists. If a viable build (from a commit where the
|
|
# package is identical) is found, that package name and .deb-filename are
|
|
# written to a file `packages_to_skip.txt` the root of the repo. This file is
|
|
# passed to the subsequent stages:
|
|
# - The jobs in the build stage check whether "their" package is listed in
|
|
# `packages_to_skip.txt` and don't build a new one if it is.
|
|
# - The bigbluebutton-build job includes the package versions listed in that
|
|
# file as version-pinned dependencies of the `bigbluebutton` package (instead
|
|
# of the current commit version)
|
|
# - The push_packages job sends the filenames of the packages that can be reused
|
|
# to the server, so they are included with the current branch. (Relevant for
|
|
# commits that start a new branch and don't change all packages)
|
|
change_detection:
|
|
stage: change detection
|
|
script: build/change_detection.sh
|
|
artifacts:
|
|
paths:
|
|
- packages_to_skip.txt
|
|
|
|
# replace placeholder files with actual external repos
|
|
# (for source and version of the package see the placeholder file)
|
|
# this step will be obsolete once dependencies can be tracked as
|
|
# git submodules
|
|
get_external_dependencies:
|
|
stage: get external dependencies
|
|
script: build/get_external_dependencies.sh
|
|
artifacts:
|
|
paths:
|
|
- bbb-etherpad
|
|
- bbb-webhooks
|
|
- bbb-webrtc-sfu
|
|
- bbb-webrtc-recorder
|
|
- freeswitch
|
|
- bbb-pads
|
|
- bbb-playback
|
|
- bbb-transcription-controller
|
|
expire_in: 1h 30min
|
|
|
|
# template job for build step
|
|
.build_job:
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- artifacts/*.deb
|
|
expire_in: 1h 30min
|
|
cache:
|
|
key: $CI_COMMIT_REF_SLUG
|
|
paths:
|
|
- cache/.gradle
|
|
|
|
# jobs for all packages in the "build" stage (templated from above)
|
|
bbb-apps-akka-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-apps-akka
|
|
|
|
bbb-config-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-config
|
|
|
|
bbb-etherpad-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-etherpad
|
|
|
|
bbb-freeswitch-core-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-freeswitch-core
|
|
|
|
bbb-freeswitch-sounds-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-freeswitch-sounds
|
|
|
|
bbb-fsesl-akka-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-fsesl-akka
|
|
|
|
bbb-html5-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-html5
|
|
|
|
bbb-graphql-middleware-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-graphql-middleware
|
|
|
|
bbb-graphql-server-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-graphql-server
|
|
|
|
bbb-learning-dashboard-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-learning-dashboard
|
|
|
|
bbb-libreoffice-docker-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-libreoffice-docker
|
|
|
|
bbb-mkclean-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-mkclean
|
|
|
|
bbb-pads-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-pads
|
|
|
|
bbb-playback-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-playback
|
|
|
|
bbb-playback-notes-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-playback-notes
|
|
|
|
bbb-playback-podcast-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-playback-podcast
|
|
|
|
bbb-playback-presentation-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-playback-presentation
|
|
|
|
bbb-playback-screenshare-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-playback-screenshare
|
|
|
|
bbb-record-core-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-record-core
|
|
|
|
bbb-web-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-web
|
|
|
|
bbb-webhooks-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-webhooks
|
|
|
|
bbb-webrtc-sfu-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-webrtc-sfu
|
|
|
|
bbb-webrtc-recorder-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-webrtc-recorder
|
|
|
|
bbb-livekit:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-livekit
|
|
|
|
bbb-transcription-controller-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bbb-transcription-controller
|
|
|
|
bigbluebutton-build:
|
|
extends: .build_job
|
|
script:
|
|
- build/setup-inside-docker.sh bigbluebutton
|
|
|
|
# upload packages to repo server
|
|
push_packages:
|
|
stage: push packages
|
|
script: build/push_packages.sh
|
|
resource_group: push_packages
|
|
|
|
# uncomment the lines below if you want one final
|
|
# "artifacts" dir with all packages (increases runtime, fills up space on gitlab server)
|
|
#artifacts:
|
|
# paths:
|
|
# - artifacts/*
|
|
# expire_in: 2 days
|
|
|
|
|