feat: Adds pipline automation
Adds pipline for versioning, buildign and publishing to pypi.
This commit is contained in:
parent
a737d09e7c
commit
f0e357e940
6 changed files with 48 additions and 11 deletions
|
@ -1,10 +1,10 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- local: .gitlab-ci/versioning/gitversion.yml
|
- local: .gitlab-ci/versioning/gitversion.yml
|
||||||
- local: .gitlab-ci/git/create_tag.yml
|
- local: .gitlab-ci/git/create_tag.yml
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
|
- build
|
||||||
- release
|
- release
|
||||||
|
|
||||||
gitversion:
|
gitversion:
|
||||||
|
@ -15,13 +15,50 @@ gitversion:
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Run this job when commits are pushed or merged to the default branch
|
- 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/0.0.1/${GitVersion_MajorMinorPatch}" src/optima35/__init__.py
|
||||||
|
- cat src/optima35/__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:
|
create_tag:
|
||||||
extends: .git:create_tag
|
extends: .git:create_tag
|
||||||
stage: release
|
stage: release
|
||||||
tags:
|
tags:
|
||||||
- gitlab-org-docker
|
- gitlab-org-docker
|
||||||
variables:
|
variables:
|
||||||
VERSION: v$GitVersion_SemVer
|
VERSION: $GitVersion_SemVer
|
||||||
TOKEN: $GITLAB_TOKEN
|
TOKEN: $GITLAB_TOKEN
|
||||||
needs:
|
needs:
|
||||||
- job: gitversion
|
- job: gitversion
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
.versioning:gitversion:
|
.versioning:gitversion:
|
||||||
image:
|
image:
|
||||||
name: mcr.microsoft.com/dotnet/sdk:9.0
|
name: mcr.microsoft.com/dotnet/sdk:9.0
|
||||||
|
@ -25,6 +24,7 @@
|
||||||
grep 'GitVersion_Minor=' gitversion.properties >> gitversion.env
|
grep 'GitVersion_Minor=' gitversion.properties >> gitversion.env
|
||||||
grep 'GitVersion_Patch=' gitversion.properties >> gitversion.env
|
grep 'GitVersion_Patch=' gitversion.properties >> gitversion.env
|
||||||
grep 'GitVersion_MajorMinorPatch=' gitversion.properties >> gitversion.env
|
grep 'GitVersion_MajorMinorPatch=' gitversion.properties >> gitversion.env
|
||||||
|
grep 'GitVersion_BuildMetaData=' gitversion.properties >> gitversion.env
|
||||||
artifacts:
|
artifacts:
|
||||||
reports:
|
reports:
|
||||||
# propagates variables into the pipeline level
|
# propagates variables into the pipeline level
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
mode: Mainline
|
mode: Mainline
|
||||||
|
major-version-bump-message: "^(build|chore|ci|docs|feat|fix|patch|refactor|revert|style|test)(\\([\\w\\s-,/\\\\]*\\))?(!:|:.*\\n\\n((.+\\n)+\\n)?BREAKING CHANGE:\\s.+)" # noqa yaml[line-length]
|
||||||
|
minor-version-bump-message: "^(build|chore|ci|docs|feat|refactor|revert|style|test)(\\([\\w\\s-,/\\\\]*\\))?:"
|
||||||
|
patch-version-bump-message: "^(fix|patch)(\\([\\w\\s-,/\\\\]*\\))?:"
|
||||||
|
|
|
@ -17,7 +17,7 @@ classifiers = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.urls]
|
[project.urls]
|
||||||
Homepage = "https://gitlab.com/CodeByMrFinchum/optima35"
|
Source = "https://gitlab.com/CodeByMrFinchum/optima35"
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
optima35 = "optima35.__main__:main"
|
optima35 = "optima35.__main__:main"
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
piexif
|
|
||||||
pillow
|
|
|
@ -1 +1 @@
|
||||||
__version__ = "0.6.4"
|
__version__ = "0.0.1"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue