New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Mockito Shipkit for CD #826

Closed
thekingnothing opened this Issue Aug 2, 2017 · 16 comments

Comments

Projects
None yet
3 participants
@thekingnothing
Member

thekingnothing commented Aug 2, 2017

Change build configuration and use https://github.com/mockito/shipkit tool to be able to release PowerMock after each pull request.

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 2, 2017

Member

Previously, main issue was: PowerMock creates additional artifacts like zip files and full jars that have to be uploaded to separate Bintray repository without syncing with Maven central.

Member

thekingnothing commented Aug 2, 2017

Previously, main issue was: PowerMock creates additional artifacts like zip files and full jars that have to be uploaded to separate Bintray repository without syncing with Maven central.

@thekingnothing thekingnothing added this to the PowerMock 1.7.1 milestone Aug 2, 2017

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 5, 2017

Member

First implementation #829

Member

thekingnothing commented Aug 5, 2017

First implementation #829

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 5, 2017

Member

@wwilk, thank you for your help. I have merged your pull request.
I have the following questions:

  • Will the zip files be built and uploaded during release?
  • Where should be bintray configuration? in shipkit.gradle?
  • Can I delete version.gradle?
  • Could you help me to generate for each release not only release-notes, but download page also?
Member

thekingnothing commented Aug 5, 2017

@wwilk, thank you for your help. I have merged your pull request.
I have the following questions:

  • Will the zip files be built and uploaded during release?
  • Where should be bintray configuration? in shipkit.gradle?
  • Can I delete version.gradle?
  • Could you help me to generate for each release not only release-notes, but download page also?
@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 5, 2017

Member

@wwilk, could explain how does [ci maven-central-release] work? I think that PowerMock also is needed in it.

Member

thekingnothing commented Aug 5, 2017

@wwilk, could explain how does [ci maven-central-release] work? I think that PowerMock also is needed in it.

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 6, 2017

Member

@wwilk, one more question: is it possible to customise tag name?

Member

thekingnothing commented Aug 6, 2017

@wwilk, one more question: is it possible to customise tag name?

@wwilk

This comment has been minimized.

Show comment
Hide comment
@wwilk
Contributor

wwilk commented Aug 6, 2017

@wwilk

This comment has been minimized.

Show comment
Hide comment
@wwilk

wwilk Aug 6, 2017

Contributor

Will the zip files be built and uploaded during release?

I don't see them uploaded in Bintray test release that I made, I will check it out tomorrow.

Where should be bintray configuration? in shipkit.gradle?

Yes, it's the best place, I only tried it on shipkit-boostrap repo, obviously the production configuration can be only tested by you, but you can basically copy paste most of it, because we use the same BintrayExtension for configuration.

Can I delete version.gradle?

You mean version.properties? We only support version storage in this file at the moment, if it's a problem for you, we can create an issue for it. Where would you prefer to store it?

Could you help me to generate for each release not only release-notes, but download page also?

AFAIK we don't have this feature yet, so it would be best to create an issue for it.

Contributor

wwilk commented Aug 6, 2017

Will the zip files be built and uploaded during release?

I don't see them uploaded in Bintray test release that I made, I will check it out tomorrow.

Where should be bintray configuration? in shipkit.gradle?

Yes, it's the best place, I only tried it on shipkit-boostrap repo, obviously the production configuration can be only tested by you, but you can basically copy paste most of it, because we use the same BintrayExtension for configuration.

Can I delete version.gradle?

You mean version.properties? We only support version storage in this file at the moment, if it's a problem for you, we can create an issue for it. Where would you prefer to store it?

Could you help me to generate for each release not only release-notes, but download page also?

AFAIK we don't have this feature yet, so it would be best to create an issue for it.

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 6, 2017

Member
Member

thekingnothing commented Aug 6, 2017

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 6, 2017

Member
Member

thekingnothing commented Aug 6, 2017

@wwilk

This comment has been minimized.

Show comment
Hide comment
@wwilk

wwilk Aug 6, 2017

Contributor

No, no issue for customizing tag name yet, please create it.

They are uploaded by separate bintray task, because they should locate in separate repository and not synced with Maven. So I think it should be additional configuration and task that will be called during release after checking that release is required but before changing version and pushing to Git.

OK, I will see tomorrow if it would be possible to easily include it in the performRelease.

No, I meant exactly version.gradle that was copy-past from Mockito and that creates a version object.

Would you please send me a link to this file in mockito repo? I can't find it.

Contributor

wwilk commented Aug 6, 2017

No, no issue for customizing tag name yet, please create it.

They are uploaded by separate bintray task, because they should locate in separate repository and not synced with Maven. So I think it should be additional configuration and task that will be called during release after checking that release is required but before changing version and pushing to Git.

