Releases: murex/TCR
v0.14.1
v0.14.0
Summary
- Make the TCR print some test information from the build output
- The new CSV file should include the number of tests (ran, passed, failed, skipped, with errors)
- Increase test-coverage through adding new test cases
Changelog
- 8e15560 #33: Change Regex to make the newline work on Windows and Unix - Refactor the test tcr_test to have 2 functions initTcrEngineWithFakes
- aac20ff #33: Refactoring - Command.Run - Use the named parameters to return the values of the function
- 7645f99 #33: Refactoring - Move TestResults to ToolChain - Moved the TestResults from the events package to toolchain package - Made the function Toolchain.RunTests return a pair of TestResults and Error
- 223b15f #33: Refactoring - rename of methods and variables - rename the TestsRan to TestRun - Rename TestRunInformation to TestResults
- 359f605 #33: Store the Tests stats in the CSV file - Add 3 new fields to the TcrEvent(TestsFailed,TestsPassed, TestsSkipped, TestsWithErrors) - Add new functions to the TcrEventTestDataBuilder to set the values of the new fields
- f1e6d97 #33: Store the Tests stats in the CSV file - Add all of the new fields of the TCR Event
- a90c179 #33: Store the Tests stats in the CSV file - Change the regex to make it catch the last test report line, when there are many modules built in maven - Adapt the test accordingly
- 5fc3663 #33: Store the Tests stats in the CSV file - Create a new TestRunInfo class that contains information of the mvn build - Implement a TestRunParser class that converts an mvn build output into a TestRunInformation class
- 3ea9f62 #33: Store the Tests stats in the CSV file - Fix a bug that was preventing the TestRun output from being returned - Make the method tcr.logEvent take an instance of the TestRunInformation - Add the TestRunInformation details to the TcrEvent in the repository - Make Tcr.test return the testoutput returned from toolchain.RunTests - make the function tcrTest.registerFakeToolchain take the testOutput as parameter -
- 10ed7b3 #33: Store the Tests stats in the CSV file - Made the function Command.run return a pair of string and error - made toolChain.RunBuild and toolChain.RunTests ignore the output of hte run command for now
- a0684f7 #33: Store the Tests stats in the CSV file - Made the function TCR.test return a pair of string and error - Adapt the parametrized tests in tcr_test
- 0ad27db #33: Store the Tests stats in the CSV file - Made the function ToolChain.RunTests return a couple - For now, the string returned is ignored
- 6f3700e #33: Store the Tests stats in the CSV file - Rename the TcrEvent.AddedTestCases to TcrEvent.TotalTestsRan
- 09a57dd #33: Store the Tests stats in the CSV file - Reorder the TestsPassed and TestsFailed fields in the TcrEvent Struct
- 516196d Add test cases for GitImpl commit and restore functions
- 9558c83 Add test cases for GitImpl push and pull functions
- 6bb8574 Add test cases for toolchain commands handling
- b0c36cf Add tests with in-memory filesystem on language package
- f609969 Bump github.com/fsnotify/fsnotify from 1.5.2 to 1.5.4
- 0abbfc6 Refactor TCR engine tests
- fe509d4 Refactor and improve test coverage for toolchain.command
- 810dc48 Replace git.ListChanges() with git.Diff()
- 085b8c3 Use github.run_number for setting sonar.projectVersion
v0.13.0
Summary
- Add support for C# language
- Add logging of TCR events
- Increase test coverage
- Update 3rd-party dependencies
Changelog
- 112970b - Add a function and respective tests that converts a CSV record to an event instance
- 14ce501 - Create a status type as enum for the Build and Tests - Change the code to use the Status enum instead of boolean
- c68ff66 - Extract the function 'openEventLogFile' that opens the event log file - Create the function config.DirPathGetter that can be overridden when used in the test package - Merge the code of functions AppendEventToLogFile2 and AppendEventToLogFile
- 4ff92b0 - Fix a bug in a test
- 7ef4240 - Implement the function ReadEventLogFile - Trim the values read from the csv file - Increase the coverage of the reading the tcr events from a CSV file - Split the test of reading and adding events to the file repository
- 25df43d - Make CSV_OPERATIONS.openEventLogFile return an error - Print the error message in function AppendEventToLogFile
- c18d4b8 - Make the Test_gets_a_single_event_from_file_repository save a string event to a file then parse it as a TCR event - Clean up some redundant variables
- 5e48adf - Move the \n at the beginning of the toTcrEvent -
- 0da270e - Remove an undeeded test
- b298b83 Add .csx as possible extension for C# files
- 851dae0 Add SonarCloud configuration and GitHub action
- 85e5c70 Add TCR engine interface
- 0359184 Add TCR event generation in RunTCRCycle function
- e63c279 Add TCR version to sonar configuration
- c661ff5 Add TCR wrapper stuff
- dd9fdc1 Add TODOs to metrics_test
- 48678bc Add TODOs to metrics_test
- 583019f Add TcrMetric test data builder
- 0aa2a8e Add a 1-second timer before starting file-watcher
- baeb1c8 Add a TCR engine test fake
- 0c95065 Add command and toolchain config show tests
- 0b08cc3 Add compute time in green/red ratio
- 14ea2c8 Add compute time in green/red ratio
- 384c7ab Add computing of number of changed src and test lines
- a8f9467 Add first test cases to save TCR events in CSV format
- 1fa9dbd Add git diff implementation
- c114d07 Add more test cases on TCR engine
- cd4b851 Add more tests on language registration
- 3192ac9 Add more tests on toolchain registration
- 2de5eb3 Add possibility to mute desktop notifications
- bb36804 Add possibility to reset the reporting channel
- 7d436d1 Add possibility to run tests without actual desktop notifications
- a2af6da Add possibility to turn off calls to stty command
- 797fe5e Add sending of coverage data to coveralls.io
- 912c624 Add some exception test cases
- 9150989 Add some exception test cases
- 5f24df0 Add sonarcloud quality gate and coveralls.io tags
- 82c464f Add test case for show TCR config with default values
- b91d1d9 Add test case for tcr.runAsRole methods
- a33a7f5 Add test cases for all TCR event fields writing to CSV
- 835a273 Add test cases to config package
- a602fb2 Add test on tracing methods in tcr-cli/cli package
- c4be0c0 Add tests for build_info
- 8c95424 Add tests for loading and saving configuration files
- 08ecaca Add tests for tcr-cli/desktop package
- 941f2c7 Add tests on language package
- dd69f2d Add tests on several trace functions
- 107a897 Add tests on terminal_ui driver and navigator menu functions
- fcaeb21 Add tests on terminal_ui main menu function
- 1f56909 Bump actions/checkout from 2 to 3
- 471a586 Bump actions/setup-go from 2 to 3
- 88916c5 Bump actions/setup-java from 2 to 3
- f480c47 Bump fyne.io/fyne/v2 from 2.1.2 to 2.1.3 in /tcr-gui
- 8ddb394 Bump fyne.io/fyne/v2 from 2.1.3 to 2.1.4 in /tcr-gui
- ad6c725 Bump github.com/fsnotify/fsnotify from 1.5.1 to 1.5.2 in /tcr-engine
- cfe2314 Bump github.com/spf13/cobra from 1.3.0 to 1.4.0 in /tcr-cli
- b22a47e Bump github.com/spf13/cobra from 1.3.0 to 1.4.0 in /tcr-doc
- cb68d9a Bump github.com/spf13/cobra from 1.3.0 to 1.4.0 in /tcr-engine
- 6589649 Bump github.com/spf13/cobra from 1.3.0 to 1.4.0 in /tcr-gui
- 8ca37ca Bump github.com/spf13/viper from 1.10.1 to 1.11.0 in /tcr-engine
- b5e6c89 Bump github.com/stretchr/testify from 1.7.0 to 1.7.1
- 461dbc2 Bump golangci/golangci-lint-action from 2 to 3
- 34f64f3 Create metrics package
- 8bcf158 Disable shallow clone in go build for sonar cloud
- 9073614 Disable test failing due to git access failure on CI
- 3b4e5fb Do not ignore error on Chdir in toolchain tests
- 6f493f9 Encapsulate TCR engine into a class
- a986fe7 Filter out test helper files from coverage reports
- 2f7d64a Fix Makefiles for vet target
- 3075f9a Fix compilation on UX targets after refactoring
- 4fe936d Fix incorrect merge following rebase
- ced6227 Fix regression on return status in case of build error
- e0d25f3 Fix syntax error in go.yml
- b4d8401 Fix terminal tests interdependency and add more messaging test cases
- 1e8a282 Fix wording in README.md
- aa8854e Force Timestamp to snapshotTime in TcrEvent test data builder
- d1e1006 Implement config show for toolchains and languages
- dd7d2ef Improve test coverage on tcr-gengine/timer package
- fab77bb Include handling of sonarcloud coverage in main GitHub action
- d3a765b Integrate saving of TCR events into a file
- 32ac271 Introduce constant for duplicated text
- dded247 Introduct constants to remove duplicate text
- 0d73f65 Merge pull request #38 from murex/dependabot/github_actions/golangci/golangci-lint-action-3
- 34085b5 Merge pull request #40 from murex/dependabot/github_actions/actions/checkout-3
- f1ce813 Minor renamings and refactorings on event logging
- f592c56 Mob timer creation function returns an instance only when the run mode needs one
- 68dfc66 Move TCR events related stuff to a separate package
- 3bff503 Optimize go test toolchain
- a97faf3 Put back TCR version to 0.12.0 in sonar settings
- f5f6d9e Refactor print tests, removing redundancies
- fb23d93 Refactor terminal related parts
- 92f47d9 Refactor tests for terminal confirmation behaviour
- 5cea6fc Rename sniffer.go to reporter_test_util.go to exclude it from production build
- f05fb87 Replace strings.Title() following deprecation in Go 1.18
- b1e9367 Run go mod tidy
- 97d8b39 Run go mod tidy
- 73aaaa8 Run go mod tidy on all modules
- bbb0d85 Set TCR version to 0.13.0 in go.yml
- a09371d Trigger go build on push on any branch
- d1cf551 Tune TCR wrapper script and settings
- 7579273 Tune go test coverage settings in Makefiles
- 5138951 Turn off build and test for tcr-gui in GitHub action
- bde2002 Update contributor list in README.md
- 854d57b Update go module dependencies
- 6b7b3c3 Update go-capturer dependency
- 180cf65 Upgrade golangci-lint version to 1.45
- 0deae68 Use richgo for running tests with colored trace
- a8f0439 Write a test using Afero to test in memory file system
- 7ab8129 [#36] Add support for C# language
- ff7f0d4 [#52] Log TCR events
v0.12.0
Summary
- Add
tcr check
subcommand - Add
--work-dir
parameter allowing to tell TCR from where it should run build and test commands
Changelog
v0.11.0
Summary
- Improve TCR's revert phase management and messages
- Add
tcr one-shot
for running one single TCR cycle - Built-in toolchains: add
make
, removecmake-local
- Built-in languages:
cpp
now accepts extensions .cxx and .hxx
Changelog
- 5f4949f Add build target to tcr-engine Makefile
- c699059 Move language registration parts to a separate file
- 45282c5 Move toolchain registration parts to a separate file
- 622eb93 Stop reporting on git command execution when there is nothing to report
- 2b1e012 Update cobra-generated doc
- 6a1acad [#13] Improve revert handling (now based on git diff outcome)
- 6a61283 [#24] Add make built-in toolchain
- 2f2b5b5 [#25] Remove cmake-local from built-in toolchains
- a79d4d4 [#26] Add a note about TCR and git commits signing
- 823e03a [#27] Fix restoring terminal settings when running in solo mode
- 9a20c91 [#28] Add one-shot subcommand for running 1 single TCR cycle then exit
- c6083f2 [#30] Fix crash when language parameter value does not exist
- 80fc9b7 [#31] Add .cxx and .hxx to cpp language recognized file extensions
v0.10.0
Summary
- Add Go as a TCR built-in language
- Turn off GPG passphrase request on git commits
- Enhance language src and test files matching
- Add explanations in README.md on how to work with TCR configuration and how to add new languages and toolchains
Changelog
- 99f3b16 Add built-in toolchain go-tools
- d64d379 Add cmake-local as a compatible C++ toolchain
- 392482c Add go as a built-in language
- b5a5bdf Add test data builder for FilePathMatcher
- f932508 Add test data structure for go language
- 3f341f5 Add verification that a language file is in the expected directory
- d871a13 Enhance error handling on source files retrieval
- 8dae9da Fix test failures on windows in case of empty path
- 5f5f061 Indicate that base directory default is the current directory
- eba2588 Inline C++ language initialization function
- 100b781 Move File Tree Filter specific functions to dedicated file
- 05ff3bf Refactor Files struct into FileTreeFilter
- 2ef233c Refactor language src and test files matching
- 38422e9 Refactor language tests to simplify file path tests for each language
- 2233228 Remove trace message
- 4451ef9 Rename FileFilters to FilePatterns and add more test cases
- bd6da09 Revert source files individually instead of reverting source directories
- f3e6e96 Rework README.md to include configurable language and toolchain
- 8187722 Turn off GPG passphrase request on git commits
v0.9.0
Summary
- Add possibility to save command line parameters in configuration
- Add possibility to add custom languages
- Add possibility to add custom toolchains
- Revamp built-in toolchains (adding of maven-wrapper, gradle-wrapper and cmake-local)
Changelog
- 799e843 Add 1 dependabot check for each Go module
- eb67b7d Add GUI app Id
- 847643a Add OsName and OsArch to toolchain commands
- 388d765 Add TODO for use of variables in yaml config files
- 3cb2c68 Add cmake toolchain (using cmake and ctest from path)
- 1d77673 Add cmake toolchain support for i386 and arm64 + command refactoring
- 30defd3 Add command tests and improve toolchain package encapsulation
- 84e2830 Add config subcommand
- cc91714 Add dependabot check for tcr-doc module
- 855f515 Add git auto-push to list of persistent parameters
- d8c3903 Add gradle-wrapper toolchain
- db016d0 Add implementation for "config reset" subcommand
- fd7e9fe Add implementation for "tcr config show" command
- ae62376 Add implementation for commands config save and config show
- f471ea1 Add language configuration
- 31708ca Add maven-wrapper toolchain
- a2efd4b Add possibility to set language though a command line parameter
- 8c9ed8b Add saving of toolchain configurations
- 8a9ebc7 Add test data builder for command type
- 0d84e65 Add test data builder for toolchain type
- 1963a7c Add test on supported platforms for gradle and maven toolchains
- e30b3cf Add toolchain reset implementation
- 117085a Add wiring for toolchain reset command
- da95efc Bump fyne.io/fyne/v2 from 2.1.0 to 2.1.1 in /tcr-gui
- 05d66c0 Bump fyne.io/fyne/v2 from 2.1.1 to 2.1.2 in /tcr-gui
- 3fa301a Bump github.com/spf13/viper from 1.8.1 to 1.9.0 in /tcr-cli
- 58f1f42 Bump github.com/spf13/viper from 1.8.1 to 1.9.0 in /tcr-gui
- 0616360 Bump github.com/spf13/viper from 1.9.0 to 1.10.0 in /tcr-cli
- 08b0f28 Bump github.com/spf13/viper from 1.9.0 to 1.10.0 in /tcr-gui
- f05f5f8 Continue to work on persistable parameters
- e4b8d6b Create CODE_OF_CONDUCT.md
- 7e51fe1 Create pull_request_template.md
- 6d372ee Explicitly ignore 2 lint warnings
- 4f92836 Fill in Build and Release sections in README
- 7c6fb75 First experiment using viper to save configuration flags
- 6c45324 Fix backslash to slash path conversion on UNIX platforms
- 05ce9b9 Fix backslash to slash path conversion on UNIX platforms (2)
- 4539bd6 Fix import on unix-specific test file
- 250ec80 Fix linter warnings
- 4b22b6e Fix minor typos in comments
- 7fd564b Fix nolint syntax for ignoring false positives
- 7e8b14a Implement loading from toolchain configuration files
- c8b21ff Improve toolchain initialisation and tests
- 08d8a2f Invert dependency between language and toolchain packages
- e7589b4 Make toolchain and language Names() functions return sorted values
- 2a04882 Merge pull request #1 from murex/dependabot/go_modules/tcr-gui/fyne.io/fyne/v2-2.1.1
- f582992 Merge pull request #16 from murex/dependabot/go_modules/tcr-cli/github.com/spf13/viper-1.10.0
- b4da752 Merge pull request #17 from murex/dependabot/go_modules/tcr-gui/github.com/spf13/viper-1.10.0
- cd6fae5 Merge pull request #2 from murex/dependabot/go_modules/tcr-cli/github.com/spf13/viper-1.9.0
- 814dc35 Merge pull request #3 from murex/dependabot/go_modules/tcr-gui/github.com/spf13/viper-1.9.0
- 8ee0f0b Merge pull request #4 from murex/dependabot/go_modules/tcr-gui/fyne.io/fyne/v2-2.1.2
- e5825aa Merge pull request #5 from murex/add-code-of-conduct-1
- b1a4071 Merge settings package into config package
- 418d87c Minor updates to toolchain package
- a6a0ff3 Move default value from defaults.go to param settings
- 3a2faf8 Move pull request template back into .github directory
- ebb4f1f Move pull request template to dedicated directory
- c85e6d9 Refactor config and settings packages
- fd9ebe7 Refactor toolchain management
- 94c654b Refactor toolchain package in preparation for custom toolchains configuration
- d72113e Refactor toolchain tests for cmake
- 4803e73 Refactor toolchain tests for gradle and maven
- 3c771aa Refactor toolchain, preparing for different ways to set command path
- c1fb0e7 Remove "save config" flag (replaced by a command)
- c5a7a35 Remove code of conduct and other organization-related files
- 144d8ae Remove toolchain and language name param from config files
- 85f27da Rename a few attributes and functions in toolchain package
- e86cf3b Rename golangci_lint action
- 3e7522e Rename old cmake toolchain to cmake-local
- c48c3a9 Reorganize slightly Build and Release sections in README
- 2c0fb8c Replace --info flag with subcommand "tcr info"
- 28f43cb Replace configuration file parameter with configuration directory
- d66bdcc Replace src files matching on extensions with regex patterns
- 8de8879 Run go mod tidy
- d487897 Run go mod tidy
- 6fe5eef Run go mod tidy
- 005a1be Set explicitely default base directory values for CLI and GUI
- afd7a75 Start creating parameter interfaces
- e769787 Strenghthen retrieval of toolchain's commands with relative path
- 5f56cab Tune dependabot
- acf12e1 Update cobra generate documentation
- 672a0b9 Update cobra-generated documentation
- d31ee4e Update configuration handling traces
- 8f9e647 Update issue templates
- d34e1a8 Update module dependencies
- 03ffa02 Upgrade cobra to 1.3.0
- c30e90c Upgrade cobra to 1.3.0
- 3066148 Upgrade viper to 1.10.0
- fc7a52d Upgrade viper to 1.10.1
- c661d1a Upgrade viper to 1.10.1
v0.8.0
Summary
- Add '?' shortcut in TCR CLI to list available options
- Add 'T' shortcut to TCR CLI driver role for querying timer status
- Add menu bar entries in TCR GUI to query build info and timer status
Changelog
01847a8 Add "Timer" menu
9ee62f9 Add '?' shortcut to main menu and refactor listing of options
3f15076 Add '?' shortcut to running sub-menus and refactor listing of options
dc49455 Add GUI main menu with first submenu for showing build info
06fe4f5 Add an interface method for a role to tell if it runs with a timer
d942c9c Add an option for the driver to check the timer status at any moment
e902c04 Add basic display of build info into "About" window
08b97af Add doc to the default build in parent Makefile
50abfc3 Add method returning build info in a map
106f02b Disable doc auto-generated tag
eda5974 Fix Go module paths
5a396bc Fix formatting
a3d7170 Keep track of current role in TCR engine + timer status query from GUI
fe74e05 Minor trace update on mob timer
a815407 Rename events to notifications in reporting
08ac1ed Replace build info map with a table
v0.7.0
Summary
- TCR timer now displays desktop notifications on each reminder in addition to a message in trace
- TCR is now available for OS architectures
386
andarm64
(in addition toamd64
) - New command line flag
--info
or-i
allowing to retrieve build information from a TCR executable - Fix enabling/disabling or possible actions in TCR GUI when running in driver or navigator mode
Changelog
e4530f1 Add 386 and arm64 architectures to goreleaser settings
07c0537 Add Murex Copyright header to notification packaage source files
149f19c Add TODO comment about revert message improvement
a4543f4 Add desktop notifications to TCR-CLI
48b5f03 Add desktop notifications to TCR-GUI
30d8686 Change repository name to TCR uppercase in README.md
e4ec9f9 Disable session panel actions when driver or navigator modes are running in tcr-gui
c068af0 Double test timeout values on timer
d0d1064 Experiment with beeep package notification
c15ad82 Extract application name constant into settings package
2634558 Fix go build in Makefiles for compatibility with Windows
3f75b96 Insert build information into generated binaries at build time
333d370 Make --info option persistent so that it's inherited by subcommands
5c1522d Refactor ldflags setting in .goreleaser for symmetry with Makefies
a9a5d07 Set explicitely project name in goreleaser settings
8d10eed Set version to 0.6.2
f8253d5 Update generated documentation
795f404 Update module dependencies
v0.6.1
Changelog
c53873e Add CONTRIBUTING.md
c897e77 Add Murex Copyright header to source files
feb5997 Add a new section for building TCR locally
6e459c8 Ignore VSCode generated stuff
5b7da3c Ignore local builds
fb2d0ac Rename LICENSE to LICENSE.md
c411314 Rewrite README.md contents
bf09e3b Set version to 0.6.1
b4406e6 Update build.gradle to include failed tests trace
07169d3 Update license file