Releases: canonical/charm-ci
Releases · canonical/charm-ci
Release list
v1.0.1
What's Changed
- Mask verbose Spread SSH passwords by @javierdelapuente in #140
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's Changed
- Release v1.0.0: first official stable release by @javierdelapuente in #135
- Revert "Release v1.0.0: first official stable release" by @javierdelapuente in #137
- Release v1.0.0: first official stable release by @javierdelapuente in #138
Full Changelog: v0.0.1-alpha.10...v1.0.0
v0.0.1-alpha.10
What's Changed
- Retry transient CharmHub publish failures by @javierdelapuente in #115
- Sort opcli spread jobs entries for deterministic CI matrix order by @javierdelapuente in #119
- Fix upload-resource transport prefix false-positive on host:port refs by @javierdelapuente in #120
- docs: document TOX_ENV env var for overriding tox environment by @javierdelapuente in #121
- Rename concierge-microk8s.yaml to concierge-k8s.yaml, use k8s provider by @javierdelapuente in #124
- Make GitHub Release creation optional; reduce arch/base fan-out by @javierdelapuente in #126
- Revert "Make GitHub Release creation optional; reduce arch/base fan-out (#122) (#126)" by @javierdelapuente in #127
- docs: AI agents must never merge PRs by @javierdelapuente in #128
- Code quality: subprocess boundary, logging, versioning, CI hygiene by @javierdelapuente in #130
- Make GitHub Release creation optional; reduce arch/base fan-out by @javierdelapuente in #129
- chore: add release-readiness metadata to pyproject.toml by @javierdelapuente in #131
- Move artifacts.build.yaml into build/ directory by @javierdelapuente in #118
- Support GitHub Environment-scoped secrets by @javierdelapuente in #132
- Release-readiness audit: CHANGELOG, versioning policy, CI matrix, fix #107 by @javierdelapuente in #133
- Finalize CHANGELOG for v0.0.1-alpha.10 release by @javierdelapuente in #134
Full Changelog: v0.0.1-alpha.9...v0.0.1-alpha.10
v0.0.1-alpha.9
What's Changed
- feat: add --arch filter to artifacts fetch by @javierdelapuente in #96
Full Changelog: v0.0.1-alpha.8...v0.0.1-alpha.9
v0.0.1-alpha.8
What's Changed
- Add detached tmate sessions to publish-artifacts workflow by @javierdelapuente in #111
- fix: tolerate non-zero charmcraft upload exit when revision is present by @javierdelapuente in #112
Full Changelog: v0.0.1-alpha.7...v0.0.1-alpha.8
v0.0.1-alpha.7
What's Changed
- fix: retry rockcraft pack and enable charmcraft experimental extensions by @javierdelapuente in #109
Full Changelog: v0.0.1-alpha.6...v0.0.1-alpha.7
v0.0.1-alpha.6
What's Changed
- chore: add renovate and improve status checks by @javierdelapuente in #98
- feat: add opcli install local and fix snap installs for non-root users by @javierdelapuente in #99
- feat: add charmcraft/rockcraft/snapcraft to opcli install all by @javierdelapuente in #100
- fix: initialise LXD even when snap is pre-installed by @javierdelapuente in #101
- fix: handle broken LXD default profile (storage exists, root disk missing) by @javierdelapuente in #102
- fix: use unique timestamp tag in push-images by @javierdelapuente in #103
- fix: add skopeo to concierge-microk8s.yaml by @javierdelapuente in #106
- fix: verify k8s cluster reachability before deploying registry by @javierdelapuente in #108
- feat: add charmcraft-channel and rockcraft-channel inputs by @alithethird in #104
Full Changelog: v0.0.1-alpha.5...v0.0.1-alpha.6
v0.0.1-alpha.5
What's Changed
- fix: resolve rock output when overwriting pre-existing file in shared pack-dir by @javierdelapuente in #91
- fix: normalise ppc64le → ppc64el in current_arch() by @javierdelapuente in #92
- feat: make build and wait timeouts configurable by @javierdelapuente in #97
Full Changelog: v0.0.1-alpha.4...v0.0.1-alpha.5
v0.0.1-alpha.4
fix: make typer and jinja2 optional via [cli] extra (#90) * fix: make typer and jinja2 optional via [cli] extra The pytest plugin only needs pydantic and ruamel.yaml at runtime. Moving typer>=0.15 and jinja2>=3.1 to the [cli] optional extra allows projects with a conflicting typer pin to install opcli for the pytest plugin alone without a dependency conflict. Changes: - pyproject.toml: move typer + jinja2 to [project.optional-dependencies] cli; add both to [dependency-groups] dev so CI and local dev are unaffected - core/subprocess.py: replace typer.echo() with print(..., file=sys.stderr) so the core module has zero typer imports (not just incidentally typer-free) - app.py: add ImportError guard with a clear install hint when typer is absent - README.md, AGENTS.md: document the [cli] extra and slim install use case Install the full CLI: pip install 'opcli[cli] @ git+...' Install plugin only: pip install 'opcli @ git+...' Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: add [cli] extra to all uv tool install calls All workflow files and spread backend templates were installing bare opcli (without typer), causing 'ModuleNotFoundError: typer' when running any opcli command in CI. Update every uv tool install invocation to use the [cli] extra: - .github/workflows/*.yml (6 files, 11 occurrences) - src/opcli/core/spread.py (local/CI/opcli-minimal templates, 6 occurrences) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
v0.0.1-alpha.3
What's Changed
- feat: add pre-build-rock-script input to build and integration-test workflows by @alithethird in #83
- fix: run charmcraft upload from pack_dir to avoid charmcraft >= 4.x crash by @javierdelapuente in #84
New Contributors
- @alithethird made their first contribution in #83
Full Changelog: v0.0.1-alpha.2...v0.0.1-alpha.3