Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gcil for openSUSE:Factory checked in 
at 2026-03-11 20:57:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcil (Old)
 and      /work/SRC/openSUSE:Factory/.gcil.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gcil"

Wed Mar 11 20:57:22 2026 rev:2 rq:1338298 version:13.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gcil/gcil.changes        2025-09-04 
18:02:31.042632606 +0200
+++ /work/SRC/openSUSE:Factory/.gcil.new.8177/gcil.changes      2026-03-11 
20:59:33.628413294 +0100
@@ -1,0 +2,31 @@
+Mon Sep 22 06:26:30 UTC 2025 - Johannes Kastl 
<[email protected]>
+
+- update to 13.0.2:
+  * Features
+    - yaml, menus: implement CI/CD input 'number' type support
+      (c7b46d6)
+  * Bug Fixes
+    - git: handle default 'main' branch if no branches available
+      (7f9254e)
+    - main, docker: improve '--rmi' with logs output and help hints
+      (8750d60)
+  * Cleanups
+    - pre-commit: migrate to 'pre-commit-crocodile' 8.0.0 (433db23)
+    - pre-commit: migrate to 'pre-commit-crocodile' 8.0.1 (83fc2c4)
+    - pre-commit: migrate to 'pre-commit-crocodile' 8.2.0 (cacdad8)
+  * CI
+    - gitlab-ci: resolve 'CI_COMMIT_REF_NAME' quoting syntax
+      (46e75e7)
+    - gitlab-ci: disable 'quality:sonarcloud' without
+      'SONAR_{HOST_URL,TOKEN}' (8f7e449)
+    - gitlab-ci: raise oldest Python test images from 3.8 to 3.9
+      (24d9d79)
+  * Build
+    - containers: migrate Docker installations to 'debian'
+      repositories (351d06a)
+    - containers/rehost: revert to Debian 12 'python:3.9-bookworm'
+      (e1fff3b)
+    - requirements: migrate to 'questionary' 2.1.1 (bb8634d)
+- rebased patch gcil-no-update.patch
+
+-------------------------------------------------------------------

Old:
----
  gitlabci_local-13.0.1.tar.gz

New:
----
  gitlabci_local-13.0.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gcil.spec ++++++
--- /var/tmp/diff_new_pack.iyadON/_old  2026-03-11 20:59:34.856463868 +0100
+++ /var/tmp/diff_new_pack.iyadON/_new  2026-03-11 20:59:34.884465022 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           gcil
-Version:        13.0.1
+Version:        13.0.2
 Release:        0
 Summary:        Launch .gitlab-ci.yml jobs locally
 License:        Apache-2.0

++++++ gcil-no-update.patch ++++++
--- /var/tmp/diff_new_pack.iyadON/_old  2026-03-11 20:59:35.172476883 +0100
+++ /var/tmp/diff_new_pack.iyadON/_new  2026-03-11 20:59:35.224479024 +0100
@@ -4,7 +4,7 @@
 --- gitlabci_local-13.0.1.orig/requirements/runtime.txt
 +++ gitlabci_local-13.0.1/requirements/runtime.txt
 @@ -8,4 +8,3 @@ PyYAML>=6.0
- questionary>=2.0.1
+ questionary>=2.1.1
  requests>=2.26.0
  setuptools>=45.1.0
 -update_checker>=0.18.0

++++++ gitlabci_local-13.0.1.tar.gz -> gitlabci_local-13.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/.cz.yaml 
new/gitlabci_local-13.0.2/.cz.yaml
--- old/gitlabci_local-13.0.1/.cz.yaml  2025-08-14 21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/.cz.yaml  2025-09-21 02:28:27.000000000 +0200
@@ -1,6 +1,5 @@
 ---
 commitizen:
-
   # commitizen configurations
   always_signoff: true
   bump_message: 'docs(changelog): regenerate release tag changes history'
@@ -21,6 +20,7 @@
   #  - Breaking change reimplemented with the standard '!' scope suffix
   #  - Questions simplified for professional usage
   #  - Type 'security' implemented for security related commits
+  #  - Type 'deps' implemented for dependencies related commits
   #  - Accept temporary commits starting with 'wip' or 'WIP'
   name: cz_customize
   customize:
@@ -50,8 +50,10 @@
       - security: Changes resolve security related issues
       - test: Adding missing or correcting existing tests
       - build: Changes to the build system or dependencies (example: makefile, 
pip, docker)
+      - deps: Changes to the dependencies (example: requirements, package, 
renovate)
       - ci: Changes to CI configuration files and scripts (example: gitlab-ci)
       - improvement: Changes that improve sources without any impact
