compileall only ever compiles *.py. Handed anything else, even by name on the command line, it skips the file and still exits 0, so the job has been checking 218 of the 298 Python files in this tree and reporting success for the rest. Everything without the extension went unchecked: the whole of confluent_client/bin and confluent_server/bin, the osdeploy deploy scripts, the loose misc utilities and the setup.py.tmpl templates. Those files now go to py_compile, which compiles what it is given. The list is built from python shebangs, read with the shell builtin rather than by forking head and grep per file, plus four patterns for the files that carry no shebang at all and so cannot be detected: the setup templates, configbmc, add_local_repositories and misc/filterpasswd. It comes to the same 298 files ruff.toml arrives at through extend-include, and wants keeping in step with it. The shebang test matches python anywhere in the line rather than after a slash or space, because several tools use /usr/libexec/platform-python.
Confluent
Confluent is a software package to handle essential bootstrap and operation of scale-out server configurations. It supports stateful and stateless deployments for various operating systems.
Check this page for a more detailed list of features.
Confluent is the modern successor of xCAT. If you're coming from xCAT, check out this comparison.
Documentation
Confluent documentation is hosted on: https://xcat2.github.io/confluent-docs/
Download
Get the latest version from: https://xcat2.github.io/confluent-docs/downloads/
Check release notes on: https://xcat2.github.io/confluent-docs/release_notes/
Open Source License
Confluent is made available under the Apache 2.0 license: https://opensource.org/license/apache-2-0
Developers
Want to help? Submit a Pull Request.
Versioning and releases
The top-level VERSION file names the release the current branch is working toward. Build scripts
call ./mkversion, which turns it into the version stamped on packages: the tag itself on a release
tag (4.0.1), otherwise a development version (4.0.1.dev5+gdeadbee, or 4.0.1~dev5+gdeadbee for
the packages that have no setup.py).
mkversion also derives a version from the newest tag reachable from HEAD and uses whichever is
higher, so forgetting to bump VERSION after tagging the current branch cannot walk the version
backwards. Staying ahead of tags on other branches is what VERSION itself is for: patch releases
are tagged on release branches, which master never sees.
Cutting a new series:
- Land the release commit on master and tag
X.Y.0there. - Create branch
X.Yfrom that tag; it inheritsVERSION=X.Y.0. - Only then bump
VERSIONon master. Doing it before step 2 leaves the release branch on the wrong series.
Patch releases land on branch X.Y and are tagged X.Y.Z there; no VERSION edit is needed.