Releases: getbettr/octotail
v1.0.16
v1.0.15
1.0.15 - 2024-10-29
News
Another test-oriented release, this time adding e2e / integration tests. #7
We use an arch image docker image with a chromium browser installed (along with uv
and other goodies) to dummy commits to a dummy repo, triggering a workflow that echoes a special marker in a loop (for a maximum of 5 minutes), along with its own run ID. Then we boot up octotail
on this workflow run and look for the marker.
Once found, we extract the run ID and cancel it through gh
, causing the octotail
to exit with Conclusion: CANCELLED
.
This gives us a high degree of confidence that all moving parts of octotail
and playing together nicely.
Diff
Changelog
- e2e: allow sudo chown #98dce6d
- wire e2e tests into the build workflow #5fee356
- e2e: revoke sudo rights apart from 'trust' #428ccc2
- chore: add make targets for the e2e docker image #330b354
- test: remove 'env' step #27b0ec7
- test: trigger e2e on push to main #e8c8310
- test: mention the originating commit in the trigger #de79426
- feat: add dockerized e2e tests #34c8594
- simplify remove_consecutive_falsy #7ace585
- use the deque, Luke #8540d62
- ruff: be more explicit about lint ignores #d8e5768
- test: ruff the tests #dd6af6e
- use a marker mixin for messages without data #815e087
v1.0.14
1.0.14 - 2024-10-24
News
No major functionality changes, just a lot of unit test coverage. (#6)
Diff
Changelog
- test: join all the test threads #26bdc31
- test: wire unit tests into build pipeline #27fb3df
- start browsing after the proxy is live #61c6dab
- test: cover browser.py #0f7b138
- test: implement get/get_nowait for MockQueue #5c1357e
- browser: extract cookie jar #6d2f608
- browser: pass in controller target #db2622a
- chore: configure mypy solely through setup.cfg #5515122
- test: cover streamer.py #43a0967
- test: extract mock_queue fixture #572e327
- test: prep for asyncio tests #0d8473d
- test: omit cli entrypoints for coverage #8062708
- test: cover mitm.py #447e1e3
- test: cover manager.py #a1c5ee5
- test: cover git.py #dd38d62
- shuffle badges from host to test #037465c
- test: add codecov badge #47a3ae0
- test: wire pytest + codecov in #ad14948
- test: refactor + unit test loop for gh.py #9ab2f30
- chore: rename sleep_time to retry_delay #cc34e35
- chore: extract perform_io as utility function #2715055
- test: cover fmt.py #4f16467
- test: cover .cli and .utils #b4ef479
- skip test.pypi wheel publish unless on 'ci' branch #72a3597
- add pytest & friends #4344daf
- uv: unpin patches #82e24ca
- strict mypy blast radius #74ad71a
- repurpose pycheck-fix as pycheck-fmt #7710e21
- octotailx can display the version too #596952a
- nits: logging messages #5187eb5
v1.0.13
1.0.13 - 2024-10-19
Diff
Changelog
- release workflow should look for version in init.py #decadb2
- bump test.pypi suffix #af308fb
- test executables in isolation #97278ae
- fix workflow filtering regression #63f1337
- attempt a version command #ad255f7
- store version in init.py #aa0f0e2
- run the entrypoint scripts during tests #9db0795
- depend on full typer instead of slim #8bc8266
- don't pull mypy in when running through uvx #048c914
- rich defaults are weird #534d83d
- install-proxy: exit on fatal conditions #e5c6abb
v1.0.12
1.0.12 - 2024-10-19
Diff
Changelog
v1.0.11
1.0.11 - 2024-10-19
NEW: octotailx install-proxy-remote
If you're using uv
you can now simply run:
uvx --from=octotail octotailx install-proxy-remote
..which will prompt you for setting up a proxy, post-receive-hook-enabled
remote for your repository. Then you can simply git push proxy
and all the
tailing should happen automatically!
Alternatively, if you installed via one of the other methods, the script
should be called with:
octotailx install-proxy-remote
Diff
Changelog
- skip release promotion #e8e0cca
- add readme section about install-proxy-remote #a510d87
- draft the install script #84cd729
- gh: returns-based error handling (#3) #1b294cc
- streamer: improve error handling by using returns (#3) #8aae267
- fmt: special format for error lines #841a42b
- abort if the github watcher gets into serious trouble (#3) #b6c0be5
- abort if one of the websockets gets into serious trouble (#3) #5f519b3
- extract whan we can from mitm using returns (#3) #7688074
- indicate failure to find free port is fatal (#3) #cf24aa2
- import heavy modules only after validating CLI opts #607e4ce
- extract manager actor into new module #78fade5
- extract git-related routines into new module #26543ba
- extract generate-certs into new x.py script #d72ad65
- ruff: don't --fix during pycheck-fix #2ea5d4a
- pylint: reconfigure to allow outside-toplevel imports #e9373f5
- introduce the 'returns' lib for functional-style error handling #72176ce
- octotail-generate-cert should be callable regardless of install method #3bc5b1a
- docs: remove the all-manual install option #4771400
- make: do not depend on poetry when installing #82369c0
- make: configurable PREFIX (defaults to /usr/local) #42c1284
- namespace all environment variables #f52d4bb
v1.0.10
1.0.10 - 2024-10-17
News
No major functionality changes, just a documentation overhaul release + have integrated the ruff linter.
Diff
Changelog
- format the tomls #21a47a8
- update-readme: be more verbal #16986f1
- fix ruff lints #cebda09
- wire ruff in #c3b06ef
- docs: add admonitions #41a45f6
- tweak pypi links and classifiers #be94ff3
- docs: add badges #d2fabc4
- import typing as t everywhere #7f562bd
- documentation overhaul #76fa123
- add pycheck target #60b33d6
- simplify pycheck - will use it for fixing only #ce1cde3
- sync README.md from cli.py #94601df
- add help for "--headless" and "--port" #265a0e9
- allow disabling rich + hide locals from exception reports #49be1ea
- 100 rows 100 cols in update-readme #3e3e579
- monkeypatch rich.Panel with our own style #fd4b43f
v1.0.9
1.0.9 - 2024-10-16
News
Added a documentation section about invoking octotail
through uvx, by far the most ergonomic method.
Diff
Changelog
- document running octotail through uvx #98ea64a
- improve documentation related to certificates #80266c1
- add a small script to pre-generate the mitmproxy certs #fae9cc1
- isolate mitmconfig within ~/.local/share/octotail #5ea2bb7
- does it blend without activating? #1e48831
- bump uv.lock too during 'make bump' #9af04e7
- bump the uv.lock file version manually #71fa6af
v1.0.8
v1.0.7
1.0.7 - 2024-10-15
News
By default octotail
tries to figure out the (user|org, repo_name)
tuple by inspecting the git remotes in the current directory. It cannot disambiguate if multiple remotes point to GitHub. Hence, we introduce the --repo
argument which lets user specify the repository manually using the user/repo
or org/repo
format.
Made various improvements to documentation and added a section describing the install process from pypi.org.
Diff
Changelog
- forgot the readme (again) - should really automate this #4b4ff7e
- validate repo argument #73ca8b9
- introduce repo argument #8d2220e
- limit the usage of 'you' in documentation #d917c73
- use correct symlink location #0cae724
- add pypi.org installation instructions #1ce7109
- run test workflow on feature branches #73cdcda