From 011249e00295a0a7b3d997f7e7a766df6e3069ef Mon Sep 17 00:00:00 2001 From: Mr Finchum Date: Fri, 11 Apr 2025 13:34:29 +0200 Subject: [PATCH] ci: switch to woodpecker ci. --- .woodpecker/woodpecker_ci.yml | 92 +++++++++++++++++++++++++++++++++++ README.md | 24 ++++----- pip_README.md | 4 +- 3 files changed, 107 insertions(+), 13 deletions(-) create mode 100644 .woodpecker/woodpecker_ci.yml diff --git a/.woodpecker/woodpecker_ci.yml b/.woodpecker/woodpecker_ci.yml new file mode 100644 index 0000000..6d0cfd5 --- /dev/null +++ b/.woodpecker/woodpecker_ci.yml @@ -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/0.0.1/$GitVersion_SemVer/" src/OptimaLab35/__init__.py + - cat src/OptimaLab35/__init__.py + - python3 -m pip install build + - python3 -m build --wheel --sdist -s src + + - 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 --repository-url https://code.boxyfoxy.net/api/packages/CodeByMrFinchum/pypi dist/* diff --git a/README.md b/README.md index 4aae1cc..22efff4 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # **OptimaLab35** -Last updated: 06 Mar 2025 (v.1.0.0) +Developed on my [forgejo instance](https://code.boxyfoxy.net/CodeByMrFinchum), [GitLab](https://gitlab.com/CodeByMrFinchum) is used as backup. ## **Overview** **OptimaLab35** enhances **OPTIMA35** (**Organizing, Processing, Tweaking Images, and Modifying scanned Analogs from 35mm Film**) by offering a user-friendly graphical interface for efficient image and metadata management. -It serves as a GUI for the [OPTIMA35 library](https://gitlab.com/CodeByMrFinchum/optima35), providing an intuitive way to interact with the core functionalities. +It serves as a GUI for the [optima35 library](https://code.boxyfoxy.net/CodeByMrFinchum/optima35), providing an intuitive way to interact with the core functionalities. --- @@ -55,28 +55,28 @@ The UI is OS-dependent, but a custom theme can be enabled in the settings. **Main tab** -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/mainwindow_light.png){width=40%} -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/mainwindow_dark.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/mainwindow_light.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/mainwindow_dark.png){width=40%} **Exif tab** -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/mainwindow_exif_light.png){width=40%} -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/mainwindow_exif_dark.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/mainwindow_exif_light.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/mainwindow_exif_dark.png){width=40%} **Preview window** -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/previewwindow_light.png){width=40%} -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/previewwindow_dark.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/previewwindow_light.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/previewwindow_dark.png){width=40%} **Settings** -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/settingswindow_light.png){width=40%} -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/settingswindow_dark.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/settingswindow_light.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/settingswindow_dark.png){width=40%} **Updater** -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/settingswindow_updater_light.png){width=40%} -![main](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/raw/main/media/settingswindow_updater_dark.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/settingswindow_updater_light.png){width=40%} +![main](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35/raw/branch/main/media/settingswindow_updater_dark.png){width=40%} --- diff --git a/pip_README.md b/pip_README.md index 7b3f576..576c8bf 100644 --- a/pip_README.md +++ b/pip_README.md @@ -1,4 +1,6 @@ -**[OptimaLab35](https://gitlab.com/CodeByMrFinchum/OptimaLab35)** is a graphical interface for the [OPTIMA35 library](https://gitlab.com/CodeByMrFinchum/optima35), designed for efficient image and metadata management. +**[OptimaLab35](https://code.boxyfoxy.net/CodeByMrFinchum/OptimaLab35)** is a graphical interface for the [optima35 library](https://code.boxyfoxy.net/CodeByMrFinchum/optima35), designed for efficient image and metadata management. + +Developed on my [forgejo instance](https://code.boxyfoxy.net/CodeByMrFinchum), [GitLab](https://gitlab.com/CodeByMrFinchum) is used as backup. ### **Features** - Resize, adjust brightness/contrast, and convert images to grayscale