You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ma...@apache.org on 2022/08/03 11:36:41 UTC
[incubator-devlake] branch main updated: feat(domainLayer): add cicd entities (#2667)
This is an automated email from the ASF dual-hosted git repository.
mappjzc pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/main by this push:
new 11146fcb feat(domainLayer): add cicd entities (#2667)
11146fcb is described below
commit 11146fcb66e506579c531c35f8308dd58981c7ae
Author: Warren Chen <yi...@merico.dev>
AuthorDate: Wed Aug 3 19:36:37 2022 +0800
feat(domainLayer): add cicd entities (#2667)
closes #2666
---
models/domainlayer/devops/cicd_pipeline.go | 24 +++++++++
models/domainlayer/devops/cicd_task.go | 22 ++++++++
models/migrationscripts/20220803_add_cicd.go | 81 ++++++++++++++++++++++++++++
models/migrationscripts/register.go | 1 +
4 files changed, 128 insertions(+)
diff --git a/models/domainlayer/devops/cicd_pipeline.go b/models/domainlayer/devops/cicd_pipeline.go
new file mode 100644
index 00000000..5550f29c
--- /dev/null
+++ b/models/domainlayer/devops/cicd_pipeline.go
@@ -0,0 +1,24 @@
+package devops
+
+import (
+ "github.com/apache/incubator-devlake/models/domainlayer"
+ "time"
+)
+
+type CICDPipeline struct {
+ domainlayer.DomainEntity
+ Name string `gorm:"type:varchar(255)"`
+ CommitSha string `gorm:"type:varchar(255);index"`
+ Branch string `gorm:"type:varchar(255);index"`
+ Repo string `gorm:"type:varchar(255);index"`
+ Result string `gorm:"type:varchar(100)"`
+ Status string `gorm:"type:varchar(100)"`
+ Type string `gorm:"type:varchar(100);comment: to indicate this is CI or CD"`
+ DurationSec uint64
+ CreatedDate time.Time
+ FinishedDate time.Time
+}
+
+func (CICDPipeline) TableName() string {
+ return "cicd_pipelines"
+}
diff --git a/models/domainlayer/devops/cicd_task.go b/models/domainlayer/devops/cicd_task.go
new file mode 100644
index 00000000..03af484d
--- /dev/null
+++ b/models/domainlayer/devops/cicd_task.go
@@ -0,0 +1,22 @@
+package devops
+
+import (
+ "github.com/apache/incubator-devlake/models/domainlayer"
+ "time"
+)
+
+type CICDTask struct {
+ domainlayer.DomainEntity
+ Name string `gorm:"type:varchar(255)"`
+ PipelineId string `gorm:"index;type:varchar(255)"`
+ Result string `gorm:"type:varchar(100)"`
+ Status string `gorm:"type:varchar(100)"`
+ Type string `gorm:"type:varchar(100);comment: to indicate this is CI or CD"`
+ DurationSec uint64
+ StatedDate time.Time
+ FinishedDate time.Time
+}
+
+func (CICDTask) TableName() string {
+ return "cicd_tasks"
+}
diff --git a/models/migrationscripts/20220803_add_cicd.go b/models/migrationscripts/20220803_add_cicd.go
new file mode 100644
index 00000000..81882678
--- /dev/null
+++ b/models/migrationscripts/20220803_add_cicd.go
@@ -0,0 +1,81 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package migrationscripts
+
+import (
+ "context"
+ "github.com/apache/incubator-devlake/models/migrationscripts/archived"
+ "gorm.io/gorm"
+ "time"
+)
+
+type addCICD struct{}
+
+func (*addCICD) Up(ctx context.Context, db *gorm.DB) error {
+ err := db.Migrator().AutoMigrate(
+ &CICDPipeline{},
+ &CICDTask{},
+ )
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (*addCICD) Version() uint64 {
+ return 20220803232735
+}
+
+func (*addCICD) Name() string {
+ return "add cicd models"
+}
+
+type CICDPipeline struct {
+ archived.DomainEntity
+ Name string `gorm:"type:varchar(255)"`
+ CommitSha string `gorm:"type:varchar(255);index"`
+ Branch string `gorm:"type:varchar(255);index"`
+ Repo string `gorm:"type:varchar(255);index"`
+ Result string `gorm:"type:varchar(100)"`
+ Status string `gorm:"type:varchar(100)"`
+ Type string `gorm:"type:varchar(100);comment: to indicate this is CI or CD"`
+ DurationSec uint64
+ CreatedDate time.Time
+ FinishedDate time.Time
+}
+
+func (CICDPipeline) TableName() string {
+ return "cicd_pipelines"
+}
+
+type CICDTask struct {
+ archived.DomainEntity
+ Name string `gorm:"type:varchar(255)"`
+ PipelineId string `gorm:"index;type:varchar(255)"`
+ Result string `gorm:"type:varchar(100)"`
+ Status string `gorm:"type:varchar(100)"`
+ Type string `gorm:"type:varchar(100);comment: to indicate this is CI or CD"`
+ DurationSec uint64
+ StatedDate time.Time
+ FinishedDate time.Time
+}
+
+func (CICDTask) TableName() string {
+ return "cicd_tasks"
+}
diff --git a/models/migrationscripts/register.go b/models/migrationscripts/register.go
index 54ff6793..9c91cd8c 100644
--- a/models/migrationscripts/register.go
+++ b/models/migrationscripts/register.go
@@ -35,5 +35,6 @@ func All() []migration.Script {
new(renameColumnsOfPullRequestIssue),
new(addNoPKModelToCommitParent),
new(addSubtasksTable),
+ new(addCICD),
}
}