Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
da3abe6
*.py files migrated from gardenlinux workflows
Sep 2, 2025
06b2f69
reorganized code, package version bump
Sep 4, 2025
234cad8
bumped setup action tag in flavors_parse
Sep 4, 2025
332329d
version 0.10.0 is the default
vivus-ignis Sep 5, 2025
3ad7a9e
fixed import
vivus-ignis Sep 5, 2025
df1c1eb
fixed imports for sources.kernel
vivus-ignis Sep 5, 2025
2ec4e57
added compare-apt-repo-versions script
vivus-ignis Sep 5, 2025
a3419b7
replaced compare-apt-repo-versions with python code
vivus-ignis Sep 5, 2025
4dc00f5
github fixes
vivus-ignis Sep 5, 2025
7011313
loading s3 bucket name from an envvar
vivus-ignis Sep 5, 2025
bfd7fa7
debug prints
vivus-ignis Sep 8, 2025
ff7965f
switched from tag to branch while we're in development mode
vivus-ignis Sep 8, 2025
70b2231
flavors_parse needs to support version input too
vivus-ignis Sep 8, 2025
a1527ed
with block was placed in a wrong place, now fixed
vivus-ignis Sep 8, 2025
c2c5d05
passing the version parameter
vivus-ignis Sep 8, 2025
ab770f6
syntax fix
vivus-ignis Sep 8, 2025
3cd9870
fixed debug print
vivus-ignis Sep 8, 2025
f00621b
moar debug
vivus-ignis Sep 8, 2025
72d2f6f
fixed potentially wrong CName constructor call
vivus-ignis Sep 8, 2025
5cdd443
updates from "upstream"
vivus-ignis Sep 9, 2025
821efcf
missing import, logger for github module
vivus-ignis Sep 9, 2025
23a8a14
switching from the custom requests-based code to python-apt
vivus-ignis Sep 10, 2025
3c292e7
python-apt added to the poetry project
vivus-ignis Sep 10, 2025
eed5ba0
installing dependency for python-apt
vivus-ignis Sep 10, 2025
355860b
removed libapt from setup wf
vivus-ignis Sep 11, 2025
114af49
packages update; python-apt removed
vivus-ignis Sep 11, 2025
85efed3
sources module is not needed anymore
vivus-ignis Sep 11, 2025
2d46645
got rid of getkernelurls
vivus-ignis Sep 11, 2025
7e89bd9
removed LOGGER
vivus-ignis Sep 11, 2025
895c87e
release_note: update from upstream, dead code elimination
vivus-ignis Sep 11, 2025
e8f171d
debug print
vivus-ignis Sep 11, 2025
0c40e02
the fun with short commits go on
vivus-ignis Sep 11, 2025
6981bca
debugging s3 filtering
vivus-ignis Sep 12, 2025
cf7fca2
more debug prints
vivus-ignis Sep 12, 2025
104b7ea
better filtering for metadata files download
vivus-ignis Sep 12, 2025
b268216
debug
vivus-ignis Sep 12, 2025
5fa5d04
fixed s3 filtering
vivus-ignis Sep 12, 2025
7587e26
proper debug logging
vivus-ignis Sep 12, 2025
b18747f
formatting fix
vivus-ignis Sep 12, 2025
b0abc3a
not using list for bucket objects iterator
vivus-ignis Sep 12, 2025
23dd7cf
list is fine
vivus-ignis Sep 12, 2025
17488b9
table-formatted diff for packages
vivus-ignis Sep 12, 2025
d42eac8
formatting fix
vivus-ignis Sep 12, 2025
08f0a6e
removed unneccessary shell script
vivus-ignis Sep 12, 2025
535e6de
simplified workflows setup
vivus-ignis Sep 12, 2025
a3437c1
calling gl-flavors-parse correctly
vivus-ignis Sep 12, 2025
8613416
relative path to actions
vivus-ignis Sep 12, 2025
3cc6051
reverting actions-related changes
vivus-ignis Sep 12, 2025
f417b28
which gl-* debugging
vivus-ignis Sep 12, 2025
5b657d6
removed debug prints
vivus-ignis Sep 12, 2025
4b0fcb1
proper logging, upload command
vivus-ignis Sep 12, 2025
587faea
disable python caching when using act
vivus-ignis Sep 12, 2025
943e2d3
a different approach to skip python caching with act
vivus-ignis Sep 12, 2025
fa6e7f8
disabled python cache configuration step
vivus-ignis Sep 13, 2025
de948ab
black-reformatted code
vivus-ignis Sep 15, 2025
a243406
black --diff makes more sense for CI
vivus-ignis Sep 15, 2025
5de40e1
bandit config, requests timeouts
vivus-ignis Sep 15, 2025
932fa28
reverted dev-mode changes to GHA workflows
vivus-ignis Sep 15, 2025
1c948c7
Merge branch 'main' into 3054-move-github-workflows-py-to-python-gard…
vivus-ignis Sep 15, 2025
e22a7bb
poetry.lock updated
vivus-ignis Sep 15, 2025
0ea4100
isort added to dev dependencies
vivus-ignis Sep 15, 2025
3e00c6c
proper imports sorting
vivus-ignis Sep 15, 2025
721a013
default exports for apt module
vivus-ignis Sep 15, 2025
601ca8c
got rid of urllib
vivus-ignis Sep 15, 2025
c99b904
removed unused function
vivus-ignis Sep 15, 2025
1c55079
constant for release id file name
vivus-ignis Sep 15, 2025
83fae37
added ptpython to dev deps, cleaned up bandit excludes
vivus-ignis Sep 15, 2025
f789749
integration tests for release notes generation routines
vivus-ignis Sep 16, 2025
b22f349
working GL release notes integration test
vivus-ignis Sep 16, 2025
e8201bd
Merge branch 'main' into 3054-move-github-workflows-py-to-python-gard…
vivus-ignis Sep 17, 2025
616321d
cosmetic fix
vivus-ignis Sep 17, 2025
7b0699c
poetry deps updated
vivus-ignis Sep 17, 2025
c9baa93
gitpython dependency added
vivus-ignis Sep 17, 2025
48fc0c4
testing get_package_list with a static Packages file
vivus-ignis Sep 17, 2025
74e3ca1
isort configuration added
vivus-ignis Sep 17, 2025
233613d
not using hardcoded bucket name anymore
vivus-ignis Sep 17, 2025
201f372
s3_downloads added to gitignore
vivus-ignis Sep 17, 2025
7dbbe20
debug log level for github module
vivus-ignis Sep 17, 2025
54a2f5d
metadata download test
vivus-ignis Sep 17, 2025
1c58f8d
more tests
vivus-ignis Sep 18, 2025
ddf2116
more tests
vivus-ignis Sep 18, 2025
5e79b3c
generate coverage report in html format if run locally
vivus-ignis Sep 18, 2025
a24966c
working release page test with mocked s3
vivus-ignis Sep 18, 2025
4b4bfba
more tests
vivus-ignis Sep 18, 2025
fd4991c
more tests
vivus-ignis Sep 19, 2025
e7fdcce
s3 bucket mocks (no fixture for now))
vivus-ignis Sep 19, 2025
5d1a585
release_s3_bucket fixture
vivus-ignis Sep 19, 2025
f43ff13
DRYed tests
vivus-ignis Sep 19, 2025
2583ffc
more tests for gods of tests
vivus-ignis Sep 19, 2025
b9b3851
cli args-parsing tests
vivus-ignis Sep 19, 2025
4702fb7
cli tests
vivus-ignis Sep 19, 2025
86c8195
extracted constants and fixtures
vivus-ignis Sep 22, 2025
7cc833a
constants names fix
vivus-ignis Sep 22, 2025
12df7e8
incorporated changes from gardenlinux issue #3485
vivus-ignis Sep 22, 2025
6ba9dbf
Merge branch 'main' into 3054-move-github-workflows-py-to-python-gard…
vivus-ignis Sep 24, 2025
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
7 changes: 5 additions & 2 deletions .github/actions/features_parse/action.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
name: features_parse
description: Parses the given GardenLinux features parameters

