Skip to content

v0.9.1-historical

Choose a tag to compare

@BrenKenna BrenKenna released this 15 Sep 20:15
· 183 commits to main since this release

Aggregates the buggey but relevant landmark historical commits coming from observations of using TaskTide in different production settings

3f0b538 covers the first Bioinformatic workflow use-case. Where MVP was simply registering tasks via ItemStore into SQLiteDB, Workflow/Step definitions at this point, while present were not as heavily used. As a clear processing a list of WorkItem collections was preference here. Use-case while successful allowed to see areas where user-facing operations are weak, as well as what sort of wrangling goes into using. So the measurable components are move qualitative as getting a grasp on usability was priority. Use-case lead to massive development bringing in the Manager-CQRS interface, laid foundation for ItemStore-Semaphore noting utility in ItemStore session, as well noting that there is a neater implementation route that the engine can take.

e51273c after replicating the Bioinformatic workflow use-case, this covers the task-binding semantics and taking some of the low hanging fruit notes of the engine. Production use noticed that the original FileChannelLock was not sufficient to ensure thread safety for file share on HPC. This is because the NFS does not hold the FileChannelLock as originally thought. Instead the FileChannelLock is owned by the node that job is running on. So this commit verified that some form of de-centralized database locking algorithm or a side car process would be needed. Preference was highly against side car job, because of the effort it places on user. So a decentralized leader election workflow was designed, in addition to noting that each read/write requires a mutex. Looked at the notion of creating sessions through which an operation on a TaskTide database could be taken, and various forms here like a set of operations, over a map of databases. In addition to separate elements such as TestContainers framework for unit-testing.

239a7c2 commit brought semaphore MVP to TaskTide. Noting that the contributions since this version and now were, Engine Refactoring (Engine Worker, Traverser etc), WebAPI, Formalizing the Test Taxonomy for CI, Maven publication, tasktide.org community and https://use-cases.tasktide.org/ registry etc

Release variables
REPO="https://github.com/BrenKenna/TaskTide.git"
COMMIT="239a7c2bf04ff0a0907b6bd3ad649aa9649f62d6 e51273c 3f0b538"
DATE="26/02/19 25/10/24 25/08/18"
VERSION="v0.9.1"
CI_WORKFLOW=https://github.com/BrenKenna/TaskTide/actions/runs/34994163358

Please Note
Given CI ignore the source code for this version, instead use the zip or maven artifacts.
Tightening of future versions to a docker hub, and maven central artifcact come v0.9.2+
v0.9.1 is a historical release. Bascially takes an old version of TaskTide that did work, but had some issues. This release version takes a snapshot under current CI framework, but notes how later commits had resolved some of the bugs. So it's a way to acknowledge development effort.
Where v0.9.2 puts versioning back ontrack and future focused. Where it applies and resolves dependabot versioning increments and debugs any trailing dockerHub publishing and maven publishing.
v0.9.3 applies and resolves CodeQL security flag possible one at a time
v0.9.4 takes the other security flags from DH but these all seem to be from having used temurin and not strictly TaskTide it seems.
v1.0.0 completes these trailing aspects under CI framework & formailzed test taxonomy