Merge pull request #18 from maxcnunes/fix-ci

Fix CI tasks
This commit is contained in:
Max Claus Nunes 2022-08-08 14:34:12 -03:00 committed by GitHub
commit 5a02122f33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 92 additions and 83 deletions

37
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,37 @@
name: goreleaser
on:
push:
# run only against tags
tags:
- '*'
permissions:
contents: write
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Fetch all tags
run: git fetch --force --tags
-
name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
distribution: goreleaser
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

39
.github/workflows/workflow.yml vendored Normal file
View File

@ -0,0 +1,39 @@
name: dev-workflow
on:
- push
jobs:
run:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
# - macos-latest
# - windows-latest
go:
- '1.19'
# - '1.18'
# - '1.17'
# - '1.16'
# - '1.15'
env:
OS: ${{ matrix.os }}
steps:
- uses: actions/checkout@master
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go }}
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.48
- name: Test
run: make test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3

View File

@ -1,29 +0,0 @@
language: go
go:
# - 1.7.x
# - 1.8.x
# - 1.9.x
- 1.10.x
# - master
before_script:
- go version
- make setup
- make lint
script:
- make test
after_success:
- bash <(curl -s https://codecov.io/bash)
notifications:
email: false
deploy:
- provider: script
skip_cleanup: true
script: curl -sL http://git.io/goreleaser | bash
on:
tags: true

View File

@ -55,3 +55,6 @@ A single test:
go test -run TestSimplePost ./...
```
### Release
The release runs automatically with a Github action on pushed git tags.

View File

@ -3,26 +3,14 @@ TEST_PACKAGES := $(shell go list ./... | grep -v cmd)
COVER_PACKAGES := $(shell go list ./... | grep -v cmd | paste -sd "," -)
LINTER := $(shell command -v gometalinter 2> /dev/null)
.PHONY: setup
setup:
ifndef LINTER
@echo "Installing linter"
@go get -u github.com/alecthomas/gometalinter
@gometalinter --install
endif
build:
@go build -o ./gaper cmd/gaper/main.go
## lint: Validate golang code
# Install it following this doc https://golangci-lint.run/usage/install/#local-installation,
# please use the same version from .github/workflows/workflow.yml.
lint:
@gometalinter \
--deadline=120s \
--line-length=120 \
--enable-all \
--disable=gochecknoinits --disable=gochecknoglobals \
--vendor ./...
@golangci-lint run
test:
@go test -p=1 -coverpkg $(COVER_PACKAGES) \

View File

@ -1,31 +0,0 @@
version: "{build}"
# Source Config
clone_folder: c:\gopath\src\github.com\maxcnunes\gaper
# Build host
environment:
GOPATH: c:\gopath
GOBIN: c:\gopath\bin
init:
- git config --global core.autocrlf input
# Build
install:
- set Path=c:\go\bin;c:\gopath\bin;%Path%
- go version
- go env
- go get -u github.com/golang/dep/cmd/dep
- choco install make
- make setup
build: false
deploy: false
test_script:
- go build github.com/maxcnunes/gaper/cmd/gaper
- make test

View File

@ -17,7 +17,6 @@ type Builder interface {
type builder struct {
dir string
binary string
errors string
wd string
buildArgs []string
}

View File

@ -212,9 +212,7 @@ func setupConfig(cfg *Config) error {
var extensions []string
for i := range cfg.Extensions {
values := strings.Split(cfg.Extensions[i], ",")
for _, e := range values {
extensions = append(extensions, e)
}
extensions = append(extensions, values...)
}
cfg.Extensions = extensions

0
testdata/.hidden-file vendored Normal file
View File

0
testdata/.hidden-folder/.gitkeep vendored Normal file
View File

View File

@ -104,14 +104,19 @@ func TestWatcherWatchChange(t *testing.T) {
time.Sleep(time.Millisecond * 500)
// update hidden files and dirs to check builtin hidden ignore is working
os.Chtimes(hiddenfile1, time.Now(), time.Now())
os.Chtimes(hiddenfile2, time.Now(), time.Now())
err = os.Chtimes(hiddenfile1, time.Now(), time.Now())
assert.Nil(t, err, "chtimes error")
err = os.Chtimes(hiddenfile2, time.Now(), time.Now())
assert.Nil(t, err, "chtimes error")
// update testfile first to check ignore is working
os.Chtimes(testfile, time.Now(), time.Now())
err = os.Chtimes(testfile, time.Now(), time.Now())
assert.Nil(t, err, "chtimes error")
time.Sleep(time.Millisecond * 500)
os.Chtimes(mainfile, time.Now(), time.Now())
err = os.Chtimes(mainfile, time.Now(), time.Now())
assert.Nil(t, err, "chtimes error")
select {
case event := <-w.Events():