- Fix: Internal error in
background.wait
introduced in 4.1.2 (#97) - Fix: Website commands such as
:::>> website.visit(...)
now use lazy lookup (like Background tasks since 4.1.2). This allowspre.erb
to be used with these commands (#98)
- Fix: Background task name lookup is now lazy, this fixes a bug when using
:::>- pre.erb background.start(...)
(#95)
- Fix: Visibility forwarding for
pre.erb
was accidentally reversed, this is now fixed. (#93)
- Add: Rundoc command
pre.erb
command used for dynamically templating any command using ERB syntax. (#90)
- Add: Rundoc command
background.stdin_write
to send a string to a backtround process' STDIN. This allows driving REPL interfaces (#79)
:::>- background.start("ruby #{script}",
name: "script",
wait: ">",
timeout: 15
)
:::-- background.stdin_write("hello", name: "script", wait: "hello")
:::-- background.stdin_write("exit", name: "script", wait: "exit")
:::>> background.stop(name: "script")
- Changed: Rundoc command
background.stop
now outputs the log contents on:::>>
. Previously it output nothing (#79) - Changed: Strings passed into
background.wait
and similarwait:
arguments of other background rundoc commands were accidentally being converted into regex, now they are matched as string literals. If you need regexes, please open an issue, they could be supporte but require peg_parser support (#79)
- Fix: Using
rundoc.require
inside of a document that wasrundoc.require
-d now sources files from the correct relative document path (#84) - Fix:
rundoc <file> --with-contents <dir>
now expands the path passed in to the--with-contents
so relative paths can safely be used (#83)
- Fix: Include all code sections in the event of a failure, not just the last one (#71)
- Add:
--with-contents
flag that accepts a directory. The contents of the directory (and not the directory itself) will be copied into the working dir before execution. This is useful for debugging a single rundoc step. (#83)
For example if RUNDOC.md
features many smaller docs:
:::>> rundoc.require "./intro.md"
:::>> rundoc.require "../shared/install_cli.md"
:::>> rundoc.require "./clone_app.md"
If the command fails on clone_app.md
then you can rapidly iterate by calling $ rundoc ./clone_app.md --with-contents failed/my-app
but be careful to not use the same failure directory etc or it will be replaced.
- Fix: Partial output of the document is now written to disk in a
RUNDOC_FAILED.md
file (#69)
- Fix: Save in-progress work in the "failure" directory when the rundoc command is interrupted via a signal such as
SIGTERM
(#67)
- Change: Default directories are now
rundoc_output
(instead ofproject
) andrundoc_failure
(instead oftmp
). - Change: Non-empty directories for success or failure paths will now halt execution unless
--force
is used - Change: The CLI command
rundoc build --path <path>
is nowrundoc <path>
- Change:
rundoc.depend_on
is removed in favor of:::-- rundoc.require
(#58) - Change:
Rundoc.project_root=
is removed, please useRundoc.after_build
instead (#58) - Change: Location of screenshots is now consistent (#57)
- Fix: Bash commands now stream their outputs while they're running (#57)
- Change: Minimum selenium-webdriver is now 4.x. (#41)
- Bugfix: Code blocks without a following newline are now being recognized and executed (#51)
- Change: Ruby 2.7 and 3.0 are no longer supported
- Add:
print.text
andprint.erb
see README for usage details - Add: Output documents include more frequent warnings that the document was autogenerated and should not be modified
- Breaking: Remove repl_runner support.
- Fix
file.write
do not prepend "In file x ..." when the command is hidden i.e.:::-> file.write
- Bugfix: Bash commands that output to stderr and use
||
are now captured (#29)
- Fix pipe support (#28)
- Fix log read race condition (#25)
- Pipe logic is now implemented through a parser (#22)
- Bugfix, background processes error when the log file is not touched before read, not sure why this is possible but here's a fix for it anyway (https://github.com/schneems/rundoc/commit/620ae55d8a5d3d443cf5e8cb77950a841f92900c)
- Allow non-headless browser sessions and navigation #23
- Fix issue where a background task's log file was not present before it was attempted to be opened.
- Allow composability of documents
rundoc.depend_on
andrundoc.require
#19 - The
rundoc
command is nowrundoc.configure
. - Ignore chdir warning since that affect is intentional #20
- Now using a propper PEG parser (parslet)