From 609c418f1ef360e8c5340bb0cfc1dafb5948ab1f Mon Sep 17 00:00:00 2001 From: ssobol77 Date: Mon, 11 May 2026 12:52:40 +0200 Subject: [PATCH] fix(release): unblock v0.1.3 release pipeline Three independent fixes that block v0.1.2 from completing as a full release across all platforms. Bug 9 (FreeBSD manifest format): pkg create rejected the manifest with: pkg: Bad format in manifest for key: categories build-and-package-freebsd.sh emitted 'categories' and 'licenses' as YAML-style lists ('- value'). FreeBSD pkg-create(8) parses manifests as UCL, where lists must be inline arrays ('[value]'). Converted both fields to UCL inline-array syntax. README PyPI rendering: PyPI renders README.md without resolving relative links to repo files. All 'docs/...' and 'LICENSE' Markdown links resolved to 404s on pypi.org/project/ecli-editor/. Rewrote all internal Markdown links as absolute URLs under https://github.com/SSobol77/ecli/blob/main/... README badges and Quick Start version refs: - Replaced the marketing-grade Latest Release / License / Stars badge row with a technically meaningful set: PyPI Version, Python Versions, Release, License, Website, plus a second row of platform support badges (Linux/macOS/FreeBSD/Windows). - Bumped Quick Start install-command examples from 0.1.0 to 0.1.3 so they match the upcoming release. Version: bumped pyproject.toml from 0.1.2 to 0.1.3. Background: PyPI 0.1.2 was published successfully during the v0.1.2 release attempt (visible at pypi.org/project/ecli-editor/0.1.2/). The aggregate workflow failed AFTER PyPI publish, due to the FreeBSD manifest bug (Bug 9). Maintainer continues forward strategy: PyPI 0.1.2 stays as-is (immutable), no v0.1.2 GitHub Release is created, v0.1.3 becomes the first complete release across all platforms. --- README.md | 91 +++++++++++++++++----------- pyproject.toml | 2 +- scripts/build-and-package-freebsd.sh | 6 +- 3 files changed, 58 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 7f1bffd..df9c779 100755 --- a/README.md +++ b/README.md @@ -23,9 +23,28 @@ See the LICENSE file in the project root for full license text.

- Latest Release - License - Stars + + PyPI Version + + + Python Versions + + + Release + + + License + + + Website + +

+ +

+ Linux + macOS + FreeBSD + Windows

