diff --git a/.drone.yml b/.drone.yml index ffbcbcaaa..80ade219e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -80,7 +80,7 @@ pipeline: image: plugins/docker repo: drone/drone secrets: [ docker_username, docker_password ] - tag: [ 0.8, 0.8.0, 0.8.0-rc.2 ] + tag: [ 0.8, 0.8.0 ] when: event: tag @@ -89,7 +89,7 @@ pipeline: repo: drone/agent dockerfile: Dockerfile.agent secrets: [ docker_username, docker_password ] - tag: [ 0.8, 0.8.0, 0.8.0-rc.2 ] + tag: [ 0.8, 0.8.0 ] when: event: tag diff --git a/store/datastore/builds.go b/store/datastore/builds.go index 2e97d34b4..6793fa027 100644 --- a/store/datastore/builds.go +++ b/store/datastore/builds.go @@ -116,6 +116,13 @@ func (db *datastore) UpdateBuild(build *model.Build) error { return meddler.Update(db, buildTable, build) } +func (db *datastore) GetBuildCount() (count int, err error) { + err = db.QueryRow( + sql.Lookup(db.driver, "count-builds"), + ).Scan(&count) + return +} + const buildTable = "builds" const buildListQuery = ` diff --git a/store/datastore/repos_test.go b/store/datastore/repos_test.go index 3493a2147..ddd1218a9 100644 --- a/store/datastore/repos_test.go +++ b/store/datastore/repos_test.go @@ -264,14 +264,23 @@ func TestRepoCount(t *testing.T) { Owner: "bradrydzewski", Name: "drone", FullName: "bradrydzewski/drone", + IsActive: true, } repo2 := &model.Repo{ Owner: "drone", Name: "drone", FullName: "drone/drone", + IsActive: true, + } + repo3 := &model.Repo{ + Owner: "drone", + Name: "drone-ui", + FullName: "drone/drone-ui", + IsActive: false, } s.CreateRepo(repo1) s.CreateRepo(repo2) + s.CreateRepo(repo3) s.Exec("ANALYZE") count, _ := s.GetRepoCount() @@ -294,6 +303,7 @@ func TestRepoBatch(t *testing.T) { FullName: "foo/bar", Owner: "foo", Name: "bar", + IsActive: true, } err := s.CreateRepo(repo) if err != nil { @@ -308,18 +318,21 @@ func TestRepoBatch(t *testing.T) { FullName: "foo/bar", Owner: "foo", Name: "bar", + IsActive: true, }, { UserID: 1, FullName: "bar/baz", Owner: "bar", Name: "baz", + IsActive: true, }, { UserID: 1, FullName: "baz/qux", Owner: "baz", Name: "qux", + IsActive: true, }, }, ) diff --git a/store/datastore/sql/mysql/files/counts.sql b/store/datastore/sql/mysql/files/counts.sql index 23b73935b..f6efb43f7 100644 --- a/store/datastore/sql/mysql/files/counts.sql +++ b/store/datastore/sql/mysql/files/counts.sql @@ -7,6 +7,7 @@ FROM users SELECT count(1) FROM repos +WHERE repo_active = true -- name: count-builds diff --git a/store/datastore/sql/mysql/sql_gen.go b/store/datastore/sql/mysql/sql_gen.go index 37797e2e0..1e649ec26 100644 --- a/store/datastore/sql/mysql/sql_gen.go +++ b/store/datastore/sql/mysql/sql_gen.go @@ -90,6 +90,7 @@ FROM users var countRepos = ` SELECT count(1) FROM repos +WHERE repo_active = true ` var countBuilds = ` diff --git a/store/datastore/sql/postgres/files/counts.sql b/store/datastore/sql/postgres/files/counts.sql index 4adbd8730..6ae97fc0f 100644 --- a/store/datastore/sql/postgres/files/counts.sql +++ b/store/datastore/sql/postgres/files/counts.sql @@ -1,14 +1,15 @@ -- name: count-users SELECT reltuples -FROM pg_class WHERE relname = 'users'; +FROM pg_class WHERE relname = 'users' -- name: count-repos -SELECT reltuples -FROM pg_class WHERE relname = 'repos'; +SELECT count(1) +FROM repo +WHERE repo_active = 1 -- name: count-builds SELECT reltuples -FROM pg_class WHERE relname = 'builds'; +FROM pg_class WHERE relname = 'builds' diff --git a/store/datastore/sql/postgres/sql_gen.go b/store/datastore/sql/postgres/sql_gen.go index 3c11d1679..f8b01c8ed 100644 --- a/store/datastore/sql/postgres/sql_gen.go +++ b/store/datastore/sql/postgres/sql_gen.go @@ -84,17 +84,18 @@ LIMIT 1 var countUsers = ` SELECT reltuples -FROM pg_class WHERE relname = 'users'; +FROM pg_class WHERE relname = 'users' ` var countRepos = ` -SELECT reltuples -FROM pg_class WHERE relname = 'repos'; +SELECT count(1) +FROM repo +WHERE repo_active = 1 ` var countBuilds = ` SELECT reltuples -FROM pg_class WHERE relname = 'builds'; +FROM pg_class WHERE relname = 'builds' ` var feedLatestBuild = ` diff --git a/store/datastore/sql/sqlite/files/counts.sql b/store/datastore/sql/sqlite/files/counts.sql index 23b73935b..11c9138fb 100644 --- a/store/datastore/sql/sqlite/files/counts.sql +++ b/store/datastore/sql/sqlite/files/counts.sql @@ -7,6 +7,7 @@ FROM users SELECT count(1) FROM repos +WHERE repo_active = 1 -- name: count-builds diff --git a/store/datastore/sql/sqlite/sql_gen.go b/store/datastore/sql/sqlite/sql_gen.go index 5ac34dbd1..173479190 100644 --- a/store/datastore/sql/sqlite/sql_gen.go +++ b/store/datastore/sql/sqlite/sql_gen.go @@ -90,6 +90,7 @@ FROM users var countRepos = ` SELECT count(1) FROM repos +WHERE repo_active = 1 ` var countBuilds = ` diff --git a/store/store.go b/store/store.go index 4fcfece49..4ee187d1c 100644 --- a/store/store.go +++ b/store/store.go @@ -72,6 +72,9 @@ type Store interface { // GetBuildQueue gets a list of build in queue. GetBuildQueue() ([]*model.Feed, error) + // GetBuildCount gets a count of all builds in the system. + GetBuildCount() (int, error) + // CreateBuild creates a new build and jobs. CreateBuild(*model.Build, ...*model.Proc) error diff --git a/version/version.go b/version/version.go index 2aa8e871a..bedfec3ac 100644 --- a/version/version.go +++ b/version/version.go @@ -10,7 +10,7 @@ var ( // VersionPatch is for backwards-compatible bug fixes VersionPatch int64 = 0 // VersionPre indicates prerelease - VersionPre string = "rc.2" + VersionPre string // VersionDev indicates development branch. Releases will be empty string. VersionDev string )