Commit graph

329 commits

Author SHA1 Message Date
2b390c5e15
Start version: 1.0.0-41
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
68a5249179
Release 1.0.0-40@kali-rolling/amd64
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
7529611f23
Start version: 1.0.0-40
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
d9409f99c2
Release 1.0.0-39@kali-rolling/amd64
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
db390b24fd
Start version: 1.0.0-39
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
f21ddd52a8
Release 1.0.0-38@kali-rolling/amd64
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
84653ba0a6
Start version: 1.0.0-38
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
16f74a6eb7
Release 1.0.0-37@kali-rolling/amd64
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
c2fc31524a
Release 1.0.0-36@kali-rolling/amd64
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
a95092b3bf
Release 1.0.0-35@kali-rolling/amd64
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
f5e6dd7160
Release 1.0.0-34@kali-rolling/amd64
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
ce3d3b1f07
Release 1.0.0-33@kali-rolling/amd64
Signed-off-by: janware DevOps <devops@janware.com>
2026-06-10 03:45:55 +00:00
8df9042374
Release 1.0.0-37@suse-tumbleweed/x86_64
All checks were successful
CI / Packaging - Kali Linux (push) Successful in 3m54s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m27s
CI / Packaging test (push) Successful in 0s
2026-06-09 23:33:40 +00:00
ce1ba462ef
Start version: 1.0.0-37 2026-06-09 23:33:03 +00:00
7e062c35a9
ci.yaml: enable-email-notifications: true
Add enable-email-notifications: true. This seems to be needed for sending
information about failed runs. Apparently it doesn't make it difference if I
add it to ci/workflows/.github/workflows/test-packaging.yaml.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-08 14:55:11 +02:00
021761f924
standard-tests.yaml: Rename to ci.yaml
In another attempt at making CI workflow naming more concise:

  - Rename standard-tests.yaml to ci.yaml

    Currently the contents of this file covers everything CI-related
    that happens in the context workflows, so for the time being,
    naming it ci.yaml is just fitting. And it's going to be shorter
    in commit message summaries. Should a real need arise, we can
    always split the file up again.

  - Shorten names again, otherwise they don't fit into Forgejo's
    check-mark-popup. That should be self-explanatory in context:

    name:
      Default CI -> CI

    jobs.CI.name:
      Packaging test - All supported platforms -> Packaging test

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-08 14:54:18 +02:00
b43c4ccbc3
workflows/(build-package.yaml -> standard-tests.yaml)
This commit reorganizes build-package.yaml in several ways:

  - Follow name change of the called workflow

    The reusable workflow used by build-package.yaml changed name and
    location, and this commit follows the move.  It was located at
    ci/action-build-package before and has moved to ci/workflows,
    because what it provides is semantically more of a workflow than
    an action.

  - Limit CI runs

    The commit also adds safeguards against too many CI runs. It
    limits them to PR events opened, re-opened or pushed-to, and to
    push events hitting branches master, main and release.

  - Rename workflow itself to standard-tests.yaml

    That name reflects better what it represents: The entry point to
    janware's standard set of CI tests. All of them happen to run in
    the context of building and packaging at this point, but that
    might not be the only standard test this repo chooses to
    subscribe to in the future, and if so, they will be better off in
    one file with defined order, so give that file a better umbrella
    name.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-03 15:27:58 +02:00
0fd996f9f3
workflows/build-package.yaml: Remove "runs-on"
Forgejo versions before 15 didn't support workflow expansion, and
"runs-on" was necessary in callers of reusable workflows. janware.com
now runs Forgejo 15.x, and the requirement is gone, so remove the config
option.

Quoting from https://forgejo.org/docs/latest/user/actions/reference/

  runs-on is typically a required field. However, if a job defines
  jobs.<job_id>.uses in order to reference a reusable workflow, then it
  is optional. See jobs.<job_id>.uses for more information on this
  behaviour.

  [...]

  It is recommended that jobs.<job_id>.runs-on is omitted when using
  uses, as this will allow Forgejo to perform workflow expansion.
  Workflow expansion results in the target workflow’s jobs appearing in
  the UI as separate jobs.  This provides an easier to understand
  experience for accessing the logs of each job, and permits the jobs to
  run on separate runners with their own runs-on fields.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-02 13:59:00 +02:00
