Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 6 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,12 @@ appsec-trigger:
# Manual maintenance pipeline that (re)builds the CI Docker images. Generated
# from dockerfiles/ci/*/docker-compose.yml + .env so versions live in one place.
# No strategy: depend — the parent must not wait on these manual jobs.
#
# This job MUST remain available on development branches: image changes are
# built and validated from their branch before merge. Do not restrict it with
# CI_COMMIT_REF_PROTECTED or CI_DEFAULT_BRANCH. This pipeline runs only in the
# private Datadog GitLab; external pull requests cannot trigger it. Access to
# manual jobs is controlled by that GitLab project's membership and settings.
ci-images:
stage: ci-build
rules:
Expand Down
4 changes: 4 additions & 0 deletions .gitlab/generate-ci-images.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ function parse_compose(string $path, array $env): array
variables:
CI_REGISTRY_IMAGE: "registry.ddbuild.io/ci/dd-trace-php/dd-trace-ci"

# These manual jobs intentionally run on development branches so image changes
# can be built and validated before merge. Do not add protected/default-branch
# rules here. The parent pipeline is private to Datadog GitLab, where project
# membership and settings control who can run manual jobs.
.linux_image_build:
stage: ci-build
rules:
Expand Down
10 changes: 10 additions & 0 deletions dockerfiles/ci/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,16 @@ repo.

This is the preferred way of building the images.

> [!IMPORTANT]
> Image jobs are intentionally available from development branches. Maintainers
> must be able to build and validate an image change before merging it, so do
> not restrict `ci-images` or its generated jobs with
> `CI_COMMIT_REF_PROTECTED` or `CI_DEFAULT_BRANCH`. The pipeline runs only in
> Datadog's private GitLab: external pull requests cannot trigger it, and
> access to its manual jobs is governed by the GitLab project's membership and
> settings. A protected-ref rule identifies the ref, not whether the person
> starting a manual job has the Maintainer role.

In your pipeline
([GitLab-CI](https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines)),
manually start the `ci-images` job (stage `ci-build`) to spawn the child
Expand Down
Loading