--- @@ -57,18 +76,18 @@ Download and install a pre-compiled package for your platform: ```bash # Debian/Ubuntu -sudo apt install ./ecli_0.1.0_linux_x86_64.deb +sudo apt install ./ecli_0.1.3_linux_x86_64.deb # Fedora/RHEL/Rocky -sudo dnf install ./ecli_0.1.0_linux_x86_64.rpm +sudo dnf install ./ecli_0.1.3_linux_x86_64.rpm # Windows (PowerShell) -.\ecli_0.1.0_win_x86_64_setup.exe -# Portable alternative: .\ecli_0.1.0_win_x86_64.exe +.\ecli_0.1.3_win_x86_64_setup.exe +# Portable alternative: .\ecli_0.1.3_win_x86_64.exe # See docs/install/windows.md for checksum verification and SmartScreen notes. # macOS -open ecli_0.1.0_macos_universal2.dmg +open ecli_0.1.3_macos_universal2.dmg # First launch is blocked by Gatekeeper; see docs/install/macos.md # for the one-time "Open Anyway" or xattr workaround. ``` @@ -102,7 +121,7 @@ The Python distribution name is `ecli-editor`; the import package remains ### Complete Installation Instructions -For detailed platform-specific installation instructions, system dependencies, and troubleshooting, see the [Installation Guide](docs/contributor/install.md). +For detailed platform-specific installation instructions, system dependencies, and troubleshooting, see the [Installation Guide](https://github.com/SSobol77/ecli/blob/main/docs/contributor/install.md). #### 1. System Dependencies @@ -145,8 +164,8 @@ Download from [GitHub Releases](https://github.com/SSobol77/ecli/releases): - **Linux**: `.deb` (Debian/Ubuntu), `.rpm` (Fedora/RHEL), `.AppImage` (any Linux), `.tar.gz` - **FreeBSD**: `.pkg` -- **macOS**: `.dmg` ([install notes](docs/install/macos.md)) -- **Windows**: `.exe` installer or portable executable ([install notes](docs/install/windows.md)) +- **macOS**: `.dmg` ([install notes](https://github.com/SSobol77/ecli/blob/main/docs/install/macos.md)) +- **Windows**: `.exe` installer or portable executable ([install notes](https://github.com/SSobol77/ecli/blob/main/docs/install/windows.md)) **Option B: PyPI (Python Package Index)** @@ -198,8 +217,8 @@ make help # See all available build targets ECLI features a comprehensive multi-platform build system. For detailed information: -- **Build from Source**: Read [docs/contributor/build-from-source.md](docs/contributor/build-from-source.md) -- **Packaging Flows**: See [docs/release/packaging-flows.md](docs/release/packaging-flows.md) +- **Build from Source**: Read [docs/contributor/build-from-source.md](https://github.com/SSobol77/ecli/blob/main/docs/contributor/build-from-source.md) +- **Packaging Flows**: See [docs/release/packaging-flows.md](https://github.com/SSobol77/ecli/blob/main/docs/release/packaging-flows.md) #### Common Build Commands @@ -244,7 +263,7 @@ ecli [options] [file] | `Ctrl+F` | Search in file | | `F1` | Help | -For comprehensive keybindings and usage guide, see [Getting Started](docs/contributor/development-setup.md). +For comprehensive keybindings and usage guide, see [Getting Started](https://github.com/SSobol77/ecli/blob/main/docs/contributor/development-setup.md). --- @@ -253,27 +272,27 @@ For comprehensive keybindings and usage guide, see [Getting Started](docs/contri Complete documentation is organized by audience: ### For Users -- [Installation Guide](docs/contributor/install.md) - Detailed setup instructions -- [Build from Source](docs/contributor/build-from-source.md) - Build system quick start -- [Getting Started](docs/contributor/development-setup.md) - First steps with ECLI +- [Installation Guide](https://github.com/SSobol77/ecli/blob/main/docs/contributor/install.md) - Detailed setup instructions +- [Build from Source](https://github.com/SSobol77/ecli/blob/main/docs/contributor/build-from-source.md) - Build system quick start +- [Getting Started](https://github.com/SSobol77/ecli/blob/main/docs/contributor/development-setup.md) - First steps with ECLI ### For Developers -- [Development Setup](docs/contributor/development-setup.md) - Development environment -- [Architecture Overview](docs/architecture/current-architecture.md) - System design -- [Packaging Flows](docs/release/packaging-flows.md) - Release packaging overview -- [Build from Source](docs/contributor/build-from-source.md) - Local build commands -- [Contributor Guide](docs/contributor/README.md) - Contributing to ECLI +- [Development Setup](https://github.com/SSobol77/ecli/blob/main/docs/contributor/development-setup.md) - Development environment +- [Architecture Overview](https://github.com/SSobol77/ecli/blob/main/docs/architecture/current-architecture.md) - System design +- [Packaging Flows](https://github.com/SSobol77/ecli/blob/main/docs/release/packaging-flows.md) - Release packaging overview +- [Build from Source](https://github.com/SSobol77/ecli/blob/main/docs/contributor/build-from-source.md) - Local build commands +- [Contributor Guide](https://github.com/SSobol77/ecli/blob/main/docs/contributor/README.md) - Contributing to ECLI ### For System Administrators -- [Supported Platforms](docs/product/supported-platforms.md) - Platform matrix -- [Configuration Guide](docs/config/README.md) - Configuration options -- [Deployment Guide](docs/release/packaging-flows.md) - Production deployment +- [Supported Platforms](https://github.com/SSobol77/ecli/blob/main/docs/product/supported-platforms.md) - Platform matrix +- [Configuration Guide](https://github.com/SSobol77/ecli/blob/main/docs/config/README.md) - Configuration options +- [Deployment Guide](https://github.com/SSobol77/ecli/blob/main/docs/release/packaging-flows.md) - Production deployment ### Reference -- [API Documentation](docs/extensions/plugin-api.md) - Plugin development -- [Architecture Details](docs/architecture/README.md) - System internals -- [Release Process](docs/release/release-process.md) - Release management -- [Quality Standards](docs/quality/README.md) - Testing and quality gates +- [API Documentation](https://github.com/SSobol77/ecli/blob/main/docs/extensions/plugin-api.md) - Plugin development +- [Architecture Details](https://github.com/SSobol77/ecli/blob/main/docs/architecture/README.md) - System internals +- [Release Process](https://github.com/SSobol77/ecli/blob/main/docs/release/release-process.md) - Release management +- [Quality Standards](https://github.com/SSobol77/ecli/blob/main/docs/quality/README.md) - Testing and quality gates --- @@ -288,7 +307,7 @@ ECLI is built on a modern, extensible architecture: - **Git Integration**: Direct git repository management - **Plugin System**: Extensible architecture for custom features -For detailed architecture information, see [Architecture Overview](docs/architecture/current-architecture.md). +For detailed architecture information, see [Architecture Overview](https://github.com/SSobol77/ecli/blob/main/docs/architecture/current-architecture.md). --- @@ -305,7 +324,7 @@ We welcome contributions! Here's how to get started: 7. **Push** to your fork 8. **Open** a Pull Request -For detailed contribution guidelines, see [CONTRIBUTING](docs/contributor/README.md). +For detailed contribution guidelines, see [CONTRIBUTING](https://github.com/SSobol77/ecli/blob/main/docs/contributor/README.md). --- @@ -375,13 +394,13 @@ Found a bug? Please help us by opening an issue on GitHub: - macOS 12 and newer - Windows 10/11 -See [Supported Platforms](docs/product/supported-platforms.md) for detailed compatibility matrix. +See [Supported Platforms](https://github.com/SSobol77/ecli/blob/main/docs/product/supported-platforms.md) for detailed compatibility matrix. --- ## 📝 License -ECLI is licensed under the [Apache License 2.0](LICENSE). See the LICENSE file for details. +ECLI is licensed under the [Apache License 2.0](https://github.com/SSobol77/ecli/blob/main/LICENSE). See the LICENSE file for details. --- @@ -398,16 +417,16 @@ ECLI is licensed under the [Apache License 2.0](LICENSE). See the LICENSE file f ## 💬 Support -- **Documentation**: Read [Build from Source](docs/contributor/build-from-source.md) and [Packaging Flows](docs/release/packaging-flows.md) +- **Documentation**: Read [Build from Source](https://github.com/SSobol77/ecli/blob/main/docs/contributor/build-from-source.md) and [Packaging Flows](https://github.com/SSobol77/ecli/blob/main/docs/release/packaging-flows.md) - **Community**: GitHub Discussions - **Bugs**: GitHub Issues -- **Development**: See [Contributing](docs/contributor/README.md) +- **Development**: See [Contributing](https://github.com/SSobol77/ecli/blob/main/docs/contributor/README.md) --- ## 🎯 Roadmap -For planned features and current development status, see [Roadmap](docs/planning/roadmap.md). +For planned features and current development status, see [Roadmap](https://github.com/SSobol77/ecli/blob/main/docs/planning/roadmap.md). --- diff --git a/pyproject.toml b/pyproject.toml index 8b2157d..59ce8f6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ build-backend = "hatchling.build" [project] name = "ecli-editor" -version = "0.1.2" +version = "0.1.3" description = "ECLI — fast terminal code editor" readme = "README.md" requires-python = ">=3.11" diff --git a/scripts/build-and-package-freebsd.sh b/scripts/build-and-package-freebsd.sh index b431322..046232c 100755 --- a/scripts/build-and-package-freebsd.sh +++ b/scripts/build-and-package-freebsd.sh @@ -354,10 +354,8 @@ maintainer: ${MAINTAINER} www: ${HOMEPAGE} abi: ${ABI} prefix: /usr/local -categories: - - ${CATEGORY} -licenses: - - ${LICENSE} +categories: [${CATEGORY}] +licenses: [${LICENSE}] licenselogic: single EOF