69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
---
|
|
include:
|
|
- local: .gitlab-ci/versioning/gitversion.yml
|
|
- local: .gitlab-ci/git/create_tag.yml
|
|
|
|
stages:
|
|
- build
|
|
- release
|
|
|
|
gitversion:
|
|
extends: .versioning:gitversion
|
|
stage: .pre
|
|
tags:
|
|
- gitlab-org-docker
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Run this job when commits are pushed or merged to the default branch
|
|
|
|
build:
|
|
stage: build
|
|
image: python:3.9.21
|
|
tags:
|
|
- gitlab-org-docker
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Run this job when commits are pushed or merged to the default branch
|
|
needs:
|
|
- job: gitversion
|
|
artifacts: true
|
|
script:
|
|
- sed -i "s/^__version__ = .*/__version__ = \"${GitVersion_MajorMinorPatch}\"/" src/PyPiUpdateCheck/__init__.py
|
|
- cat src/PyPiUpdateCheck/__init__.py
|
|
- python3 -m pip install build
|
|
- python3 -m build
|
|
artifacts:
|
|
paths:
|
|
- dist/*
|
|
expire_in: 1 day
|
|
|
|
publish:
|
|
stage: release
|
|
image: python:3.9.21
|
|
tags:
|
|
- gitlab-org-docker
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Run this job when commits are pushed or merged to the default branch
|
|
variables:
|
|
TWINE_USERNAME: "__token__"
|
|
TWINE_PASSWORD: $TWINE_API
|
|
needs:
|
|
- job: build
|
|
artifacts: true
|
|
script:
|
|
- python3 -m pip install twine
|
|
- python3 -m twine upload dist/*
|
|
|
|
create_tag:
|
|
extends: .git:create_tag
|
|
stage: release
|
|
tags:
|
|
- gitlab-org-docker
|
|
variables:
|
|
VERSION: $GitVersion_SemVer
|
|
TOKEN: $GITLAB_TOKEN
|
|
needs:
|
|
- job: gitversion
|
|
artifacts: true
|
|
rules:
|
|
- if: $CI_COMMIT_TAG
|
|
when: never # Do not run this job when a tag is created manually
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Run this job when commits are pushed or merged to the default branch
|