inputs:
flags:
description: 'Flags passed to `gl-features-parse`'
description: "Flags passed to `gl-features-parse`"
required: true

outputs:
result:
description: 'features result'
description: "features result"
value: ${{ steps.result.outputs.result }}

runs:
using: composite
steps:
Expand Down
15 changes: 12 additions & 3 deletions .github/actions/flavors_parse/action.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,28 @@
name: flavors_parse
description: Parses the given GardenLinux flavors parameters

inputs:
flags:
description: 'Flags passed to `gl-flavors-parse`'
description: "Flags passed to `gl-flavors-parse`"
required: true
flavors_matrix:
description: 'Generated GitHub workflow flavors matrix'
description: "Generated GitHub workflow flavors matrix"
version:
description: GardenLinux Python library version
default: "0.10.0"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the use of this parameter? is this a temporary thing for development or a permanent thing?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can specify which python-gardenlinux-lib to install using the version input parameter for .github/actions/setup. While this has advantages to select a known tested/working version for execution I do not see an benefit adding it to flavors_parse or ''features_parse` GitHub actions as they provide an encapsulated result (matrix or GL canonical name) for example.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I understand what you mean by encapsulated result. flavors_parse action installs python-gardenlinux-lib. I've added version input for all actions that install this library, because otherwise the version of the library is tied to the version of CI workflow code and I think these concerns should not be mixed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the version here. Don't see an benefit with parametrizing it here.


outputs:
matrix:
description: 'Flavors matrix'
description: "Flavors matrix"
value: ${{ steps.matrix.outputs.matrix }}

runs:
using: composite
steps:
- uses: gardenlinux/python-gardenlinux-lib/.github/actions/setup@0.10.0
with:
version: ${{ inputs.version }}

- id: matrix
shell: bash
run: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -169,3 +169,4 @@ bandit-report.json

# zot
test-data/zot
s3_downloads/
134 changes: 128 additions & 6 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion src/gardenlinux/apt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
"""

from .debsource import Debsrc, DebsrcFile
from .package_repo_info import GardenLinuxRepo

__all__ = ["Debsrc", "DebsrcFile"]
__all__ = ["Debsrc", "DebsrcFile", "GardenLinuxRepo"]
3 changes: 3 additions & 0 deletions src/gardenlinux/github/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from .__main__ import create_github_release_notes

__all__ = ["create_github_release_notes"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO there's no reason to export this function.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion calling gardenlinux.github.create_github_release_notes looks much better than gardenlinux.github.main.create_github_release_notes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While I do agree in general you won't call create_github_release_notes() from any other source than the main entrypoint.

Empty file modified src/gardenlinux/github/__main__.py
100644 → 100755
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file needs refactoring. There are too many generic / helper functions doing various things needed for later release content creation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although I agree with that, it's not the focus of this PR.
I intentionally didn't change much in the existing code, just fixed the issues.

Let's first move the code away from the main gardenlinux repo, release the 0.10.0 and then improve or refactor it step-by-step in 0.10.x versions.

Empty file.
Binary file added test-data/release_notes/Packages.gz
Binary file not shown.
Loading
Loading