Skip to content

Commit

Permalink
Ensure github endpoint
Browse files Browse the repository at this point in the history
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
  • Loading branch information
gabriel-samfira committed Apr 19, 2024
1 parent 30447d3 commit e829aa5
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 18 deletions.
38 changes: 23 additions & 15 deletions database/sql/sql.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,25 @@ func (s *sqlDatabase) cascadeMigration() error {
return nil
}

func (s *sqlDatabase) ensureGithubEndpoint() error {
// Create the default Github endpoint.
createEndpointParams := params.CreateGithubEndpointParams{
Name: "github.com",
Description: "The github.com endpoint",
APIBaseURL: appdefaults.GithubDefaultBaseURL,
BaseURL: appdefaults.DefaultGithubURL,
UploadBaseURL: appdefaults.GithubDefaultUploadBaseURL,
}

if _, err := s.CreateGithubEndpoint(context.Background(), createEndpointParams); err != nil {
if !errors.Is(err, runnerErrors.ErrDuplicateEntity) {
return errors.Wrap(err, "creating default github endpoint")
}
}

return nil
}

func (s *sqlDatabase) migrateCredentialsToDB() (err error) {
s.conn.Exec("PRAGMA foreign_keys = OFF")
defer s.conn.Exec("PRAGMA foreign_keys = ON")
Expand Down Expand Up @@ -240,21 +259,6 @@ func (s *sqlDatabase) migrateCredentialsToDB() (err error) {
}
}()

// Create the default Github endpoint.
createEndpointParams := params.CreateGithubEndpointParams{
Name: "github.com",
Description: "The github.com endpoint",
APIBaseURL: appdefaults.GithubDefaultBaseURL,
BaseURL: appdefaults.DefaultGithubURL,
UploadBaseURL: appdefaults.GithubDefaultUploadBaseURL,
}

if _, err := s.CreateGithubEndpoint(adminCtx, createEndpointParams); err != nil {
if !errors.Is(err, runnerErrors.ErrDuplicateEntity) {
return errors.Wrap(err, "creating default github endpoint")
}
}

// Nothing to migrate.
if len(s.cfg.MigrateCredentials) == 0 {
return nil
Expand Down Expand Up @@ -416,6 +420,10 @@ func (s *sqlDatabase) migrateDB() error {
}
s.conn.Exec("PRAGMA foreign_keys = ON")

if err := s.ensureGithubEndpoint(); err != nil {
return errors.Wrap(err, "ensuring github endpoint")
}

if needsCredentialMigration {
if err := s.migrateCredentialsToDB(); err != nil {
return errors.Wrap(err, "migrating credentials")
Expand Down
16 changes: 13 additions & 3 deletions internal/testing/testing.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,21 @@ func CreateDefaultGithubEndpoint(ctx context.Context, db common.Store, s *testin
UploadBaseURL: appdefaults.GithubDefaultUploadBaseURL,
BaseURL: appdefaults.DefaultGithubURL,
}
endpoint, err := db.CreateGithubEndpoint(ctx, endpointParams)

ep, err := db.GetGithubEndpoint(ctx, endpointParams.Name)
if err != nil {
s.Fatalf("failed to create database object (github.com): %v", err)
if !errors.Is(err, runnerErrors.ErrNotFound) {
s.Fatalf("failed to get database object (github.com): %v", err)
}
ep, err = db.CreateGithubEndpoint(ctx, endpointParams)
if err != nil {
if !errors.Is(err, runnerErrors.ErrDuplicateEntity) {
s.Fatalf("failed to create database object (github.com): %v", err)
}
}
}
return endpoint

return ep
}

func CreateTestGithubCredentials(ctx context.Context, credsName string, db common.Store, s *testing.T, endpoint params.GithubEndpoint) params.GithubCredentials {
Expand Down

0 comments on commit e829aa5

Please sign in to comment.