The test job installs from the source tree, where diagrams/cli.py and
resources/ are always present, so two broken releases went out green:
- 0.24.1-0.24.4 declared a `diagrams = diagrams.cli:main` console script
while diagrams/cli.py did not exist, so `pipx install diagrams` installed
an executable that could only raise ModuleNotFoundError (#1149).
- 0.25.0 moved to a PEP 621 [project] table with no [build-system] table,
so pip built with setuptools and shipped a wheel with zero icons. It does
not raise: the CLI exits 0 and renders an 8 KB image of empty boxes.
Separately, the v0.24.4 tag was placed one commit before the version bump,
so the tag said 0.24.4 while pyproject.toml said 0.24.3 (#1183). Nothing
compared the two.
Add tests/test_packaging.py, which asserts against installed metadata and
on-disk files rather than the checkout: every declared console-script entry
point imports, every Node subclass's icon resolves through the production
Node._load_icon path, and diagrams.__version__ matches the distribution
metadata. A setUpModule guard skips the module, with an instruction, when
`import diagrams` does not resolve to the installed distribution, so an
unpacked sdist or a shadowed checkout cannot pass it vacuously.
Add .github/workflows/package.yml to build both artifacts, inspect the
sdist listing, install the wheel into a clean venv and run those invariants
against the install, plus the console script end to end.
Add scripts/check_release_version.py and a tag-version job that fails a
release whose tag does not name the version in pyproject.toml. The version
stays a single literal in pyproject.toml; diagrams.__version__ now reads it
back via importlib.metadata, reporting 0.0.0.dev0 when the imported package
is not the installed copy rather than echoing the wrong release number.
Split [tool.hatch.build] into per-target tables so the sdist also carries
tests/ and scripts/check_release_version.py, letting packagers verify a
build from the tarball without cloning.
Turn diagrams/gis/cplusplus.py into a deprecation shim aliasing
diagrams.gis.cli.Mapnik. The new icon test caught it: resources/gis/cplusplus
was never committed alongside the generated module in #847, so
gis.cplusplus.Mapnik has always rendered a blank node. docs/nodes/gis.md,
generated by the same autogen.sh run, already omits the module and documents
Mapnik at diagrams.gis.cli.Mapnik, which has a real icon.
* Addition of new GIS provider
* Add information on how to add new provider
* generated elements update
* add new nodes in provider GIS
* update gis provider content
* add new elements
* New nodes
* add imposm
* add here data provider
* Apply last comments and add new nodes
* Fix geonetwork image size
* Cleaning, resizing icons
* Add icon for gis provider
* Move mapnik node
* Move mapnik node
* Try fixing precommit hook messages
* Updated docs to include images of nodes
* Updated docs to include images of nodes
* Added icons to docs
* Added black formatting
* Added back png that removed due to incorrect naming convention
* Revert yarn.lock changes
1. Fix resource warning in the destructor
```
/Users/REDACTED/.asdf/installs/python/3.10.0/lib/python3.10/subprocess.py:1067: ResourceWarning: subprocess 46612 is still running
_warn("subprocess %s is still running" % self.pid,
ResourceWarning: Enable tracemalloc to get the object allocation traceback
```
2. Use preferred, non-legacy API per https://docs.python.org/3/library/subprocess.html#subprocess.call
3. Older call style no longer needed with Python 3.6+
* Added IBM Provider
* Added IBM Provider
* Added IBM Provider
* Added IBM Provider
* Add IBM Provider
* Add IBM Provider
* Add IBM Provider
* Add IBM Provider
* Add IBM Provider
* Add IBM Provider
* Modified image after review comments
* Deleted resources
* Modified after review comments
* Modified as per code review
* Modified as per code review
* Modified as per code review
* Modified as per code review
* Modified as per code review
* Try to make the custom doc page (#284)
* [Fix] link syntax
* [Fix] Generate the doc for custom outside the provider loop + Remove custom from providers list.
* [Fix] Add custom menu in side bar
* docs(Custom): Add more examples (#284)
* Including Zabbix on Monitoring Group
* Zabbix implementation
* Added LXC on Container
* Error typo
* Alias PVE-Proxmox
* Including Proxmox, CEPH, GlusterFS
* New Application Servers - JBoss,Tomcat,Jetty,Glassfish
* Java App Server - WildFly by RH
* Autogen Changes of App Servers
* DNS Services OnPremise
* Inclusion UPPER_WORDS
* Container and OnPremise changed after autogen.sh
* Outscale after autogen
* Removed duplication
* Refactor #291
Outscale isa French IaaS provider
This commit add support for generated diagram with outscale images
Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
Co-authored-by: matthias.gatto <matthias.gatto@matthiasgatto-3.local>
* Add Icon set for Oracle Cloud Services. Update scripts to handle the new provider
* feat: add alibaba cloud resources
* chore: delete unused script
* bump: up to version 0.4.0
* docs: add alibaba cloud
* chore: make a publish script executable
* docs: update menus for alibaba cloud
* Code cleanup per pull request feedback
* Add Oracle cloud to website and command line to generate the classes
* Add missing module script for OCI provider
Co-authored-by: Prodesire <Prodesire@yeah.net>
Co-authored-by: MinJae Kwon <mingrammer@gmail.com>