Compare commits
9 commits
Author | SHA1 | Date | |
---|---|---|---|
77d7092a24 | |||
014feb23c2 | |||
dc8b1ca9ed | |||
f4ef58672c | |||
364af1cb6e | |||
03cf68b873 | |||
2e2bba2aa5 | |||
bf5d680612 | |||
8f91f64d04 |
7 changed files with 98 additions and 116 deletions
|
@ -1,69 +0,0 @@
|
||||||
---
|
|
||||||
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/PyPiUpdater/__init__.py
|
|
||||||
- cat src/PyPiUpdater/__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
|
|
|
@ -1,15 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
.git:create_tag:
|
|
||||||
image: alpine:3.21
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: clone
|
|
||||||
GIT_DEPTH: 0
|
|
||||||
GIT_LFS_SKIP_SMUDGE: 1
|
|
||||||
VERSION: ''
|
|
||||||
TOKEN: '' # Token with push privileges
|
|
||||||
script:
|
|
||||||
- apk add git
|
|
||||||
- git remote set-url origin https://oauth2:$TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH
|
|
||||||
- git tag $VERSION
|
|
||||||
- git push origin tag $VERSION
|
|
|
@ -1,31 +0,0 @@
|
||||||
---
|
|
||||||
.versioning:gitversion:
|
|
||||||
image:
|
|
||||||
name: mcr.microsoft.com/dotnet/sdk:9.0
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: clone
|
|
||||||
GIT_DEPTH: 0 # force a deep/non-shallow fetch need by gitversion
|
|
||||||
GIT_LFS_SKIP_SMUDGE: 1
|
|
||||||
cache: [] # caches and before / after scripts can mess things up
|
|
||||||
script:
|
|
||||||
- |
|
|
||||||
dotnet tool install --global GitVersion.Tool --version 5.*
|
|
||||||
export PATH="$PATH:/root/.dotnet/tools"
|
|
||||||
|
|
||||||
dotnet-gitversion -output buildserver
|
|
||||||
|
|
||||||
# We could just collect the output file gitversion.properties (with artifacts:report:dotenv: gitversion.properties as it is already in DOTENV format,
|
|
||||||
# however it contains ~33 variables which unnecessarily consumes many of the 50 max DOTENV variables of the free GitLab version.
|
|
||||||
# Limits are higher for licensed editions, see https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportsdotenv
|
|
||||||
grep 'GitVersion_LegacySemVer=' gitversion.properties >> gitversion.env
|
|
||||||
grep 'GitVersion_SemVer=' gitversion.properties >> gitversion.env
|
|
||||||
grep 'GitVersion_FullSemVer=' gitversion.properties >> gitversion.env
|
|
||||||
grep 'GitVersion_Major=' gitversion.properties >> gitversion.env
|
|
||||||
grep 'GitVersion_Minor=' gitversion.properties >> gitversion.env
|
|
||||||
grep 'GitVersion_Patch=' gitversion.properties >> gitversion.env
|
|
||||||
grep 'GitVersion_MajorMinorPatch=' gitversion.properties >> gitversion.env
|
|
||||||
grep 'GitVersion_BuildMetaData=' gitversion.properties >> gitversion.env
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
# propagates variables into the pipeline level
|
|
||||||
dotenv: gitversion.env
|
|
92
.woodpecker/woodpecker_ci.yml
Normal file
92
.woodpecker/woodpecker_ci.yml
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
steps:
|
||||||
|
- name: gitversion
|
||||||
|
depends_on: [] # nothing start emititly
|
||||||
|
when:
|
||||||
|
event: push
|
||||||
|
branch: main
|
||||||
|
image: mcr.microsoft.com/dotnet/sdk:9.0
|
||||||
|
environment:
|
||||||
|
CI_TOKEN:
|
||||||
|
from_secret: CI_TOKEN
|
||||||
|
commands:
|
||||||
|
- git remote set-url origin https://CodeByMrFinchum:$CI_TOKEN@code.boxyfoxy.net/$CI_REPO.git
|
||||||
|
- git fetch --unshallow --tags
|
||||||
|
- apt-get update && apt-get install -y jq
|
||||||
|
- dotnet tool install --global GitVersion.Tool --version 5.*
|
||||||
|
- export PATH="$PATH:/root/.dotnet/tools"
|
||||||
|
- dotnet-gitversion -output json > version.json
|
||||||
|
- ls
|
||||||
|
- cat version.json
|
||||||
|
- |
|
||||||
|
echo "GitVersion_SemVer=$(jq -r '.SemVer' version.json)" >> gitversion.env
|
||||||
|
echo "GitVersion_LegacySemVer=$(jq -r '.LegacySemVer' version.json)" >> gitversion.env
|
||||||
|
echo "GitVersion_FullSemVer=$(jq -r '.FullSemVer' version.json)" >> gitversion.env
|
||||||
|
echo "GitVersion_Major=$(jq -r '.Major' version.json)" >> gitversion.env
|
||||||
|
echo "GitVersion_Minor=$(jq -r '.Minor' version.json)" >> gitversion.env
|
||||||
|
echo "GitVersion_Patch=$(jq -r '.Patch' version.json)" >> gitversion.env
|
||||||
|
echo "GitVersion_MajorMinorPatch=$(jq -r '.MajorMinorPatch' version.json)" >> gitversion.env
|
||||||
|
echo "GitVersion_BuildMetaData=$(jq -r '.BuildMetaData' version.json)" >> gitversion.env
|
||||||
|
|
||||||
|
- name: tagging
|
||||||
|
depends_on: [gitversion]
|
||||||
|
when:
|
||||||
|
event: push
|
||||||
|
branch: main
|
||||||
|
image: alpine/git
|
||||||
|
environment:
|
||||||
|
CI_TOKEN:
|
||||||
|
from_secret: CI_TOKEN
|
||||||
|
commands:
|
||||||
|
- ls
|
||||||
|
- cat gitversion.env
|
||||||
|
- git config --global user.email "ci@noreply.boxyfoxy.net"
|
||||||
|
- git config --global user.name "CI Bot"
|
||||||
|
- git remote set-url origin https://CodeByMrFinchum:$${CI_TOKEN}@code.boxyfoxy.net/$${CI_REPO}.git
|
||||||
|
- . gitversion.env
|
||||||
|
- git tag $GitVersion_SemVer
|
||||||
|
- git push origin tag $GitVersion_SemVer
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
depends_on: [gitversion, tagging]
|
||||||
|
when:
|
||||||
|
event: push
|
||||||
|
branch: main
|
||||||
|
image: python:3.9.21
|
||||||
|
commands:
|
||||||
|
- ls
|
||||||
|
- cat gitversion.env
|
||||||
|
- export $(cat gitversion.env | xargs)
|
||||||
|
- sed -i "s/^__version__ = .*/__version__ = \"$GitVersion_SemVer\"/" src/PyPiUpdater/__init__.py
|
||||||
|
- cat src/PyPiUpdater/__init__.py
|
||||||
|
- python3 -m pip install build
|
||||||
|
- python3 -m build
|
||||||
|
|
||||||
|
- name: publish_pypi
|
||||||
|
depends_on: [gitversion, tagging, build]
|
||||||
|
when:
|
||||||
|
event: push
|
||||||
|
branch: main
|
||||||
|
image: python:3.9.21
|
||||||
|
environment:
|
||||||
|
TWINE_PASSWORD:
|
||||||
|
from_secret: TWINE_API
|
||||||
|
TWINE_USERNAME: "__token__"
|
||||||
|
commands:
|
||||||
|
- ls
|
||||||
|
- python3 -m pip install twine
|
||||||
|
- python3 -m twine upload dist/*
|
||||||
|
|
||||||
|
- name: publish_forgejo
|
||||||
|
depends_on: [gitversion, tagging, build]
|
||||||
|
when:
|
||||||
|
event: push
|
||||||
|
branch: main
|
||||||
|
image: python:3.9.21
|
||||||
|
environment:
|
||||||
|
TWINE_PASSWORD:
|
||||||
|
from_secret: PKG_TOKEN
|
||||||
|
TWINE_USERNAME: "CodeByMrFinchum"
|
||||||
|
commands:
|
||||||
|
- ls
|
||||||
|
- python3 -m pip install twine
|
||||||
|
- python3 -m twine upload --verbose --repository-url https://code.boxyfoxy.net/api/packages/CodeByMrFinchum/pypi dist/*
|
|
@ -1,5 +1,8 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.8-0.9: CI woodpecker (25.04.10-11)
|
||||||
|
- Changes to the pipeline no
|
||||||
|
|
||||||
## 0.7.x
|
## 0.7.x
|
||||||
### 0.7.2: Removed Debugging Leftovers
|
### 0.7.2: Removed Debugging Leftovers
|
||||||
- Cleaned up code used for debugging.
|
- Cleaned up code used for debugging.
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
# PyPiUpdater
|
# PyPiUpdater
|
||||||
|
Developed on my [forgejo instance](https://code.boxyfoxy.net/CodeByMrFinchum), [GitLab](https://gitlab.com/CodeByMrFinchum) is used as backup.
|
||||||
|
|
||||||
**UNFINISHED** Still early code, functions might change drasticly
|
**UNFINISHED** Still early code, functions might change drasticly
|
||||||
|
|
||||||
**PyPiUpdater** is a Python library for managing updates of packages installed via `pip`.
|
**PyPiUpdater** is a Python library for managing updates of packages installed via `pip`.
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
Simple program to update package from PyPi with pip.
|
Simple program to update package from PyPi with pip.
|
||||||
|
|
||||||
For more info see [PyPiUpdater gitlab](https://gitlab.com/CodeByMrFinchum/PyPiUpdater#).
|
For more info see [PyPiUpdater forgejo](https://code.boxyfoxy.net/CodeByMrFinchum/PyPiUpdater) or backup repo [PyPiUpdater gitlab](https://gitlab.com/CodeByMrFinchum/PyPiUpdater#).
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue