diff --git a/.changelog.yml b/.changelog.yml new file mode 100644 index 0000000..2b4f1d0 --- /dev/null +++ b/.changelog.yml @@ -0,0 +1,9 @@ +## ENHANCEMENTS +* Fetch user if no --owner is given + +## BUILD + +* Add docker release +* Add tests +* Add makefile +* Add S3 distrubution \ No newline at end of file diff --git a/.drone.yml b/.drone.yml index 782431c..1a1ddf3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -32,10 +32,19 @@ pipeline: environment: GOPATH: /go commands: - - make release + - make generate-release-file release when: - event: [ push, tag ] + event: [ push ] branch: [ master ] + static: + image: golang:1.10 + pull: true + environment: + GOPATH: /go + commands: + - make generate-release-file release + when: + event: [ tag ] clean: image: golang:1.10 pull: true @@ -48,6 +57,8 @@ pipeline: pull: true base_url: "https://git.jonasfranz.software" secrets: [ gitea_token ] + title: .version + note: .changelog.yml files: - releases/* checksum: diff --git a/Makefile b/Makefile index 074ca65..afd337f 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,10 @@ all: docker-binary: go build -ldflags "$(LDFLAGS)" -o gitea-github-migrator +.PHONY: generate-release-file +generate-release-file: + echo $(VERSION) > .version + .PHONY: release release: @hash gox > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ diff --git a/cmd/migrate-all.go b/cmd/migrate-all.go index 661822a..c314f9a 100644 --- a/cmd/migrate-all.go +++ b/cmd/migrate-all.go @@ -65,6 +65,13 @@ func runMigrateAll(ctx *cli.Context) error { PullRequests: !onlyRepos, Strategy: migrations.Classic, }, gitea.NewClient(ctx.String("url"), ctx.String("token")), gc) + if job.Options.NewOwnerID == 0 { + usr, err := job.Client.GetMyUserInfo() + if err != nil { + return fmt.Errorf("cannot fetch user info about current user: %v", err) + } + job.Options.NewOwnerID = int(usr.ID) + } for _, repo := range allRepos { job.Repositories = append(job.Repositories, repo.GetFullName()) } diff --git a/cmd/migrate.go b/cmd/migrate.go index 0b4d381..5b55b9b 100644 --- a/cmd/migrate.go +++ b/cmd/migrate.go @@ -50,6 +50,13 @@ func runMigrate(ctx *cli.Context) error { PullRequests: !onlyRepos, Strategy: migrations.Classic, }, gitea.NewClient(ctx.String("url"), ctx.String("token")), gc, ctx.String("gh-repo")) + if job.Options.NewOwnerID == 0 { + usr, err := job.Client.GetMyUserInfo() + if err != nil { + return fmt.Errorf("cannot fetch user info about current user: %v", err) + } + job.Options.NewOwnerID = int(usr.ID) + } errs := job.StartMigration() for err := range errs { if err != nil { diff --git a/migrations/repo.go b/migrations/repo.go index 9495aef..a98b553 100644 --- a/migrations/repo.go +++ b/migrations/repo.go @@ -14,7 +14,7 @@ func (m *Migratory) Repository(gr *github.Repository) (*gitea.Repository, error) AuthUsername: m.AuthUsername, CloneAddr: gr.GetCloneURL(), RepoName: gr.GetName(), - UID: m.NewOwnerID, + UID: int(m.NewOwnerID), Private: m.Private, }) return m.repository, err