This commit adds a feature to load Pominal
configuration from a JSON configuration file.
A new data type called PominalConfig was created for
the purpose of configuring Pominal.
A new factory function called newPominalConfig was
created which takes the path to the JSON configuration
file and the flag overrides and generates the new
PominalConfig value.
Here, the JSON config is parsed to create the initial
configuration and any flag overrides can override
the corresponding fields in the PominalConfig object.
Currently only the sessions times and the maximum work
sessions per Pominal cycle have flag overrides.
Additionally users can now configure custom notification
messages for each session type from the configuration file.
There are currently no flag overrides for these.
This commit resolvesdananglin/Pominal#1
JUnit reports are useful for merge requests
so it is generate only from commits to branches
other than master.
This solves the issue where the code coverage was missing
from the badge and no testing logs are shown in the console
output.
Also fixed (hopefully) is the deployment of the coverage
report to my GitLab pages site.
* replace the table driven test with sub tests.
* create and publish code coverage reports via GitLab pages.
* use JUnit to view test results in the test tab in the pipeline view.
* upgrade Go to version 1.13.6.
- security: updated Golang version to 1.12.8 for CI builds
- added: configuration for build and release automation using GoReleaser
(https://goreleaser.com)
- (Releases will be semi-automatic for now due to the need of the access
token. When/if project specific access token is supported then I'll
complete the release stage of the pipeline.)
- added: version.go for printing out the versions