+      - revert: Changes that revert a previous commit
       - wip: Temporary commits meant for local developments and rebases
 
       ### Commit scope
@@ -88,7 +90,7 @@
       {% if body %}\n{{body}}{% endif %}\
       {% if footer %}\n{{footer}}{% endif %}\
       {% if body or footer %}\n---{% endif %}\
-    "
+      "
     questions:
       - type: list
         name: prefix
@@ -124,6 +126,9 @@
           - value: build
             name: 'build: Changes to the build system or dependencies 
(example: makefile, pip, docker)'
             key: b
+          - value: deps
+            name: 'deps: Changes to the dependencies (example: requirements, 
package, renovate)'
+            key: n
           - value: ci
             name: 'ci: Changes to CI configuration files and scripts (example: 
gitlab-ci)'
             key: c
@@ -163,7 +168,7 @@
       (?s)\
       ^([Ww][Ii][Pp]).*$\
       |\
-      
(fix|feat|chore|docs|style|refactor|perf|test|build|ci|improvement|security|revert)\
+      
(fix|feat|chore|docs|style|refactor|perf|security|test|build|deps|ci|improvement|revert)\
       (\\([^\\n\\r]+\\))\
       !?\
       :\
@@ -172,17 +177,17 @@
       ((\\n\\n.*)|(\\s*))?\
       (\\n[^\\n\r]+-by:.*)*\
       $\
-    "
+      "
 
   # commitizen styles
   style:
-    - ["qmark", "fg:#FF9D00 bold"]
-    - ["question", "bold"]
-    - ["answer", "fg:#FF9D00 bold"]
-    - ["pointer", "fg:#FF9D00 bold"]
-    - ["highlighted", "fg:#FF9D00 bold"]
-    - ["selected", "fg:#CC5454"]
-    - ["separator", "fg:#CC5454"]
-    - ["instruction", ""]
-    - ["text", ""]
-    - ["disabled", "fg:#858585 italic"]
+    - ['qmark', 'fg:#FF9D00 bold']
+    - ['question', 'bold']
+    - ['answer', 'fg:#FF9D00 bold']
+    - ['pointer', 'fg:#FF9D00 bold']
+    - ['highlighted', 'fg:#FF9D00 bold']
+    - ['selected', 'fg:#CC5454']
+    - ['separator', 'fg:#CC5454']
+    - ['instruction', '']
+    - ['text', '']
+    - ['disabled', 'fg:#858585 italic']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/.gitlab-ci.yml 
new/gitlabci_local-13.0.2/.gitlab-ci.yml
--- old/gitlabci_local-13.0.1/.gitlab-ci.yml    2025-08-14 21:02:54.000000000 
+0200
+++ new/gitlabci_local-13.0.2/.gitlab-ci.yml    2025-09-21 02:28:27.000000000 
+0200
@@ -1,5 +1,5 @@
 include:
-  - component: 
gitlab.com/RadianDevCore/tools/pre-commit-crocodile/[email protected]
+  - component: 
gitlab.com/RadianDevCore/tools/pre-commit-crocodile/[email protected]
     inputs:
       stage: prepare
   - project: RadianDevCore/gitlab-ci/components
@@ -266,7 +266,7 @@
   extends:
     - .registry:container
   variables:
-    BASEIMAGE_NAME: python:3.8
+    BASEIMAGE_NAME: python:3.9
     CONTAINER_FOLDER: test-docker
     CONTAINER_IMAGE_TAG: test-oldest-docker
   rules:
@@ -294,7 +294,7 @@
   extends:
     - .registry:container
   variables:
-    BASEIMAGE_NAME: python:3.8
+    BASEIMAGE_NAME: python:3.9
     CONTAINER_FOLDER: test-podman
     CONTAINER_IMAGE_TAG: test-oldest-podman
   rules:
@@ -496,7 +496,7 @@
     COVERAGE_XML: ${CI_PROJECT_DIR}/coverage-reports/coverage-windows.xml
     SUITE: 'versions\|windows'
 
-py3.8:docker:
+py3.9:docker:
   extends:
     - .test:template
     - .test:docker
@@ -520,7 +520,7 @@
       optional: true
     - job: build
 
-py3.8:podman:
+py3.9:podman:
   extends:
     - .test:template
     - .test:podman
@@ -574,6 +574,8 @@
     - job: coverage:podman
     - job: coverage:windows
   rules:
+    - if: $SONAR_HOST_URL == null || $SONAR_TOKEN == null
+      when: never
     - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
       changes:
         - 'CHANGELOG.md'
@@ -582,7 +584,7 @@
         - 'src/**/*'
         - 'tests/**/*'
       when: always