5287ac33f5
Release 1.0.0-36@suse-tumbleweed/x86_64
All checks were successful
Test repo on all supported platforms / CI (push) Successful in 4m43s
Signed-off-by: janware DevOps <devops@janware.com>
2026-04-28 23:25:11 +00:00
5643978ffa
Start version: 1.0.0-36
Signed-off-by: janware DevOps <devops@janware.com>
2026-04-28 23:24:38 +00:00
834c26e2ad
build-package.yaml: Add workflow
Run reusable.yaml, i.e. generic build- and packaging test, for
jw-python.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-28 21:35:44 +02:00
8c2da80402 Release 1.0.0-35@suse-tumbleweed/x86_64
Signed-off-by: janware DevOps <devops@janware.com>
2026-04-14 15:22:46 +00:00
50edd0a98d Start version: 1.0.0-35
Signed-off-by: janware DevOps <devops@janware.com>
2026-04-14 15:22:11 +00:00
4f56964f1a project.conf: pkg.requires.os = python3-networkx
Depend on python3-networkx because ldap.Connection.object_class_tree needs it.
Note that this is a relatively weak necessity which installed 1.7 GB worth of
500 new packages on talmix.david.jannet. Maybe this can be solved in a less
costly way.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-14 16:38:37 +02:00
b219ab00c9 Release 1.0.0-34@suse-tumbleweed/x86_64
Signed-off-by: janware DevOps <devops@janware.com>
2026-04-03 23:29:30 +00:00
706dc346d8 Start version: 1.0.0-34
Signed-off-by: janware DevOps <devops@janware.com>
2026-04-03 23:28:56 +00:00
30c81af1b0 stree.serdes: Only ignore ENOENT for -include
-include ignores too many failures. It should only ignore ENOENT, all
others should throw an exception regardless.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-03 18:03:15 +02:00
1347a34481 stree.serdes: Support glob patterns for includes
Allow -include /some/dir/app.d/*.conf style includes.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-03 18:02:10 +02:00
bdb7127d27 ldap.Connection.walk(): Support decode & unroll
The entry instance passed to the walk callback contains raw results
of LDAP search operations, i.e. all attribute values are lists, and
all attribute values are bytes. Add the boolean parameters decode and
unroll to walk() as a convenience method to get decoded values. They
default to False, representing current behaviour.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-03 18:01:02 +02:00
988d420e44 ldap.Connection: Support uri config option
Currently the configuration passed to the Connection constructor
needs to contain an ldap_uri entry. Add "uri" as alias, because
ldap_uri for the LDAP config in many contexts represents a tautology
and is left out.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-03 18:00:24 +02:00
c153448608 Release 1.0.0-33@suse-tumbleweed/x86_64
Signed-off-by: janware DevOps <devops@janware.com>
2026-01-27 00:24:57 +00:00
9e0c7668a8 Start version: 1.0.0-33
Signed-off-by: janware DevOps <devops@janware.com>
2026-01-27 00:24:26 +00:00
9b5cd1b857 Cmd / Cmds: Update legacy type annotation
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-01-20 18:56:15 +01:00
3e979d21ae Release 1.0.0-32@suse-tumbleweed/x86_64
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-28 15:16:34 +00:00
b7c39fe8bd Start version: 1.0.0-32
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-28 15:16:03 +00:00
d48171f981 Replace jw-build by jw-pkg
Replace the jw-build build system by the jw-pkg build system.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-28 14:22:42 +01:00
7571b1b204 Release 1.0.0-31@suse-tumbleweed/x86_64
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-06 08:05:02 +00:00
1c39240d2f Start version: 1.0.0-31
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-06 08:04:26 +00:00
bb247bff3d proj.mk: Support JWBDIR_NAME and JWBDIR_SEARCH_PATH
- Streamline proj.mk over all projects a little

  - Turn the string "jw-build" into a variable which can be overridden from the
    environment.

  - Add support for JWBDIR_SEARCH_PATH, also overridable from the environment.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-05 10:42:54 +01:00
d8d514a4d1 Fix errors reported by mypy
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-02 09:42:21 +01:00
e071df39ab log._clean_str_regex: Fix missing r-qualifier
Fix missing raw string qualifier missing from regex with backslashes.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-02 09:41:14 +01:00
9dd957c9d3 jwutils.Options: Increase option parsing error verbosity
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-01-18 12:22:08 +01:00
82c0e6fe2e jwutils.Options: Add support for duplicate keys
Signed-off-by: Jan Lindemann <jan@janware.com>
2023-01-17 13:33:44 +01:00
12bf59b3cd os.misc: Add update_symlink()
update_symlink(target, link_name) does the equivalent of ln -sf, i.e.
force replacement of link_name with a new sysmlink, if it existed
before the call.

Signed-off-by: Jan Lindemann <jan@janware.com>
2023-01-17 11:40:58 +01:00
a4fb791649 Cmd / Cmds: Add config file support
An application based on Cmds will now try to read StringTree
formatted config data from a file $HOME/.<name>rc, and make the data
available via the newly added conf_value() method.

Signed-off-by: Jan Lindemann <jan@janware.com>
2022-12-08 16:44:49 +01:00
b7de950750 Add log.add_log_file()
log.add_log_file(path) allows to pass a file path log messages will
be written into. Special characters (e.g. console color codes) will
be removed from the messages.

Signed-off-by: Jan Lindemann <jan@janware.com>
2022-12-08 16:41:27 +01:00
8642b73ba1 misc: Add multi_regex_edit()
Signed-off-by: Jan Lindemann <jan@janware.com>
2022-12-04 12:34:52 +01:00
1ffdb8728a Add class Options
The Options constructor takes an options string, parses it and
makes the options available via __getitem__().

Signed-off-by: Jan Lindemann <jan@janware.com>
2022-12-01 14:29:01 +01:00
a52557570b misc.py: from . import log
Do "from . import log" instead of "from jwutils import log". It works
and looks cleaner than a module referencing itself. Not entirely sure
if that's the way to go, I must admit.

Signed-off-by: Jan Lindemann <jan@janware.com>
2022-12-02 12:14:00 +01:00
56357ae0a3 Add asyncio.ShellCmd
Add class ShellCmd, an easy API to run shell commands as
async subprocesses, capture their exit status, and have them log to slog().

Signed-off-by: Jan Lindemann <jan@janware.com>
2022-11-03 12:25:45 +01:00