Maintenance =========== This page documents what needs to be updated in various maintenance scenarios. Python Version Added or Removed -------------------------------- When adding or removing a supported Python version, update the following: .. list-table:: :header-rows: 1 * - File - What to update * - ``.github/workflows/ci-lint.yaml`` - ``MIN_IOS_PY_VERSION`` * - ``.github/workflows/ci-ifcopenshell-python-pypi.yml`` - ``pyver`` matrix * - ``.github/workflows/ci-ifcopenshell-python.yml`` - ``pyver`` matrix * - ``nix/build-all.py`` - ``PYTHON_VERSIONS`` list * - ``src/bsdd/pyproject.toml`` - ``requires-python`` * - ``src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst`` - add or remove the row in the ZIP packages table * - ``src/ifcopenshell-python/Makefile`` - ``SUPPORTED_PYVERSIONS`` * - ``src/ifcopenshell-python/pyproject.toml`` - ``requires-python`` * - ``src/ifcopenshell-python/test/test_package.py`` - ``SUPPORTED_PY_VERSIONS`` tuple * - ``win/build-all-win.py`` - ``PYTHON_VERSIONS`` list Blender Version Updated ----------------------- When a new Blender version is released and supported: .. list-table:: :header-rows: 1 * - File - What to update * - ``.github/workflows/ci-bonsai.yml`` - ``pyver`` matrix * - ``.github/workflows/ci-bonsai-daily.yml`` - Blender download URL Blender's Bundled Python Version Updated ----------------------------------------- When Blender ships with a new Python version: .. list-table:: :header-rows: 1 * - File - What to update * - ``.github/workflows/ci-lint.yaml`` - ``MIN_BLENDER_PY_VERSION`` * - ``src/bonsai/Makefile`` - ``SUPPORTED_PYVERSIONS`` * - ``src/bonsai/scripts/dev_environment.py`` - ``PYTHON_VERSION`` mapping (Blender version, bundled Python version) Release ------- Notes: - Typically all packages are released at once using the same version schema - The ``README.md`` badges can serve as a visual reference for what versions have been released Things to update: - ``.github/workflows/ci-bcf-pypi.yml`` - release `bcf-client `_ to PyPI - ``.github/workflows/ci-bonsai.yml`` - release bonsai in GitHub releases - ``.github/workflows/ci-bsdd-pypi.yaml`` - release `bsdd `_ to PyPI - ``.github/workflows/ci-ifc4d-pypi.yaml`` - release `ifc4d `_ to PyPI - ``.github/workflows/ci-ifc5d-pypi.yaml`` - release `ifc5d `_ to PyPI - ``.github/workflows/ci-ifcclash-pypi.yaml`` - release `ifcclash `_ to PyPI - ``.github/workflows/ci-ifcconvert.yml`` - release ifcconvert binaries in GitHub releases - ``.github/workflows/ci-ifccsv-pypi.yaml`` - release `ifccsv `_ to PyPI - ``.github/workflows/ci-ifcdiff-pypi.yaml`` - release `ifcdiff `_ to PyPI - ``.github/workflows/ci-ifcedit-pypi.yaml`` - release `ifcedit `_ to PyPI - ``.github/workflows/ci-ifcfm-pypi.yaml`` - release `ifcfm `_ to PyPI - ``.github/workflows/ci-ifccityjson-pypi.yaml`` - release `ifccityjson `_ to PyPI - ``.github/workflows/ci-ifcmcp-pypi.yaml`` - release `ifcopenshell-mcp `_ to PyPI - ``.github/workflows/ci-ifcopenshell-python.yml`` - release ifcopenshell-python binaries in GitHub releases - ``.github/workflows/ci-ifcopenshell-python-pypi.yml`` - release `ifcopenshell `_ wheels to PyPI - ``.github/workflows/ci-ifcpatch-pypi.yaml`` - release `ifcpatch `_ to PyPI - ``.github/workflows/ci-ifcquery-pypi.yaml`` - release `ifcquery `_ to PyPI - ``.github/workflows/ci-ifcsverchok.yml`` - release ifcsverchok Blender add-on in GitHub releases - ``.github/workflows/ci-ifctester-pypi.yml`` - release `ifctester `_ to PyPI - ``.github/workflows/ci-pyodide-wasm-release.yml`` - release pyodide wasm wheel to `wasm-wheels `_ - Release Bonsai Blender extension - zip files from ci-bonsai.yml releases should be uploaded manually to `Blender extensions platform `_ - Publishing documentation and websites (see `website `_ repository): - `ifcopenshell-docs.yml` - builds and publishes IfcOpenShell documentation to `docs.ifcopenshell.org `_ (`ifcopenshell_org_docs `_ repo) - `bonsai-docs.yml` - builds and publishes Bonsai documentation to `docs.bonsaibim.org `_ (`bonsaibim_org_docs `_ repo) - `main.yml` - publishes `bonsaibim.org `_ (`bonsaibim_org_static_html `_ repo) and `ifcopenshell.org `_ (`ifcopenshell_org_static_html `_ repo) - ``VERSION`` to the release version - **UPDATE THIS LAST** as all workflows above typically depend on it to set the version correctly