This commit adds an install target in the Makefile to install
Pominal on the user's system. The default installation path is
/usr/local/bin but this can be configured by overriding the
INSTALL_PREFIX variable.
Changes include:
- cleaning up .gitignore
- adding workflow to .gitlab-ci.yml
- bumping Go version in .gitlab-ci.yml
- excluding main.go for gochecknoglobals
- adding copyright notice in Makefile
- adding install and uninstall targets in Makefile
- adding installation instructions in the README
- adding a config.mk file for make arguments
- updating Pominal to specify where the icon is installed
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.
This commit removes the need to calculate the time remaining in a
session and instead introduces a countdown counter which decrements at
each one second 'tick'. This stabilizes the interface where it appeared
that he timer was randomly pausing or skipping time.
A summary of changes made in this commit includes:
- Updated the command line flags so that they are easier to remember.
- The work, short break and long break session times are now parsed and
converted to type float64. These times represent the total amount of
seconds.
- Removal of timer and finish from Pominal.
- The method that calculates the time remaining is removed.
- A countdown counter is added to the Pominal type.
- Updated alert message for the desktop notification.
- Simplified the Run method by moving the logic to chosse the next session
in a separate method.
- 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