Skip to content
Snippets Groups Projects
gitlab-ci-semrel.yml 32.88 KiB
# =========================================================================================
# Copyright (C) 2021 Orange & contributors
#
# This program is free software; you can redistribute it and/or modify it under the terms
# of the GNU Lesser General Public License as published by the Free Software Foundation;
# either version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along with this
# program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
# Floor, Boston, MA  02110-1301, USA.
# =========================================================================================
# default workflow rules: Merge Request pipelines
spec:
  inputs:
    image:
      description: The Docker image used to run semantic-release
      default: registry.hub.docker.com/library/node:lts-slim
    version:
      description: The [semantic-release](https://www.npmjs.com/package/semantic-release) version to use
      default: latest
    branches-ref:
      description: Regular expression pattern matching branches from which releases should happen (should match your [semantic-release configuration](https://semantic-release.gitbook.io/semantic-release/usage/configuration#branches))
      default: /^(master|main)$/
    exec-version:
      description: The [@semantic-release/exec](https://www.npmjs.com/package/@semantic-release/exec) version to use
      default: latest
    config-dir:
      description: directory containing your [semantic-release configuration](https://semantic-release.gitbook.io/semantic-release/usage/configuration#configuration-file)
      default: .
    tag-format:
      description: 'For generated `.releaserc` file only. [tagFormat semantic-release option](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#tagformat)e. :warning: don''t forget to double the `$` character so it is not interpreted by GitLab.'
      default: $${version}
    required-plugins-file:
      description: Full path to `semrel-required-plugins.txt` file _(relative to `$CI_PROJECT_DIR`)_
      default: semrel-required-plugins.txt
    release-disabled:
      description: Disable semantic-release
      type: boolean
      default: false
    changelog-enabled:
      description: Add the [@semantic-release/changelog](https://github.com/semantic-release/changelog) plugin which will commit a changelog file in the repository.
      type: boolean
      default: false
    changelog-file:
      description: '[changelogFile @semantic-release/changelog option](https://github.com/semantic-release/changelog#options).'
      default: CHANGELOG.md
    changelog-title:
      description: '[changelogTitle @semantic-release/changelog option](https://github.com/semantic-release/changelog#options). You might want to use markdown format (for example `# MyApp Changelog`).'
      default: ''
    dry-run:
      description: For generated `.releaserc` file only. Activate the [dryRun semantic-release option](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#dryrun) if present.
      type: boolean
      default: false
    auto-release-enabled:
      description: When set the job start automatically. When not set (default), the job is manual.
      type: boolean
      default: false
    hooks-dir:
      description: Hook scripts folder.
      default: .
    commit-message:
      description: '[message @semantic-release/git option](https://github.com/semantic-release/git#message)'
      default: ''
    commit-spec:
      description: "Commit specification `preset` (possible values: `angular`, `codemirror`, `ember`, `eslint`, `express`, `jquery`, `jshint`, `conventionalcommits`). The default is `angular`."
      options: