Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions .github/actions/features_parse/action.yml

This file was deleted.

34 changes: 0 additions & 34 deletions .github/actions/flavors_parse/action.yml

This file was deleted.

5 changes: 4 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ name: pre-release

on:
push:
tags: [ "[0-9]+.[0-9]+.[0-9]+*" ]
branches:
- main
tags:
- "[0-9]+.[0-9]+.[0-9]+*"

env:
GIT_CLIFF_VERSION: 2.13.1
Expand Down
1 change: 0 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,5 @@ repos:
- id: mypy
args: [--strict, --ignore-missing-imports, --check-untyped-defs, --allow-untyped-decorators]
additional_dependencies:
- types-click
- types-PyYAML
- types-requests
5 changes: 2 additions & 3 deletions cliff.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,10 @@ footer = """
{% for release in releases -%}
{% if release.version -%}
{% if release.previous.version -%}
[{{ release.previous.version | trim_start_matches(pat="v") }}]: \
{{ self::remote_url() }}/compare/{{ release.previous.version }}...{{ release.version }}
- [v{{ release.previous.version | trim_start_matches(pat="v") }}]({{ self::remote_url() }}/compare/{{ release.previous.version }}...{{ release.version }})
{% endif -%}
{% else -%}
[unreleased]: {{ self::remote_url() }}/compare/{{ release.previous.version }}...HEAD
- [unreleased]({{ self::remote_url() }}/compare/{{ release.previous.version }}...HEAD)
{% endif -%}
{% endfor %}
<!-- generated by git-cliff -->
Expand Down
20 changes: 9 additions & 11 deletions docs/cli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ Available command-line tools provided by the Garden Linux Python Library
Features Commands
-----------------

gl-cname
~~~~~~~~

Generate a canonical name (cname) from feature sets.

.. autoprogram:: gardenlinux.features.cname_main:get_parser()

gl-features-parse
~~~~~~~~~~~~~~~~~

Parse and extract information from GardenLinux features.
Parse and extract information from Garden Linux features.

.. autoprogram:: gardenlinux.features.__main__:get_parser()

gl-features-metadata
~~~~~~~~~~~~~~~~~~~~

Provides Garden Linux release metadata file handling.

.. autoprogram:: gardenlinux.features.metadata_main:get_parser()

Flavors Commands
----------------

Expand All @@ -38,9 +38,7 @@ gl-oci

Push OCI artifacts to a registry and manage manifests.

.. click:: gardenlinux.oci.__main__:cli
:prog: gl-oci
:show-nested:
.. autoprogram:: gardenlinux.oci.__main__:get_parser()

S3 Commands
-----------
Expand Down
1 change: 0 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"sphinx.ext.coverage",
"sphinx_rtd_theme",
"sphinx.ext.napoleon",
"sphinx_click",
"sphinxcontrib.autoprogram",
"sphinx_markdown_builder",
]
Expand Down
2,026 changes: 1,101 additions & 925 deletions poetry.lock

Large diffs are not rendered by default.

33 changes: 15 additions & 18 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "gardenlinux"
version = "0.10.19"
version = "1.0.0"
description = "Contains tools to work with the features directory of gardenlinux, for example deducting dependencies from feature sets or validating cnames"
authors = ["Garden Linux Maintainers <contact@gardenlinux.io>"]
license = "Apache-2.0"
Expand All @@ -10,47 +10,44 @@ packages = [{ include = "gardenlinux", from = "src" }]
[tool.poetry.dependencies]
python = ">=3.13,!=3.14.1"
apt-repo = "^0.5"
boto3 = "^1.43.10"
click = "^8.4.0"
boto3 = "^1.43.108"
cryptography = "^49.0.0"
jsonschema = "^4.26.0"
networkx = "^3.6"
oras = "^0.2.38"
podman = "^5.6.0"
pygit2 = "^1.19.1"
pygments = "^2.19.2"
PyGithub = "^2.8.1"
PyYAML = "^6.0.2"
semver = "^3.0.4"
networkx = "^3.7"
oras = "^0.2.43"
podman = "^5.8.0"
pygit2 = "^1.20.1"
pygments = "^2.21.0"
PyGithub = "^2.10.0"
PyYAML = "^6.0.3"
semver = "^3.1.0"

[tool.poetry.group.dev.dependencies]
bandit = "^1.9.4"
isort = "^8.0.1"
moto = "^5.2.1"
pre-commit = "^4.6.0"
pre-commit = "^4.6.2"
python-dotenv = "^1.2.2"
pytest = "^9.0.3"
pytest = "^9.1.1"
pytest-cov = "^7.1.0"
requests-mock = "^1.12.1"
mypy = "2.1.0"
types-click = "^7.1.8"
types-pyyaml = "^6.0.12.20260518"
types-requests = "^2.33.0.20260518"
boto3-stubs = { extras = ["s3"], version = "^1.42.41" }

[tool.poetry.group.docs.dependencies]
sphinx-rtd-theme = "^3.0.2"
sphinx-click = "^6.2.0"
sphinx-rtd-theme = "^3.1.0"
sphinxcontrib-autoprogram = "^0.1.8"
sphinx-markdown-builder = "^0.6.10"
sphinx-markdown-builder = "^0.6.11"

[tool.poetry.scripts]
gl-cname = "gardenlinux.features.cname_main:main"
gl-feature-fs-diff = "gardenlinux.features.reproducibility.__main__:main"
gl-features-parse = "gardenlinux.features.__main__:main"
gl-flavors-parse = "gardenlinux.flavors.__main__:main"
gl-gh-release = "gardenlinux.github.release.__main__:main"
gl-oci = "gardenlinux.oci.__main__:main"
gl-metadata = "gardenlinux.features.metadata_main:main"
gl-s3 = "gardenlinux.s3.__main__:main"

[tool.pytest.ini_options]
Expand Down
5 changes: 3 additions & 2 deletions src/gardenlinux/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
ARCHS = ["amd64", "arm64"]

# GardenLinux "bare" feature
BARE_FLAVOR_FEATURE_CONTENT = {"description": "Bare flavor", "type": "platform"}
BARE_CNAME_FEATURE_CONTENT = {"description": "Bare flavor", "type": "platform"}

BARE_FLAVOR_LIBC_FEATURE_CONTENT = {
BARE_CNAME_LIBC_FEATURE_CONTENT = {
"description": "Bare libc feature",
"type": "element",
}
Expand Down Expand Up @@ -147,6 +147,7 @@

GL_BUG_REPORT_URL = "https://github.com/gardenlinux/gardenlinux/issues"
GL_COMMIT_SPECIAL_VALUES = ("local",)
GL_VERSION_SPECIAL_VALUES = ("today",)
GL_CONTAINER_REGISTRY_BASE_URL = "ghcr.io/gardenlinux/gardenlinux"
GL_DEB_REPO_BASE_URL = "https://packages.gardenlinux.io/gardenlinux"
GL_DISTRIBUTION_NAME = "Garden Linux"
Expand Down
7 changes: 5 additions & 2 deletions src/gardenlinux/features/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@
Features module
"""

from .cname import CName
from .artifact_base_name import ArtifactBaseName
from .c_name import CName
from .flavor import Flavor
from .parser import Parser
from .versioned_flavor import VersionedFlavor

__all__ = ["CName", "Parser"]
__all__ = ["ArtifactBaseName", "CName", "Flavor", "Parser", "VersionedFlavor"]
Loading
Loading