-    - if: $CI_COMMIT_REF_NAME == "main"
+    - if: $CI_COMMIT_REF_NAME == 'main'
       when: always
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       when: always
@@ -600,11 +602,11 @@
       artifacts: false
     - job: coverage:windows
       artifacts: false
-    - job: py3.8:docker
+    - job: py3.9:docker
       artifacts: false
     - job: py3.13:docker
       artifacts: false
-    - job: py3.8:podman
+    - job: py3.9:podman
       artifacts: false
     - job: py3.13:podman
       artifacts: false
@@ -621,11 +623,11 @@
       artifacts: false
     - job: coverage:windows
       artifacts: false
-    - job: py3.8:docker
+    - job: py3.9:docker
       artifacts: false
     - job: py3.13:docker
       artifacts: false
-    - job: py3.8:podman
+    - job: py3.9:podman
       artifacts: false
     - job: py3.13:podman
       artifacts: false
@@ -651,13 +653,13 @@
     - job: build
       artifacts: false
       optional: true
-    - job: py3.8:docker
+    - job: py3.9:docker
       artifacts: false
       optional: true
     - job: py3.13:docker
       artifacts: false
       optional: true
-    - job: py3.8:podman
+    - job: py3.9:podman
       artifacts: false
       optional: true
     - job: py3.13:podman
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/.pre-commit-config.yaml 
new/gitlabci_local-13.0.2/.pre-commit-config.yaml
--- old/gitlabci_local-13.0.1/.pre-commit-config.yaml   2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/.pre-commit-config.yaml   2025-09-21 
02:28:27.000000000 +0200
@@ -10,7 +10,7 @@
   - pre-push
   - prepare-commit-msg
 minimum_pre_commit_version: 3.8.0
-minimum_prek_version: 0.0.25
+minimum_prek_version: 0.2.1
 
 # pre-commit exclusions
 exclude: >
@@ -79,7 +79,7 @@
 
   # Repository: commitizen
   - repo: https://github.com/commitizen-tools/commitizen
-    rev: v4.8.3
+    rev: v4.9.1
     hooks:
       - id: commitizen
         stages:
@@ -92,7 +92,7 @@
 
   # Repository: pre-commit-crocodile
   - repo: https://gitlab.com/RadianDevCore/tools/pre-commit-crocodile
-    rev: 7.0.0
+    rev: 8.2.0
     hooks:
       - id: check-yaml-ruamel-pure
       - id: prepare-commit-message
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/CHANGELOG.md 
new/gitlabci_local-13.0.2/CHANGELOG.md
--- old/gitlabci_local-13.0.1/CHANGELOG.md      2025-08-14 21:02:54.000000000 
+0200
+++ new/gitlabci_local-13.0.2/CHANGELOG.md      2025-09-21 02:28:27.000000000 
+0200
@@ -1,5 +1,36 @@
 # Changelog
 
