image: node:18

stages:
  - release

release:
  stage: release
  only:
    - main
  script:
    - npm install -g semantic-release @semantic-release/changelog @semantic-release/git @semantic-release/gitlab conventional-changelog-conventionalcommits@7.0.2
    - npx semantic-release
  variables:
    GITLAB_AUTH_TOKEN: $CI_PUSH_TOKEN
    GIT_AUTHOR_EMAIL: $GIT_AUTHOR_EMAIL
    GIT_AUTHOR_NAME: $GIT_AUTHOR_NAME
    GIT_COMMITTER_EMAIL: $GIT_AUTHOR_EMAIL
    GIT_COMMITTER_NAME: $GIT_AUTHOR_NAME
    GITLAB_TOKEN: $GITLAB_TOKEN
    NPM_TOKEN: $GITLAB_TOKEN