mirror of
https://github.com/on4kjm/FLEcli.git
synced 2025-01-18 04:51:10 +01:00
Enable makefile as a multi-purpose tool
This commit is contained in:
parent
b9d7f5a013
commit
74eb19720c
10 changed files with 59 additions and 60 deletions
9
.github/workflows/ci.yml
vendored
9
.github/workflows/ci.yml
vendored
|
@ -24,8 +24,10 @@ jobs:
|
|||
|
||||
- name: Lint Go Code
|
||||
run: |
|
||||
go get -u golang.org/x/lint/golint
|
||||
golint -set_exit_status ./...
|
||||
make lint
|
||||
- name: Vet Go Code
|
||||
run: |
|
||||
make vet
|
||||
|
||||
test:
|
||||
name: Test
|
||||
|
@ -41,8 +43,7 @@ jobs:
|
|||
|
||||
- name: Run Unit tests.
|
||||
run: |
|
||||
go test -short -coverprofile cover.out -covermode=atomic ./...
|
||||
cat cover.out >> coverage.txt
|
||||
make test-coverage
|
||||
|
||||
- name: Upload Coverage report to CodeCov
|
||||
uses: codecov/codecov-action@v1.0.0
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -14,6 +14,7 @@ notes/help.txt
|
|||
|
||||
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||
*.out
|
||||
coverage.txt
|
||||
|
||||
# Dependency directories (remove the comment below to include it)
|
||||
# vendor/
|
||||
|
|
39
Makefile
Normal file
39
Makefile
Normal file
|
@ -0,0 +1,39 @@
|
|||
# PROJECT_NAME := "github-actions-demo-go"
|
||||
# PKG := "github.com/brpaz/$(PROJECT_NAME)"
|
||||
# PKG_LIST := $(shell go list ${PKG}/... | grep -v /vendor/)
|
||||
# GO_FILES := $(shell find . -name '*.go' | grep -v /vendor/ | grep -v _test.go)
|
||||
|
||||
## GITHUB_ACTIONS is set when running as a Github Action
|
||||
|
||||
.PHONY: all lint vet test test-coverage build clean
|
||||
|
||||
all: build
|
||||
|
||||
dep: ## Get the dependencies
|
||||
@go mod download
|
||||
|
||||
lint: ## Lint Golang files
|
||||
@go get -u golang.org/x/lint/golint
|
||||
@golint -set_exit_status ./...
|
||||
|
||||
vet: ## Run go vet
|
||||
@go vet ./...
|
||||
|
||||
test: ## Run unit tests
|
||||
@go test ./...
|
||||
|
||||
test-coverage: ## Run tests with coverage
|
||||
@go test -short -coverprofile cover.out -covermode=atomic ./...
|
||||
@cat cover.out >> coverage.txt
|
||||
|
||||
build: ## Build the binary file
|
||||
@goreleaser --snapshot --skip-publish --rm-dist
|
||||
@cp dist/FLEcli_darwin_amd64/FLEcli .
|
||||
|
||||
clean: ## Remove previous build
|
||||
@rm -f ./FLEcli
|
||||
@rm -f ./cover.out
|
||||
@rm -f ./coverage.txt
|
||||
|
||||
help: ## Display this help screen
|
||||
@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
|
@ -64,8 +64,8 @@ To generate a WWFF-ready ADIF file:
|
|||
```
|
||||
./FLEcli adif -i --wwff ON4KJM@ONFF-025920200524.txt
|
||||
```
|
||||
The `--wwff` indicates the adif flavour to produce.
|
||||
You can use the `--sota` switch to generate an ADIF file containing SOTA details.
|
||||
The `--wwff` (or `-w` in the short form) indicates the adif flavour to produce.
|
||||
You can also use the `--sota` switch to generate an ADIF file containing SOTA details.
|
||||
The switch can be used together with `--wwff`
|
||||
|
||||
As we didn't provide an output filename, the default output, `ON4KJM@ONFF-025920200524.adi` will be used.
|
||||
|
|
11
build.sh
11
build.sh
|
@ -1,11 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
go test ./...
|
||||
|
||||
commitRef=$(git rev-parse HEAD)
|
||||
tag=$(git describe --tags)
|
||||
version="${tag}_(PrivateBuild)"
|
||||
buildDate=$(date -u +"%FT%TZ")
|
||||
go build -ldflags="-s -w -X=FLEcli/flecmd.version=${version} -X=FLEcli/flecmd.commit=${commitRef} -X=FLEcli/flecmd.date=${buildDate} -X=FLEcli/flecmd.builtBy=${USER}"
|
|
@ -1,14 +1,14 @@
|
|||
# What's new?
|
||||
|
||||
## V0.1.1
|
||||
* improved test coverage
|
||||
* improved build automation
|
||||
* improved release notes publication
|
||||
## v0.1.1
|
||||
* Improved test coverage
|
||||
* Improved build automation
|
||||
* Improved release notes publication
|
||||
|
||||
## Previous releases
|
||||
|
||||
### V0.1.0
|
||||
### v0.1.0
|
||||
* First public MVP (Minimal Viable Product relase). Supports only SOTA and WWFF type log files. Some header keywords are missing as well as date increments.
|
||||
|
||||
### V0.0.0
|
||||
### v0.0.0
|
||||
* Initial release
|
||||
|
|
|
@ -2,4 +2,9 @@
|
|||
|
||||
* `goreleaser --snapshot --skip-publish --rm-dist`
|
||||
* `dist/FLEcli_darwin_amd64/FLEcli`
|
||||
* `docker build -f docker/Dockerfile -t test/test dist/FLEcli_linux_arm64`
|
||||
* `docker build -f docker/Dockerfile -t test/test dist/FLEcli_linux_arm64`
|
||||
|
||||
## to push a release
|
||||
|
||||
* on the master branch `git tag v0.1.1`
|
||||
* `git push --tag`
|
36
todo.md
36
todo.md
|
@ -1,36 +0,0 @@
|
|||
# TODO
|
||||
|
||||
## Input protocol
|
||||
* [ ] document the FLE input format
|
||||
|
||||
## Test & Build framework
|
||||
* [ ] Perform the test of the complete app
|
||||
* [-] Implement MacOS codesigning (issue #9)
|
||||
* [x] Add quality badges to main page
|
||||
* [x] Make a more reasonable/richer version display (issue #10)
|
||||
* [x] Create standalone documentation, separate from README (issue #13)
|
||||
* [x] Re-visit the release notes (far too verbose)
|
||||
* [x] Implement and track code coverage
|
||||
|
||||
|
||||
|
||||
## Input processing
|
||||
* [ ] New MYGRID keyword
|
||||
* [ ] Support different date delimiter
|
||||
* [ ] Support extrapolated date
|
||||
* [ ] Support date not prefixed by "date" (non header mode) DATE keyword is now optional
|
||||
* [ ] Support date increment ("date +" and "date ++")
|
||||
* [ ] Support WWFF keyword
|
||||
* [x] Validate that we have the necessary data for the output
|
||||
* [ ] Support the contest related fields
|
||||
|
||||
## Output processing
|
||||
* [ ] Implement CABRILLO output
|
||||
|
||||
|
||||
## Later
|
||||
* [ ] Process contest reports
|
||||
* [ ] Infer digital mode report
|
||||
* [ ] add unit test for the DefaultReport validate function
|
||||
* [-] look how to make it work as a CGI
|
||||
|
Loading…
Reference in a new issue