OK, I will see tomorrow if it would be possible to easily include it in the performRelease.

No, I meant exactly version.gradle that was copy-past from Mockito and that creates a version object.

Would you please send me a link to this file in mockito repo? I can't find it.

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 6, 2017

Member
Member

thekingnothing commented Aug 6, 2017

@wwilk

This comment has been minimized.

Show comment
Hide comment
@wwilk

wwilk Aug 6, 2017

Contributor

Thanks, this file is not needed any more.

Contributor

wwilk commented Aug 6, 2017

Thanks, this file is not needed any more.

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 7, 2017

Member

Blockers:

Member

thekingnothing commented Aug 7, 2017

Blockers:

@mockitoguy

This comment has been minimized.

Show comment
Hide comment
@mockitoguy

mockitoguy Aug 8, 2017

could explain how does [ci maven-central-release] work? I think that PowerMock also is needed in it.

Is it needed? "[ci maven-central-release]" is Mockito-specific. Can we ship every pull request to Powermock to Maven Central as Shipkit default behavior? It is simple and culture-shifting for continuous delivery!

mockitoguy commented Aug 8, 2017

could explain how does [ci maven-central-release] work? I think that PowerMock also is needed in it.

Is it needed? "[ci maven-central-release]" is Mockito-specific. Can we ship every pull request to Powermock to Maven Central as Shipkit default behavior? It is simple and culture-shifting for continuous delivery!

@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 8, 2017

Member

Yep, it's needed. I do not want to put all release to Maven Central. There are several reasons:

  • Regression is normal for PowerMock. It does not have so good tests safe-net.
  • I'm going to drop several release candidate of PowerMock 2, before final due to first point.
Member

thekingnothing commented Aug 8, 2017

Yep, it's needed. I do not want to put all release to Maven Central. There are several reasons:

  • Regression is normal for PowerMock. It does not have so good tests safe-net.
  • I'm going to drop several release candidate of PowerMock 2, before final due to first point.

thekingnothing added a commit that referenced this issue Aug 26, 2017

Shipkit pom customizations (#831)
Fixes #826
* Initial configuration of Shipkit
* Introduced shipkit format of developers section in pom #826
* Issues section removed from publish-maven.gradle #826
* Removed redundant packaging and description #826
* Shipkit version bumped and prefix 'powermock-' used instead of 'v' #826
* Disabled redundant tasks for unpublishable modules #826
* MIT licence replaced with Apache one #826
* Publishing separately fullJars/zips and jars #826
* Compilation fixed #826
* Finished pom configuration #826

thekingnothing added a commit that referenced this issue Aug 26, 2017

Fixes #826
Configure release nodes

thekingnothing added a commit that referenced this issue Aug 26, 2017

Fixes #826
Configure tokens

thekingnothing added a commit that referenced this issue Aug 26, 2017

Fixes #826
Update version properties

thekingnothing added a commit that referenced this issue Aug 26, 2017

Fixes #826
Configure tokens

thekingnothing added a commit that referenced this issue Aug 26, 2017

Fixes #826
Update version properties

thekingnothing added a commit that referenced this issue Aug 26, 2017

Fixes #826 Use Mockito Shipkit for CD
Set version to release candidate

thekingnothing added a commit that referenced this issue Aug 27, 2017

Fixes #826 Use Mockito Shipkit for CD
Change version pattern to supported.

thekingnothing added a commit that referenced this issue Aug 27, 2017

Fixes #826
Configure release nodes

thekingnothing added a commit that referenced this issue Aug 27, 2017

Fixes #826
Configure tokens

thekingnothing added a commit that referenced this issue Aug 27, 2017

Fixes #826
Update version properties

thekingnothing added a commit that referenced this issue Aug 27, 2017

Fixes #826 Use Mockito Shipkit for CD
Set version to release candidate

thekingnothing added a commit that referenced this issue Aug 27, 2017

Fixes #826 Use Mockito Shipkit for CD
Change version pattern to supported.
@thekingnothing

This comment has been minimized.

Show comment
Hide comment
@thekingnothing

thekingnothing Aug 27, 2017

Member

@wwilk, thank you for help! I've merged change to release branch and everything works fine. I haven't checked publishing to maven central because there is no change in code. I'll check it when a bug fix or improvement will be provided.

Member

thekingnothing commented Aug 27, 2017

@wwilk, thank you for help! I've merged change to release branch and everything works fine. I haven't checked publishing to maven central because there is no change in code. I'll check it when a bug fix or improvement will be provided.

@thekingnothing thekingnothing referenced this issue Aug 27, 2017

Open

PowerMock 2 Roadmap #725

6 of 7 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment