Skip to content

Releases: ralsina/croupier

Croupier v0.5.0 is out

23 Aug 17:08
Compare
Choose a tag to compare

What's Changed

  • New TaskManager.auto_mode? property
  • Yield on spawn to make concurrency more useful
  • More efficient input handling
  • Fix deadlocking bug in parallel runner
  • Warn or error when tasks are next in line but not ready

Full Changelog: v0.4.1...v0.5.0

Croupier v0.4.1 out

28 Jul 20:24
Compare
Choose a tag to compare

What's new in v0.4.1?

  • Add mergeable flag for tasks (default true)
  • Added TaskManager.depends_on function

Croupier version v0.4.0 is out

21 Jul 18:10
Compare
Choose a tag to compare

What's Changed

  • Support key/value in addition to files as input/output
  • Implement a persistent k/v store
  • Implement fast_mode
  • auto mode with kv

Full Changelog: v0.3.4...v0.4.0

Croupier version v0.3.4 is out

04 Jul 18:05
7198f55
Compare
Choose a tag to compare

What's new?

  • Fixed bug saving .croupier, was missing all inputs
  • Added tests for TaskManager.save_run
  • Fixed bug in inotify watcher path lookup
  • Fixed bug where auto_run would only run tasks once (found in Hacé)

Croupier version v0.3.3 is out

03 Jul 17:26
81a06eb
Compare
Choose a tag to compare

What's Changed

  • Implemented keep_going flag for run_tasks
  • Added tests for exception raising behaviour in tasks

Full Changelog: v0.3.2...v0.3.3

Croupier version v0.3.2 is out

02 Jul 23:45
9a06d11
Compare
Choose a tag to compare

What's Changed

  • Implement run_auto for selected targets, see #2
  • Several bugfixes for run_auto
  • Simplified and more efficient file watcher

Full Changelog: v0.3.1...v0.3.2

Croupier version v0.3.1 is out

30 Jun 22:59
Compare
Choose a tag to compare

What's Changed

  • Inotify support by @ralsina in #1

    This adds the TaskManager.auto_run method that monitors task inputs and
    reruns tasks as needed, and TaskManager.auto_stop to stop it.

    This will be useful for Hacé (the croupier-based make-like) and Nicolino
    (a SSG)

    Here's an example from the tests:

    x = 0
    counter = TaskProc.new { x += 1; x.to_s }
    Task.new(output: "t1", inputs: ["i"], proc: counter)
    TaskManager.auto_run
    # We need to yield or else the watch callbacks never run
    Fiber.yield
    File.open("i", "w") << "foo"
    Fiber.yield
    TaskManager.auto_stop
    # It should have run
    (x > 0).should be_true

Full Changelog: v0.3.0...v0.3.1

Croupier version v0.3.0 is out

27 Jun 23:04
Compare
Choose a tag to compare
  • Removed name parameter
  • Made autogenerated Task.@id shorter
  • Implemented more complex task merging strategy (see
    "complex merge" in the spec)

Croupier version v0.2.3 is out

23 Jun 22:46
Compare
Choose a tag to compare
  • Made TaskManager.all_inputs more efficient
  • Call TaskManager.sorted_tas_graph less and made it faster
  • Make @id generation simpler

Full Changelog: v0.2.2...v0.2.3

Croupier version v0.2.2 is out

22 Jun 16:49
Compare
Choose a tag to compare
  • Tasks without inputs should be treated like always_run tasks
    (found via bug in Hacé)
  • Tasks without inputs and multiple outputs should not run twice
    (found via bug in Hacé)
  • Made TaskManager an instance of a struct, and lost all the
    class variables, simplifying code.
  • Removed some small methods from TaskManager.