Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ build/*

# Taskfile
.task
*.log
2 changes: 1 addition & 1 deletion check.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

func findPulls(since time.Time, gh Github) ([]pullrequest.PullRequest, error) {
if since.IsZero() {
return gh.GetLatestOpenPullRequest()
since = time.Now().AddDate(-3, 0, 0)
}
return gh.ListOpenPullRequests(since)
}
Expand Down
12 changes: 2 additions & 10 deletions check_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,7 @@ func TestCheck(t *testing.T) {
t.Run(tc.description, func(t *testing.T) {
github := new(fakes.FakeGithub)

if tc.version.UpdatedDate.IsZero() {
github.GetLatestOpenPullRequestReturns(tc.pullRequests, nil)
} else {
github.ListOpenPullRequestsReturns(tc.pullRequests, nil)
}
github.ListOpenPullRequestsReturns(tc.pullRequests, nil)

for i, file := range tc.files {
github.GetChangedFilesReturnsOnCall(i, file, nil)
Expand All @@ -126,11 +122,7 @@ func TestCheck(t *testing.T) {
if assert.NoError(t, err) {
assert.Equal(t, tc.expected, output)
}
if tc.version.UpdatedDate.IsZero() {
assert.Equal(t, 1, github.GetLatestOpenPullRequestCallCount())
} else {
assert.Equal(t, 1, github.ListOpenPullRequestsCallCount())
}
assert.Equal(t, 1, github.ListOpenPullRequestsCallCount())
})
}
}
69 changes: 0 additions & 69 deletions fakes/fake_github.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 0 additions & 6 deletions github.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import (
// Github for testing purposes.
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -o fakes/fake_github.go . Github
type Github interface {
GetLatestOpenPullRequest() ([]pullrequest.PullRequest, error)
ListOpenPullRequests(prSince time.Time) ([]pullrequest.PullRequest, error)
PostComment(int, string) error
GetPullRequest(int, string) (pullrequest.PullRequest, error)
Expand Down Expand Up @@ -105,11 +104,6 @@ func NewGithubClient(s *Source) (*GithubClient, error) {
}, nil
}

// GetLatestOpenPullRequest gets the last commit on the latest open pull request
func (m *GithubClient) GetLatestOpenPullRequest() ([]pullrequest.PullRequest, error) {
return m.searchOpenPullRequests(time.Now().AddDate(-3, 0, 0), 3)
}

// ListOpenPullRequests gets the last commit on all open pull requests
func (m *GithubClient) ListOpenPullRequests(since time.Time) ([]pullrequest.PullRequest, error) {
return m.searchOpenPullRequests(since, 100)
Expand Down
1 change: 1 addition & 0 deletions in.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ func Get(request GetRequest, github Github, git Git, outputDir string) (*GetResp
metadata.Add("base_sha", baseSHA)
metadata.Add("message", pull.HeadRef.Message)
metadata.Add("author", pull.HeadRef.Author)
metadata.Add("events", fmt.Sprintf("%v", pull.Events))

// Write version and metadata for reuse in PUT
path := filepath.Join(outputDir, ".git", "resource")
Expand Down
13 changes: 6 additions & 7 deletions in_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import (
)

func TestGet(t *testing.T) {

tests := []struct {
description string
source resource.Source
Expand All @@ -39,7 +38,7 @@ func TestGet(t *testing.T) {
parameters: resource.GetParameters{},
pullRequest: createTestPR(1, "master", false, false, false, false),
versionString: `{"pr":"1","commit":"commit1","updated":"0001-01-01T00:00:00Z"}`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"}]`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"},{"name":"events","value":"[]"}]`,
},
{
description: "get supports unlocking with git crypt",
Expand All @@ -56,7 +55,7 @@ func TestGet(t *testing.T) {
parameters: resource.GetParameters{},
pullRequest: createTestPR(1, "master", false, false, false, false),
versionString: `{"pr":"1","commit":"commit1","updated":"0001-01-01T00:00:00Z"}`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"}]`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"},{"name":"events","value":"[]"}]`,
},
{
description: "get supports rebasing",
Expand All @@ -74,7 +73,7 @@ func TestGet(t *testing.T) {
},
pullRequest: createTestPR(1, "master", false, false, false, false),
versionString: `{"pr":"1","commit":"commit1","updated":"0001-01-01T00:00:00Z"}`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"}]`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"},{"name":"events","value":"[]"}]`,
},
{
description: "get supports checkout",
Expand All @@ -92,7 +91,7 @@ func TestGet(t *testing.T) {
},
pullRequest: createTestPR(1, "master", false, false, false, false),
versionString: `{"pr":"1","commit":"commit1","updated":"0001-01-01T00:00:00Z"}`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"}]`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"},{"name":"events","value":"[]"}]`,
},
{
description: "get supports git_depth",
Expand All @@ -110,7 +109,7 @@ func TestGet(t *testing.T) {
},
pullRequest: createTestPR(1, "master", false, false, false, false),
versionString: `{"pr":"1","commit":"commit1","updated":"0001-01-01T00:00:00Z"}`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"}]`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"},{"name":"events","value":"[]"}]`,
},
{
description: "get supports list_changed_files",
Expand All @@ -129,7 +128,7 @@ func TestGet(t *testing.T) {
pullRequest: createTestPR(1, "master", false, false, false, false),
files: []string{"README.md", "Other.md"},
versionString: `{"pr":"1","commit":"commit1","updated":"0001-01-01T00:00:00Z"}`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"}]`,
metadataString: `[{"name":"pr","value":"1"},{"name":"url","value":"pr1 url"},{"name":"head_name","value":"pr1"},{"name":"head_sha","value":"oid1"},{"name":"head_short_sha","value":"oid1"},{"name":"base_name","value":"master"},{"name":"base_sha","value":"sha"},{"name":"message","value":"commit message1"},{"name":"author","value":"login1"},{"name":"events","value":"[]"}]`,
filesString: "README.md\nOther.md\n",
},
}
Expand Down
29 changes: 29 additions & 0 deletions log/clean.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package log

import (
"fmt"
"io/ioutil"
"os"
"strings"
"time"
)

func cleanStaleLogs(dir string) error {
tmpfiles, err := ioutil.ReadDir(dir)
if err != nil {
return err
}

for _, file := range tmpfiles {
if strings.HasPrefix(file.Name(), "resource-") && file.Mode().IsRegular() {
if time.Now().Sub(file.ModTime()) > 72*time.Hour {
err = os.Remove(fmt.Sprintf("%s%v%s", dir, os.PathSeparator, file.Name()))
Comment thread
denniskpw marked this conversation as resolved.
Outdated
if err != nil {
return err
}
}
}
}

return nil
}
5 changes: 4 additions & 1 deletion log/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"io/ioutil"
"log"
"os"
"time"
)

var (
Expand All @@ -23,7 +24,9 @@ func init() {
debug = true
}

f, err := os.OpenFile(fmt.Sprintf("%s/github-pr-resource.log", dir), os.O_RDWR|os.O_CREATE, 0666)
cleanStaleLogs(dir)

f, err := os.OpenFile(fmt.Sprintf("%s/resource-%s.log", dir, time.Now().Format("2006-01-02")), os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("error opening file: %v", err)
}
Expand Down