release-kit 0.9.13

A canonical release workflow: a technology-agnostic method, per-technology bindings, and the rk CLI that lands and serves them.
Documentation
# The root pipeline for a project that automates no release here and merges
# by rebase. Its one job is the commit gate the include below carries, so
# every merge request runs the pipeline the project setting requires and
# every commit that reaches the trunk is held to the convention. A project
# that automates its release takes the binding's own root pipeline instead,
# which carries this include beside the release jobs.
#
# The project's own jobs go in .gitlab/ci/project.yml, which the bridge
# below triggers as a child pipeline: a separate configuration, with its
# own stages and its own includes, that never merges into this file. The
# forge document carries the rules that file follows.

include:
  - local: .gitlab/ci/mr-commits.yml

stages:
  - test

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'

project-jobs:
  stage: test
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
      exists:
        - .gitlab/ci/project.yml
  trigger:
    include:
      - local: .gitlab/ci/project.yml
    strategy: mirror