+<a name="13.0.2"></a>
+## 
[13.0.2](https://gitlab.com/RadianDevCore/tools/gcil/compare/13.0.1...13.0.2) 
(2025-09-21)
+
+### ✨ Features
+
+- **yaml, menus:** implement CI/CD input 'number' type support 
([c7b46d6](https://gitlab.com/RadianDevCore/tools/gcil/commit/c7b46d6f920fff5a956aadf8257d62de3ec5b96e))
+
+### 🐛 Bug Fixes
+
+- **git:** handle default 'main' branch if no branches available 
([7f9254e](https://gitlab.com/RadianDevCore/tools/gcil/commit/7f9254e4a6b18ba4a63f33aa95a86bd4924a59f3))
+- **main, docker:** improve '--rmi' with logs output and help hints 
([8750d60](https://gitlab.com/RadianDevCore/tools/gcil/commit/8750d609fbcdd4d2b8d4bcce0fc8b0bfa52499fb))
+
+### ⚙️ Cleanups
+
+- **pre-commit:** migrate to 'pre-commit-crocodile' 8.0.0 
([433db23](https://gitlab.com/RadianDevCore/tools/gcil/commit/433db23a07819cae8ab4c8db1518cc85e5cedc2e))
+- **pre-commit:** migrate to 'pre-commit-crocodile' 8.0.1 
([83fc2c4](https://gitlab.com/RadianDevCore/tools/gcil/commit/83fc2c495f7624e88d25c61075fc50a4b76f046b))
+- **pre-commit:** migrate to 'pre-commit-crocodile' 8.2.0 
([cacdad8](https://gitlab.com/RadianDevCore/tools/gcil/commit/cacdad830b03e7017eb3acd78dbcb311291cfe5d))
+
+### 🚀 CI
+
+- **gitlab-ci:** resolve 'CI_COMMIT_REF_NAME' quoting syntax 
([46e75e7](https://gitlab.com/RadianDevCore/tools/gcil/commit/46e75e7e152c5b64608f43717c82a9b0abddff6f))
+- **gitlab-ci:** disable 'quality:sonarcloud' without 'SONAR_{HOST_URL,TOKEN}' 
([8f7e449](https://gitlab.com/RadianDevCore/tools/gcil/commit/8f7e44931c758519576962f5e769765ee75e4106))
+- **gitlab-ci:** raise oldest Python test images from 3.8 to 3.9 
([24d9d79](https://gitlab.com/RadianDevCore/tools/gcil/commit/24d9d7901b1e5d5b409a36dfa9a764399f45f3c5))
+
+### 📦 Build
+
+- **containers:** migrate Docker installations to 'debian' repositories 
([351d06a](https://gitlab.com/RadianDevCore/tools/gcil/commit/351d06a44ebd3bd41a42935751ca0548ffc5251f))
+- **containers/rehost:** revert to Debian 12 'python:3.9-bookworm' 
([e1fff3b](https://gitlab.com/RadianDevCore/tools/gcil/commit/e1fff3bf981aedef1c9dc744c401fe9ada64ed08))
+- **requirements:** migrate to 'questionary' 2.1.1 
([bb8634d](https://gitlab.com/RadianDevCore/tools/gcil/commit/bb8634df0065b41be7c0e7ace21eb3fab34a58eb))
+
+
 <a name="13.0.1"></a>
 ## 
[13.0.1](https://gitlab.com/RadianDevCore/tools/gcil/compare/13.0.0...13.0.1) 
(2025-08-14)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/PKG-INFO 
new/gitlabci_local-13.0.2/PKG-INFO
--- old/gitlabci_local-13.0.1/PKG-INFO  2025-08-14 21:02:58.944675000 +0200
+++ new/gitlabci_local-13.0.2/PKG-INFO  2025-09-21 02:28:32.260853800 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: gitlabci-local
-Version: 13.0.1
+Version: 13.0.2
 Summary: Launch .gitlab-ci.yml jobs locally
 Home-page: https://gitlab.com/RadianDevCore/tools/gcil
 Author: Adrian DC
@@ -17,7 +17,6 @@
 Classifier: License :: OSI Approved :: Apache Software License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
@@ -35,7 +34,7 @@
 Requires-Dist: prompt-toolkit<4.0,>=2.0
 Requires-Dist: python-dotenv>=0.10.5
 Requires-Dist: PyYAML>=6.0
-Requires-Dist: questionary>=2.0.1
+Requires-Dist: questionary>=2.1.1
 Requires-Dist: requests>=2.26.0
 Requires-Dist: setuptools>=45.1.0
 Requires-Dist: update_checker>=0.18.0
@@ -97,7 +96,7 @@
 
 ## Preview
 
-![preview.svg](https://gitlab.com/RadianDevCore/tools/gcil/raw/13.0.1/docs/preview.svg)
+![preview.svg](https://gitlab.com/RadianDevCore/tools/gcil/raw/13.0.2/docs/preview.svg)
 
 ---
 
@@ -200,8 +199,8 @@
   -d, --dump           # Dump parsed .gitlab-ci.yml configuration
   -s, --select         # Force jobs selection from enumerated names
   -l, --list           # Select one job to run (implies --manual)
-  --pull               # Pull container images from all jobs
-  --rmi                # Delete container images from all jobs
+  --pull               # Pull container images from jobs
+  --rmi                # Delete container images from jobs
 
 positional arguments:
   --                   # Positional arguments separator (recommended)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/README.md 
new/gitlabci_local-13.0.2/README.md
--- old/gitlabci_local-13.0.1/README.md 2025-08-14 21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/README.md 2025-09-21 02:28:27.000000000 +0200
@@ -42,7 +42,7 @@
 
 ## Preview
 
-![preview.svg](https://gitlab.com/RadianDevCore/tools/gcil/raw/13.0.1/docs/preview.svg)
+![preview.svg](https://gitlab.com/RadianDevCore/tools/gcil/raw/13.0.2/docs/preview.svg)
 
 ---
 
@@ -145,8 +145,8 @@
   -d, --dump           # Dump parsed .gitlab-ci.yml configuration
   -s, --select         # Force jobs selection from enumerated names
   -l, --list           # Select one job to run (implies --manual)
-  --pull               # Pull container images from all jobs
-  --rmi                # Delete container images from all jobs
+  --pull               # Pull container images from jobs
+  --rmi                # Delete container images from jobs
 
 positional arguments:
   --                   # Positional arguments separator (recommended)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/containers/rehost/images.txt 
new/gitlabci_local-13.0.2/containers/rehost/images.txt
--- old/gitlabci_local-13.0.1/containers/rehost/images.txt      2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/containers/rehost/images.txt      2025-09-21 
02:28:27.000000000 +0200
@@ -6,8 +6,8 @@
 docker:27-dind
 docker:dind
 docker:latest
-python:3.8
-python:3.8-alpine
+python:3.9-bookworm|python:3.9
+python:3.9-alpine
 python:3.13-bookworm|python:3.13
 python:3.13-alpine
 python:3.13-slim-bookworm|python:3.13-slim
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gitlabci_local-13.0.1/containers/test-coverage-docker/Dockerfile 
new/gitlabci_local-13.0.2/containers/test-coverage-docker/Dockerfile
--- old/gitlabci_local-13.0.1/containers/test-coverage-docker/Dockerfile        
2025-08-14 21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/containers/test-coverage-docker/Dockerfile        
2025-09-21 02:28:27.000000000 +0200
@@ -9,8 +9,8 @@
 # Install docker dependencies
 RUN apt-get update -qq \
  && apt-get install -qq -y software-properties-common \
- && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - \
- && add-apt-repository -y "deb [arch=amd64] 
https://download.docker.com/linux/ubuntu $(grep '^VERSION_CODENAME=' 
/etc/os-release | cut -d'=' -f2) stable" \
+ && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
+ && add-apt-repository -y "deb [arch=amd64] 
https://download.docker.com/linux/debian $(grep '^VERSION_CODENAME=' 
/etc/os-release | cut -d'=' -f2) stable" \
  && apt-get update -qq \
  && apt-get install -qq -y docker.io \
  && rm -rf /var/lib/apt/lists/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gitlabci_local-13.0.1/containers/test-docker/Dockerfile 
new/gitlabci_local-13.0.2/containers/test-docker/Dockerfile
--- old/gitlabci_local-13.0.1/containers/test-docker/Dockerfile 2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/containers/test-docker/Dockerfile 2025-09-21 
02:28:27.000000000 +0200
@@ -9,8 +9,8 @@
 # Install docker dependencies
 RUN apt-get update -qq \
  && apt-get install -qq -y software-properties-common \
- && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - \
- && add-apt-repository -y "deb [arch=amd64] 
https://download.docker.com/linux/ubuntu $(grep '^VERSION_CODENAME=' 
/etc/os-release | cut -d'=' -f2) stable" \
+ && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
+ && add-apt-repository -y "deb [arch=amd64] 
https://download.docker.com/linux/debian $(grep '^VERSION_CODENAME=' 
/etc/os-release | cut -d'=' -f2) stable" \
  && apt-get update -qq \
  && apt-get install -qq -y docker.io \
  && rm -rf /var/lib/apt/lists/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gitlabci_local-13.0.1/gitlabci_local.egg-info/PKG-INFO 
new/gitlabci_local-13.0.2/gitlabci_local.egg-info/PKG-INFO
--- old/gitlabci_local-13.0.1/gitlabci_local.egg-info/PKG-INFO  2025-08-14 
21:02:58.000000000 +0200
+++ new/gitlabci_local-13.0.2/gitlabci_local.egg-info/PKG-INFO  2025-09-21 
02:28:32.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: gitlabci-local
-Version: 13.0.1
+Version: 13.0.2
 Summary: Launch .gitlab-ci.yml jobs locally
 Home-page: https://gitlab.com/RadianDevCore/tools/gcil
 Author: Adrian DC
@@ -17,7 +17,6 @@
 Classifier: License :: OSI Approved :: Apache Software License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
@@ -35,7 +34,7 @@
 Requires-Dist: prompt-toolkit<4.0,>=2.0
 Requires-Dist: python-dotenv>=0.10.5
 Requires-Dist: PyYAML>=6.0
-Requires-Dist: questionary>=2.0.1
+Requires-Dist: questionary>=2.1.1
 Requires-Dist: requests>=2.26.0
 Requires-Dist: setuptools>=45.1.0
 Requires-Dist: update_checker>=0.18.0
@@ -97,7 +96,7 @@
 
 ## Preview
 
-![preview.svg](https://gitlab.com/RadianDevCore/tools/gcil/raw/13.0.1/docs/preview.svg)
+![preview.svg](https://gitlab.com/RadianDevCore/tools/gcil/raw/13.0.2/docs/preview.svg)
 
 ---
 
@@ -200,8 +199,8 @@
   -d, --dump           # Dump parsed .gitlab-ci.yml configuration
   -s, --select         # Force jobs selection from enumerated names
   -l, --list           # Select one job to run (implies --manual)
-  --pull               # Pull container images from all jobs
-  --rmi                # Delete container images from all jobs
+  --pull               # Pull container images from jobs
+  --rmi                # Delete container images from jobs
 
 positional arguments:
   --                   # Positional arguments separator (recommended)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gitlabci_local-13.0.1/gitlabci_local.egg-info/SOURCES.txt 
new/gitlabci_local-13.0.2/gitlabci_local.egg-info/SOURCES.txt
--- old/gitlabci_local-13.0.1/gitlabci_local.egg-info/SOURCES.txt       
2025-08-14 21:02:58.000000000 +0200
+++ new/gitlabci_local-13.0.2/gitlabci_local.egg-info/SOURCES.txt       
2025-09-21 02:28:32.000000000 +0200
@@ -253,6 +253,7 @@
 tests/inputs/.gitlab-ci.types.include.regex.yml
 tests/inputs/.gitlab-ci.types.number.boolean.yml
 tests/inputs/.gitlab-ci.types.number.broken.yml
+tests/inputs/.gitlab-ci.types.number.empty.yml
 tests/inputs/.gitlab-ci.types.number.floating.yml
 tests/inputs/.gitlab-ci.types.number.integer.yml
 tests/inputs/.gitlab-ci.types.number.regex.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gitlabci_local-13.0.1/gitlabci_local.egg-info/requires.txt 
new/gitlabci_local-13.0.2/gitlabci_local.egg-info/requires.txt
--- old/gitlabci_local-13.0.1/gitlabci_local.egg-info/requires.txt      
2025-08-14 21:02:58.000000000 +0200
+++ new/gitlabci_local-13.0.2/gitlabci_local.egg-info/requires.txt      
2025-09-21 02:28:32.000000000 +0200
@@ -5,7 +5,7 @@
 prompt-toolkit<4.0,>=2.0
 python-dotenv>=0.10.5
 PyYAML>=6.0
-questionary>=2.0.1
+questionary>=2.1.1
 requests>=2.26.0
 setuptools>=45.1.0
 update_checker>=0.18.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/requirements/runtime.txt 
new/gitlabci_local-13.0.2/requirements/runtime.txt
--- old/gitlabci_local-13.0.1/requirements/runtime.txt  2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/requirements/runtime.txt  2025-09-21 
02:28:27.000000000 +0200
@@ -5,7 +5,7 @@
 prompt-toolkit>=2.0,<4.0
 python-dotenv>=0.10.5
 PyYAML>=6.0
-questionary>=2.0.1
+questionary>=2.1.1
 requests>=2.26.0
 setuptools>=45.1.0
 update_checker>=0.18.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/setup.py 
new/gitlabci_local-13.0.2/setup.py
--- old/gitlabci_local-13.0.1/setup.py  2025-08-14 21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/setup.py  2025-09-21 02:28:27.000000000 +0200
@@ -69,7 +69,6 @@
         'License :: OSI Approved :: Apache Software License',
         'Operating System :: OS Independent',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: 3.10',
         'Programming Language :: Python :: 3.11',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/sonar-project.properties 
new/gitlabci_local-13.0.2/sonar-project.properties
--- old/gitlabci_local-13.0.1/sonar-project.properties  2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/sonar-project.properties  2025-09-21 
02:28:27.000000000 +0200
@@ -15,7 +15,7 @@
 #sonar.sourceEncoding=UTF-8
 
 # Python versions
-sonar.python.version=3.8, 3.9, 3.10, 3.11, 3.12, 3.13
+sonar.python.version=3.9, 3.10, 3.11, 3.12, 3.13
 
 # Patterns used to exclude some files from coverage report.
 sonar.coverage.exclusions=docs/**/*,setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/src/cli/main.py 
new/gitlabci_local-13.0.2/src/cli/main.py
--- old/gitlabci_local-13.0.1/src/cli/main.py   2025-08-14 21:02:54.000000000 
+0200
+++ new/gitlabci_local-13.0.2/src/cli/main.py   2025-09-21 02:28:27.000000000 
+0200
@@ -363,13 +363,13 @@
         '--pull',
         dest='pull',
         action='store_true',
-        help='Pull container images from all jobs',
+        help='Pull container images from jobs',
     )
     subgroup.add_argument(
         '--rmi',
         dest='rmi',
         action='store_true',
-        help='Delete container images from all jobs',
+        help='Delete container images from jobs',
     )
 
     # Arguments hidden definitions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/src/engines/docker.py 
new/gitlabci_local-13.0.2/src/engines/docker.py
--- old/gitlabci_local-13.0.1/src/engines/docker.py     2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/src/engines/docker.py     2025-09-21 
02:28:27.000000000 +0200
@@ -227,8 +227,13 @@
         # Remove image
         try:
             self.__client.api.remove_image(image)
+            print(f'Untagged: {image}')
         except ImageNotFound:
-            pass
+            print(f'No such image: {image}')
+
+        # Footer
+        print(' ')
+        Platform.flush()
 
     # Run, pylint: disable=too-many-arguments,too-many-positional-arguments
     def run(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/src/features/menus.py 
new/gitlabci_local-13.0.2/src/features/menus.py
--- old/gitlabci_local-13.0.1/src/features/menus.py     2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/src/features/menus.py     2025-09-21 
02:28:27.000000000 +0200
@@ -115,6 +115,13 @@
                         'default'] and not variable_set:
                     variable_default = variable_node['default']
 
+            # Parse configuration types: number
+            elif variable_type == 'number':
+                configuration_type = 'number'
+                if 'default' in variable_node and variable_node[
+                        'default'] and not variable_set:
+                    variable_default = str(variable_node['default'])
+
             # Use configuration defaults
             if not Platform.IS_TTY_STDIN or variable_set:
                 result[variable] = variable_default
@@ -146,6 +153,24 @@
                         use_jk_keys=True,
                         show_selected=False,
                     ).ask()
+                elif configuration_type == 'number':
+                    answers = questionary_text(
+                        message=configuration_message,
+                        default=variable_default,
+                        qmark='',
+                        style=Style.from_dict(Themes.configuration_style()),
+                        multiline=False,
+                        validate=lambda t: ( #
+                            ((
+                                t.isdigit() or (t.startswith('-') and 
t[1:].isdigit()) #
+                            ) and ( #
+                                t == '0' or #
+                                t == '-0' or #
+                                not t.lstrip('-').startswith('0') #
+                            )) or #
+                            ' [ERROR] Integer number input required (without 
leading zeros)' #
+                        ),
+                    ).ask()
                 elif configuration_type == 'text':
                     answers = questionary_text(
                         message=configuration_message,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/src/system/git.py 
new/gitlabci_local-13.0.2/src/system/git.py
--- old/gitlabci_local-13.0.1/src/system/git.py 2025-08-14 21:02:54.000000000 
+0200
+++ new/gitlabci_local-13.0.2/src/system/git.py 2025-09-21 02:28:27.000000000 
+0200
@@ -46,7 +46,7 @@
                 shell=False,
                 stderr=DEVNULL,
             ).strip().decode().rsplit('/', maxsplit=1)[-1]
-        except (CalledProcessError, FileNotFoundError):
+        except (CalledProcessError, FileNotFoundError, IndexError):
             return 'main'
 
     # HEAD reference name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/src/types/yaml.py 
new/gitlabci_local-13.0.2/src/types/yaml.py
--- old/gitlabci_local-13.0.1/src/types/yaml.py 2025-08-14 21:02:54.000000000 
+0200
+++ new/gitlabci_local-13.0.2/src/types/yaml.py 2025-09-21 02:28:27.000000000 
+0200
@@ -379,12 +379,14 @@
                     elif node.options:
                         configure_inputs[key]['type'] = 'choice'
                         configure_inputs[key]['values'] = node.options
+                    elif node.value_type == YAML.Input.TYPE_NUMBER:
+                        configure_inputs[key]['type'] = 'number'
                     elif node.value_type == YAML.Input.TYPE_STRING:
                         configure_inputs[key]['type'] = 'input'
                     configure_inputs[key]['set'] = key in inputs
                     if key in inputs:
                         configure_inputs[key]['default'] = str(node.value)
-                    elif node.default:
+                    elif str(node.default):
                         configure_inputs[key]['default'] = str(node.default)
                     else:
                         configure_inputs[key]['default'] = ''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gitlabci_local-13.0.1/tests/inputs/.gitlab-ci.types.number.empty.yml 
new/gitlabci_local-13.0.2/tests/inputs/.gitlab-ci.types.number.empty.yml
--- old/gitlabci_local-13.0.1/tests/inputs/.gitlab-ci.types.number.empty.yml    
1970-01-01 01:00:00.000000000 +0100
+++ new/gitlabci_local-13.0.2/tests/inputs/.gitlab-ci.types.number.empty.yml    
2025-09-21 02:28:27.000000000 +0200
@@ -0,0 +1,23 @@
+spec:
+  inputs:
+    stage:
+      description: 'Define the pipeline stage'
+      default: 'components'
+    name:
+      description: 'Define the pipeline job name'
+      default: 'job'
+    number:
+      description: 'Define the pipeline number'
+      type: number
+      default: 1
+
+---
+
+stages:
+  - $[[ inputs.stage ]]
+
+$[[ inputs.name ]]:
+  stage: $[[ inputs.stage ]]
+  script:
+    - echo ' [Job] Component'
+    - echo ' [Input] Number = $[[ inputs.number ]]'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/tests/inputs/test.sh 
new/gitlabci_local-13.0.2/tests/inputs/test.sh
--- old/gitlabci_local-13.0.1/tests/inputs/test.sh      2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/tests/inputs/test.sh      2025-09-21 
02:28:27.000000000 +0200
@@ -56,6 +56,12 @@
     --down --enter \
     --down --enter \
     -- gcil -c ./.gitlab-ci.types.strings.empty.yml --configure --dump 
--pipeline </dev/null
+# TODO: Implement --backspace support before 23
+pexpect-executor \
+    --press '\-stage' --enter \
+    --down --enter \
+    --down --press '23' --enter \
+    -- gcil -c ./.gitlab-ci.types.number.empty.yml --configure --dump 
--pipeline </dev/null
 gcil -c ./.gitlab-ci.types.strings.empty.yml --configure --dump </dev/null
 pexpect-executor \
     --press '\-stage' --enter \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/tests/parallel/.gitlab-ci.yml 
new/gitlabci_local-13.0.2/tests/parallel/.gitlab-ci.yml
--- old/gitlabci_local-13.0.1/tests/parallel/.gitlab-ci.yml     2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/tests/parallel/.gitlab-ci.yml     2025-09-21 
02:28:27.000000000 +0200
@@ -6,7 +6,7 @@
   stage: parallel
   parallel:
     matrix:
-      - PYTHON_VERSION: ['3.8', '3.13']
+      - PYTHON_VERSION: ['3.9', '3.13']
   script:
     - echo 'Job 1'
     - echo "${PYTHON_VERSION}"
@@ -16,7 +16,7 @@
   stage: parallel
   parallel:
     matrix:
-      - PYTHON_VERSION: ['3.8', '3.13']
+      - PYTHON_VERSION: ['3.9', '3.13']
         VALUE1:
           - '1'
           - '2'
@@ -24,7 +24,7 @@
         VALUE2:
           - '1'
           - '2'
-      - PYTHON_VERSION: ['3.8', '3.13']
+      - PYTHON_VERSION: ['3.9', '3.13']
         VALUE1:
           - '3'
           - '2'
@@ -50,7 +50,7 @@
   stage: parallel
   parallel:
     matrix:
-      - PYTHON_VERSION: '3.8'
+      - PYTHON_VERSION: '3.9'
   script:
     - echo 'Job 3'
     - echo "${PYTHON_VERSION}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gitlabci_local-13.0.1/tests/parallel/test.sh 
new/gitlabci_local-13.0.2/tests/parallel/test.sh
--- old/gitlabci_local-13.0.1/tests/parallel/test.sh    2025-08-14 
21:02:54.000000000 +0200
+++ new/gitlabci_local-13.0.2/tests/parallel/test.sh    2025-09-21 
02:28:27.000000000 +0200
@@ -13,9 +13,9 @@
 
 # Run tests
 gcil 'Job 1'
-gcil -e PYTHON_VERSION=3.8 'Job 1'
+gcil -e PYTHON_VERSION=3.9 'Job 1'
 gcil -e PYTHON_VERSION=0.0 'Job 1' && exit 1 || true
-PYTHON_VERSION=3.8 gcil 'Job 1'
+PYTHON_VERSION=3.9 gcil 'Job 1'
 PYTHON_VERSION=0.0 gcil 'Job 1' && exit 1 || true
 gcil -H 'Job 2'
 gcil -H -e VALUE1= 'Job 2' && exit 1 || true
@@ -24,10 +24,10 @@
 gcil -H -e VALUE2= 'Job 2' && exit 1 || true
 gcil -H -e VALUE2=2 'Job 2'
 gcil -H -e VALUE2=3 'Job 2' && exit 1 || true
-gcil -H 'Job 2: [3.8, 1, 1]'
-gcil -H -e VALUE2=2 'Job 2: [3.8, 1, 1]' && exit 1 || true
-gcil -H 'Job 2: [3.8, 1, 2]'
-gcil -H 'Job 2: [3.8, 1, 3]' && exit 1 || true
+gcil -H 'Job 2: [3.9, 1, 1]'
+gcil -H -e VALUE2=2 'Job 2: [3.9, 1, 1]' && exit 1 || true
+gcil -H 'Job 2: [3.9, 1, 2]'
+gcil -H 'Job 2: [3.9, 1, 3]' && exit 1 || true
 gcil 'Job 3'
 gcil -H 'Job 4'
 gcil -H 'Job 4 0/10' && exit 1 || true

Reply via email to