Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,26 +56,3 @@ jobs:

- name: Publish to PyPI
run: uv publish

publish-to-testpypi:
name: Publish to TestPyPI
needs: build
runs-on: ubuntu-latest
environment:
name: testpypi
url: https://test.pypi.org/p/bunenv
permissions:
id-token: write

steps:
- name: Install uv
uses: astral-sh/setup-uv@v4

- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/

- name: Publish to TestPyPI
run: uv publish --index testpypi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,4 @@ docs/source/api/generated/
# uv
.uv/
nodeenv/
test-env/
92 changes: 92 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Changelog

All notable changes to bunenv will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2025-11-24

### Added

#### GitHub Action
- **GitHub Action for CI/CD** - Official `JacobCoffee/bunenv` action for easy Bun setup in workflows
- Simple one-line setup: `uses: JacobCoffee/bunenv@v1`
- Automatic caching for faster runs
- Cross-platform support (Ubuntu, macOS, Windows)
- Inputs: `bun-version`, `variant`, `github-token`, `cache`, `python-version`
- Outputs: `bun-version`, `bunenv-path`
- Complete documentation in `ACTION.md`
- Validated in production by byte project (#136)

#### Documentation
- **Comprehensive Sphinx Documentation** - Professional docs with Shibuya theme
- Complete API reference with examples
- User guides: quickstart, workflows, configuration, troubleshooting
- Advanced topics: variants, GitHub API, security
- Comparison with nodeenv, asdf, mise
- Migration guides from nodeenv and other tools
- Hosted at GitHub Pages

- **Makefile for Documentation** - Easy documentation builds
- `make docs` - Build HTML documentation
- `make docs-serve` - Live preview with auto-rebuild
- `make docs-clean` - Remove build artifacts

#### Testing & Quality
- **Comprehensive Test Suite** - 98%+ coverage
- Cross-platform tests (Ubuntu, macOS, Windows)
- Python 3.10, 3.11, 3.12, 3.13 support
- Integration tests with real Bun installations
- Smoke tests for all platforms
- Mocked tests for offline validation

- **Modern Tooling**
- `ruff` for linting and formatting
- `ty` for type checking
- `prek` for git hooks
- `codespell` for spelling
- `pytest` with coverage reporting
- Automated CI/CD via GitHub Actions

#### Development
- **Python 3.10+ Modernization**
- Type hints throughout codebase
- Pattern matching for cleaner code
- Union types with `|` operator
- Simplified Optional handling
- Better error messages

### Changed
- **Version bump to 1.0.0** - Stable release!
- **Updated README** - Added GitHub Action usage examples
- **Improved CI/CD** - More comprehensive testing matrix

### Fixed
- **Documentation Build Warnings** - All Sphinx warnings resolved
- **Cross-Platform Compatibility** - Validated on all major platforms

### Validated
- **Real-World Usage** - Successfully migrated byte project from nodeenv
- Production validation in https://github.com/JacobCoffee/byte
- Zero breaking changes from nodeenv migration
- CI passing with bunenv in production

---

## [0.1.0] - 2025-11-23

### Added
- Initial release of bunenv
- Core Bun virtual environment functionality
- Adapted from nodeenv architecture
- GitHub Releases API integration
- Cross-platform support (macOS, Linux, Windows)
- Python virtualenv integration
- Variant support (baseline, musl, profile)
- Configuration file support (~/.bunenvrc, .bun-version)
- Activation scripts for multiple shells
- Zero runtime dependencies

[1.0.0]: https://github.com/JacobCoffee/bunenv/compare/v0.1.0...v1.0.0
[0.1.0]: https://github.com/JacobCoffee/bunenv/releases/tag/v0.1.0
8 changes: 1 addition & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "bunenv"
version = "0.1.0"
version = "1.0.0"
description = "Bun virtual environment builder"
readme = "README.md"
authors = [
Expand Down Expand Up @@ -43,12 +43,6 @@ bunenv = "bunenv:main"
requires = ["uv_build>=0.9.11,<0.10.0"]
build-backend = "uv_build"

[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
explicit = true

[dependency-groups]
dev = [
"ruff>=0.14.6",
Expand Down
2 changes: 1 addition & 1 deletion src/bunenv/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

IncompleteRead = http.client.IncompleteRead

bunenv_version: str = "0.1.0"
bunenv_version: str = "1.0.0"

join: Callable[..., str] = os.path.join
abspath: Callable[[str], str] = os.path.abspath
Expand Down
Loading