Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
88fb99d
[TGF-19224] helix CIs
anton-ubi Dec 10, 2025
927e9e3
Fix helix tag creation
anton-ubi Dec 10, 2025
db0538f
fix tag push
anton-ubi Dec 10, 2025
58afaeb
[TGF-19241[opencue] CI to push config to NAS
anton-ubi Dec 11, 2025
1626ca4
factorize common rules
anton-ubi Dec 12, 2025
272b87a
rebase and factorize new rules
anton-ubi Dec 12, 2025
411c534
cuebot image proto
anton-ubi Dec 12, 2025
85e36d0
rules
anton-ubi Dec 12, 2025
81f209c
rules
anton-ubi Dec 12, 2025
7dd717c
rules
anton-ubi Dec 12, 2025
ebf3906
rules
anton-ubi Dec 12, 2025
64ae821
fix rules typo
anton-ubi Dec 12, 2025
1f61cd4
fix IMAGE_NAME
anton-ubi Dec 12, 2025
9a64510
try docker setup
anton-ubi Dec 12, 2025
6b3656d
user `-` to separate hash
anton-ubi Dec 13, 2025
13e1174
fix env var
anton-ubi Dec 13, 2025
9ec7da5
build packages before building image
anton-ubi Dec 13, 2025
acd6796
handle +/-
anton-ubi Dec 13, 2025
e47e37e
build from root
anton-ubi Dec 15, 2025
7432f16
add curl
anton-ubi Dec 15, 2025
312e162
add proxy config.json for docker
anton-ubi Dec 15, 2025
f905acf
hard try from past ci
anton-ubi Dec 15, 2025
7fb4a99
add gradle proxy settings
anton-ubi Dec 15, 2025
62c2053
add proxy args to docker build
anton-ubi Dec 15, 2025
7b07939
edit build.gradle to use proxy settings
anton-ubi Dec 15, 2025
7503190
add docker build log to artifacts
anton-ubi Dec 15, 2025
bd91e42
remove log artifact
anton-ubi Dec 15, 2025
ef3fcdb
cuebot dockerfile accepts proxy settings as args
anton-ubi Dec 15, 2025
3981449
add gradle proxy settings in cuebot dockerfile
anton-ubi Dec 15, 2025
44c64f1
try gradle proxy settings simplification
anton-ubi Dec 15, 2025
012a76f
rollback simplification + remove no_proxy
anton-ubi Dec 15, 2025
e2bcd46
simplify dockerfile proxy settings
anton-ubi Dec 15, 2025
e851f75
remove passing of no_proxy
anton-ubi Dec 15, 2025
8785ae4
remove gradle proxy settings in build.gradle
anton-ubi Dec 15, 2025
cf4490a
add docker setup to deploy_cuebot_image
anton-ubi Dec 15, 2025
99e3d20
fix deploy cuebot image version
anton-ubi Dec 15, 2025
7e830ca
deploy cuebot image depends on compute version
anton-ubi Dec 15, 2025
b52f2cb
cuebot registry
anton-ubi Dec 15, 2025
f971c34
fix image name with cuebot in tag
anton-ubi Dec 15, 2025
0890d11
rollback cuebot registry
anton-ubi Dec 15, 2025
5bc6839
make cuebot image push manual
anton-ubi Dec 15, 2025
bceb117
build cuebot image with task
anton-ubi Dec 15, 2025
ad6c8f1
correct rules
anton-ubi Dec 15, 2025
4301169
add k8s deployment files
anton-ubi Dec 15, 2025
aa43644
add deploy cuebot jobs
anton-ubi Dec 15, 2025
ed885e9
proto split with downstream pipe
anton-ubi Dec 15, 2025
f66363e
rework compute_version
anton-ubi Dec 15, 2025
4ad3585
cuebot .default_rules
anton-ubi Dec 15, 2025
e1e8f70
simpler default rules
anton-ubi Dec 15, 2025
bd6ec4c
explicit default rules
anton-ubi Dec 15, 2025
81a7bbb
try common rules for cuebot
anton-ubi Dec 15, 2025
ff0b274
azy on essaye les cuebot rules
anton-ubi Dec 15, 2025
7383443
local compute_version
anton-ubi Dec 15, 2025
5bd3119
add curl to docker image
anton-ubi Dec 16, 2025
ee6adee
add gettext to have envsubst
anton-ubi Dec 16, 2025
3cb4cb8
try getting compute version from parent pipeline
anton-ubi Dec 16, 2025
f7f87ed
move cuebot image build back to main pipeline
anton-ubi Dec 16, 2025
e6d0954
fix windows log rotation
anton-ubi Dec 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions .gitlab-ci-cuebot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# GitLab CI pipeline for Cuebot downstream deployment
# This pipeline is triggered manually from the main OpenCue pipeline

default:
tags:
- square_linux_2

stages:
- version
- build
- push
- deploy

include:
# SECRETS
- project: 'helix/helix_git_101'
ref: main
file: '/templates/v2/cifra_secrets.gitlab-ci.yml'
# JOB TEMPLATES
- local: '.gitlab-ci-templates.yml'

# IMPORTANT: do NOT use .common-rules here to avoid main-pipeline rules.
# In the child pipeline, we want every job to be added when the pipeline is triggered manually.
.cuebot-rules:
rules:
- when: on_success

variables:
GITLAB_REGISTRY: registry.gitlab-ncsa.ubisoft.org
CUEBOT_REGISTRY: $GITLAB_REGISTRY/helix/opencue/opencue/cuebot

push_cuebot_image:
stage: push
extends:
- .install-task
- .docker_setup
- .cifra-secret-external
- .cuebot-rules
needs:
- pipeline: $PARENT_PIPELINE_ID
job: compute_version
- pipeline: $PARENT_PIPELINE_ID
job: build_cuebot_image
secrets:
COMPIL_TWINE_PASSWORD:
vault: credentials/compil.twine/password@kv
file: false
script:
- echo "Deploying cuebot docker image to registry"
- docker load -i cuebot-*.tar
- IMAGE_NAME="$CUEBOT_REGISTRY:$(cat VERSION | sed 's/+/-/g')"
- docker login -u compil.twine -p "$COMPIL_TWINE_PASSWORD" $GITLAB_REGISTRY
- docker push $IMAGE_NAME

deploy_cuebot_dev:
stage: deploy
extends:
- .install-task
- .cuebot-rules
needs:
- pipeline: $PARENT_PIPELINE_ID
job: compute_version
- push_cuebot_image
image:
name: lachlanevenson/k8s-kubectl:v1.16.4-bash
entrypoint: ["bash", "-l", "-c"]
environment:
name: rcw-opencue-dev
script:
# Ensure envsubst is available (provided by gettext)
- apk add --no-cache gettext
- IMAGE_NAME="$CUEBOT_REGISTRY:$(cat VERSION | sed 's/+/-/g')"
- |
# Modify deployment for dev environment
sed 's/name: cuebot-app/name: dev-cuebot-app/g' k8s/deployment/cuebot.deployment.yaml | \
sed 's/app: cuebot-app/app: dev-cuebot-app/g' | \
sed 's/name: cuebot-service/name: dev-cuebot-service/g' | \
env IMAGE_NAME="$IMAGE_NAME" envsubst | kubectl apply -f -
- kubectl apply -f k8s/deployment/cuebot.test-ingress.yaml

#deploy_cuebot_prod:
# stage: deploy
# extends:
# - .install-task
# - .cuebot-rules
# needs:
# - compute_version
# - push_cuebot_image
# image:
# name: lachlanevenson/k8s-kubectl:v1.16.4-bash
# entrypoint: ["bash", "-l", "-c"]
# environment:
# name: rcw-opencue
# script:
# - IMAGE_NAME="$CUEBOT_REGISTRY:$(cat VERSION)"
# - env IMAGE_NAME="$IMAGE_NAME" envsubst < k8s/deployment/cuebot.deployment.yaml | kubectl apply -f -
# - kubectl apply -f k8s/deployment/cuebot.ingress.yaml
# rules:
# - when: manual
# - when: never
42 changes: 42 additions & 0 deletions .gitlab-ci-templates.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# GitLab CI templates for OpenCue project
# This file contains reusable job templates

.install-task:
before_script:
- |
# Install curl for docker:26 (Alpine-based images have no curl by default)
if ! command -v curl >/dev/null 2>&1; then
if command -v apk >/dev/null 2>&1; then
apk add --no-cache curl ca-certificates
fi
fi
- sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d
- export PATH="$PWD/bin:$PATH"

.common-rules:
rules:
- if: '$CI_COMMIT_TAG'
when: never
- if: '$CI_COMMIT_REF_NAME == "helix"'
when: on_success
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "helix"'
when: on_success
- when: never

.dev-deploy-rules:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "helix" && $CI_MERGE_REQUEST_STATE != "merged"'
when: manual
allow_failure: true
- when: never

.docker_setup:
image: docker:26.1.3
tags:
- square_linux_dind
services:
- docker:20.10.10-dind
variables:
DOCKER_HOST: tcp://localhost:2376
DOCKER_TLS_VERIFY: 1
DOCKER_CERT_PATH: /certs/client
Loading
Loading