Uploaded image for project: 'Continuum'
  1. Continuum
  2. CONTINUUM-1572

Release should support Build Environments (formerly called Continuum Profiles)

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1-beta-4, 1.1
    • 1.2.1
    • Core - Profiles, Release
    • None

    Description

      Currently there's no way to specify parameters for the release, like JVM version or MAVEN_OPTS. I had a hard time "configuring" Maven to have enough memory during the release (actually I had to add MAVEN_OPTS=-Xmx512m as an environment variable – not a really nice solution).

      It would be nice to have a similar build configuration for the release as we have for other builds, with profiles and all. Maybe a default schedule called RELEASE would do.

      Attachments

        Issue Links

          Activity

            wsmoak Wendy Smoak added a comment -

            Now that we have Continum Profiles, we need the ability to choose one of them to be used during the release process.

            From the user list...

            If I define a Continuum Profile (CP) [1] for scheduled builds, for
            example to build with a different JDK than the one Continuum is
            running under, how do I make sure that CP is used when I release the
            project?

            Under the Project Group Actions, I could argue that choosing a CP and
            then clicking Release could be expected to work. But how about the
            release icon to the right of each project in the list?

            [1] (this is confusing, Maven already has profiles...)

            wsmoak Wendy Smoak added a comment - Now that we have Continum Profiles, we need the ability to choose one of them to be used during the release process. From the user list... If I define a Continuum Profile (CP) [1] for scheduled builds, for example to build with a different JDK than the one Continuum is running under, how do I make sure that CP is used when I release the project? Under the Project Group Actions, I could argue that choosing a CP and then clicking Release could be expected to work. But how about the release icon to the right of each project in the list? [1] (this is confusing, Maven already has profiles...)
            wsmoak Wendy Smoak added a comment -

            Comments on CONTINUUM-1633 imply that with the current code, it's going to be difficult to release with a different version of Maven.

            wsmoak Wendy Smoak added a comment - Comments on CONTINUUM-1633 imply that with the current code, it's going to be difficult to release with a different version of Maven.

            if you click the release icon to the right of each project, it will use the CP that is assigned to the default build definition of that project

            WDYT?

            ctan Maria Catherine R. Tan added a comment - if you click the release icon to the right of each project, it will use the CP that is assigned to the default build definition of that project WDYT?
            wsmoak Wendy Smoak added a comment -

            > if you click the release icon to the right of each project, it will use the CP that is assigned to the
            > default build definition of that project
            >
            > WDYT?

            Build definitions are not related to releases, so it doesn't feel quite right.

            Also, I think more than one build definition can have default=true. (Though that may be an error?)

            However, I'm not doing the work, so if that's the best available solution, go for it.

            wsmoak Wendy Smoak added a comment - > if you click the release icon to the right of each project, it will use the CP that is assigned to the > default build definition of that project > > WDYT? Build definitions are not related to releases, so it doesn't feel quite right. Also, I think more than one build definition can have default=true. (Though that may be an error?) However, I'm not doing the work, so if that's the best available solution, go for it.

            I think we should just add a dropdown for the CP in the prepare release page

            ctan Maria Catherine R. Tan added a comment - I think we should just add a dropdown for the CP in the prepare release page

            Fix committed in branch http://svn.apache.org/repos/asf/continuum/branches/CONTINUUM-1572

            Will merge to trunk after 1.2 is released.

            ctan Maria Catherine R. Tan added a comment - Fix committed in branch http://svn.apache.org/repos/asf/continuum/branches/CONTINUUM-1572 Will merge to trunk after 1.2 is released.
            luc.willems Luc Willems added a comment -

            Will this fix also use the CP for the second steps in release phaze ?
            will this fix be released in 1.2.1 ?

            I think it's important that the release cycle is done in same "environment" that the builds are defined.
            if a user selects a different build environment like MAVEN_OPT,JDK's , maven version , etc ...,
            than there is good reason why he is doing that.

            so release should run the release cycle in the same environment as the builds.
            this is mandotory to make reproducable releases

            luc.willems Luc Willems added a comment - Will this fix also use the CP for the second steps in release phaze ? will this fix be released in 1.2.1 ? I think it's important that the release cycle is done in same "environment" that the builds are defined. if a user selects a different build environment like MAVEN_OPT,JDK's , maven version , etc ..., than there is good reason why he is doing that. so release should run the release cycle in the same environment as the builds. this is mandotory to make reproducable releases
            decherfb Benoit Decherf added a comment -

            The release is done using the maven-release jar. So it won't be possible to choose a specific version of maven. This is possible in the Profile. How do this fix work with that ? The maven installation will be ignored ?

            decherfb Benoit Decherf added a comment - The release is done using the maven-release jar. So it won't be possible to choose a specific version of maven. This is possible in the Profile. How do this fix work with that ? The maven installation will be ignored ?

            There is an additional build environment field in the release prepare page. You can select the same environment you used in the builds here and yes, the CP will be used in the release:perform phase.

            I override some classes and used Continuum's ShellCommandHelper instead of the MavenExecutor, as it won't allow me to set the build environments. . So now it's possible to choose a specific version of maven.

            I already merged it to trunk so it will be included in 1.2.1

            ctan Maria Catherine R. Tan added a comment - There is an additional build environment field in the release prepare page. You can select the same environment you used in the builds here and yes, the CP will be used in the release:perform phase. I override some classes and used Continuum's ShellCommandHelper instead of the MavenExecutor, as it won't allow me to set the build environments. . So now it's possible to choose a specific version of maven. I already merged it to trunk so it will be included in 1.2.1

            fix in revision 698412

            ctan Maria Catherine R. Tan added a comment - fix in revision 698412
            luc.willems Luc Willems added a comment -

            this sounds promissing , can't wait for the release
            can anybody tell me if there is a release date/schedule forseen for 1.2.1

            luc.willems Luc Willems added a comment - this sounds promissing , can't wait for the release can anybody tell me if there is a release date/schedule forseen for 1.2.1
            luc.willems Luc Willems added a comment - - edited

            Just tried latest SVN continuum 1.2.X branch (revision 701309) and got Null pointer when using a custom buildenvironment

            java.lang.NullPointerException
            at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.getEnvironments(DefaultContinuumReleaseManager.java:244)
            at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.getReleaseDescriptor(DefaultContinuumReleaseManager.java:293)
            at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.prepare(DefaultContinuumReleaseManager.java:115)
            at org.apache.maven.continuum.web.action.ReleasePrepareAction.execute(ReleasePrepareAction.java:230)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
            at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
            at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)
            at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
            at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
            at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
            at org.apache.maven.continuum.web.interceptor.ForceContinuumConfigurationInterceptor.intercept(ForceContinuumConfigurationInterceptor.java:72)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

            build environment included 1 entry for custom maven 2.0.9 installation

            looking at the line with eclipse in debug :
            Installation builder = profile.getBuilder();
            if ( builder != null )

            { envVars.put( installationService.getEnvVar( InstallationService.MAVEN2_TYPE ), builder.getVarValue() ); }

            installationService was was NULL , could found any place where this variable is set

            should i open a new issue ?

            luc.willems Luc Willems added a comment - - edited Just tried latest SVN continuum 1.2.X branch (revision 701309) and got Null pointer when using a custom buildenvironment java.lang.NullPointerException at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.getEnvironments(DefaultContinuumReleaseManager.java:244) at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.getReleaseDescriptor(DefaultContinuumReleaseManager.java:293) at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.prepare(DefaultContinuumReleaseManager.java:115) at org.apache.maven.continuum.web.action.ReleasePrepareAction.execute(ReleasePrepareAction.java:230) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358) at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192) at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115) at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at org.apache.maven.continuum.web.interceptor.ForceContinuumConfigurationInterceptor.intercept(ForceContinuumConfigurationInterceptor.java:72) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) build environment included 1 entry for custom maven 2.0.9 installation looking at the line with eclipse in debug : Installation builder = profile.getBuilder(); if ( builder != null ) { envVars.put( installationService.getEnvVar( InstallationService.MAVEN2_TYPE ), builder.getVarValue() ); } installationService was was NULL , could found any place where this variable is set should i open a new issue ?

            Already fixed. Could you try it again? Thanks

            ctan Maria Catherine R. Tan added a comment - Already fixed. Could you try it again? Thanks
            luc.willems Luc Willems added a comment -

            couldn't get it to work

            • first try would not release because some prject didn't got a succesfull build (some minor issues in unit tests)
            • add maven.test.skip=1 "quickly" bypass this issues
            • got selection menu , selected correct settings and started release
            • prepare step failed because of followin error :
              ....
              [INFO] Updating api to 1.1
              [INFO] Ignoring artifact version update for expression: ${version}
              [INFO] Not generating release POMs
              [ERROR] org.apache.maven.shared.release.ReleaseExecutionException: Maven execution failed, exit code: '1'
              at org.apache.continuum.release.phase.AbstractContinuumRunGoalsPhase.execute(AbstractContinuumRunGoalsPhase.java:70)
              at org.apache.continuum.release.phase.RunPrepareGoalsPhase.execute(RunPrepareGoalsPhase.java:47)
              at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:194)
              at org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
              at org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43)
              at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
              at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
              at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
              at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178)
              at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
              at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
              at java.lang.Thread.run(Thread.java:619)
              Caused by: org.apache.maven.shared.release.exec.MavenExecutorException: Maven execution failed, exit code: '1'
              at org.apache.continuum.utils.shell.DefaultShellCommandHelper.executeGoals(DefaultShellCommandHelper.java:209)
              at org.apache.continuum.utils.shell.DefaultShellCommandHelper.executeGoals(DefaultShellCommandHelper.java:169)
              at org.apache.continuum.release.phase.AbstractContinuumRunGoalsPhase.execute(AbstractContinuumRunGoalsPhase.java:62)

            seems like problems using ${version} in parent pom.xml . the finalName was constructed like pmf-${artifactId}-${version}

            • removed this to bypass this problem
            • retried release , but pressing Release button doesn't do any thing
            • no way to initiate a release, can't find a error in logfiles

            luc

            luc.willems Luc Willems added a comment - couldn't get it to work first try would not release because some prject didn't got a succesfull build (some minor issues in unit tests) add maven.test.skip=1 "quickly" bypass this issues got selection menu , selected correct settings and started release prepare step failed because of followin error : .... [INFO] Updating api to 1.1 [INFO] Ignoring artifact version update for expression: ${version} [INFO] Not generating release POMs [ERROR] org.apache.maven.shared.release.ReleaseExecutionException: Maven execution failed, exit code: '1' at org.apache.continuum.release.phase.AbstractContinuumRunGoalsPhase.execute(AbstractContinuumRunGoalsPhase.java:70) at org.apache.continuum.release.phase.RunPrepareGoalsPhase.execute(RunPrepareGoalsPhase.java:47) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:194) at org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107) at org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43) at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116) at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.maven.shared.release.exec.MavenExecutorException: Maven execution failed, exit code: '1' at org.apache.continuum.utils.shell.DefaultShellCommandHelper.executeGoals(DefaultShellCommandHelper.java:209) at org.apache.continuum.utils.shell.DefaultShellCommandHelper.executeGoals(DefaultShellCommandHelper.java:169) at org.apache.continuum.release.phase.AbstractContinuumRunGoalsPhase.execute(AbstractContinuumRunGoalsPhase.java:62) seems like problems using ${version} in parent pom.xml . the finalName was constructed like pmf-${artifactId}-${version} removed this to bypass this problem retried release , but pressing Release button doesn't do any thing no way to initiate a release, can't find a error in logfiles luc
            luc.willems Luc Willems added a comment -

            ok , problem found why release didn't work anymore

            • parent pom.xml had version of 1.1 while all sub modules had 1.1-SNAPSHOT. i didn't do rollback after first failure build
            • Fresh build done , project pom was back to 1.1-SNAPSHOT
            • Retried Release , same error , NO pressed Rollback , got no response
              and following exception in continuum.log
              2008-10-06 21:11:51,086 [Thread-10] ERROR taskQueueExecutor#rollback-release - Error executing task
              edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.lang.ClassCastException: org.apache.maven.shared.release.config.ReleaseDescriptor cannot be cast to org.apache.continuum.release.config.ContinuumReleaseDescriptor
              at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:301)
              at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:120)
              at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159)
              at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127)
              Caused by: java.lang.ClassCastException: org.apache.maven.shared.release.config.ReleaseDescriptor cannot be cast to org.apache.continuum.release.config.ContinuumReleaseDescriptor
              at org.apache.continuum.release.config.ContinuumPropertiesReleaseDescriptorStore.read(ContinuumPropertiesReleaseDescriptorStore.java:140)
              at org.apache.maven.shared.release.config.PropertiesReleaseDescriptorStore.read(PropertiesReleaseDescriptorStore.java:53)
              at org.apache.maven.shared.release.DefaultReleaseManager.loadReleaseDescriptor(DefaultReleaseManager.java:401)
              at org.apache.maven.shared.release.DefaultReleaseManager.rollback(DefaultReleaseManager.java:234)
              at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:40)
              at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
              at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
              at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
              at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178)
              at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
              at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
              at java.lang.Thread.run(Thread.java:619)

            so rollback fails

            I think we should open a NEW issue to cover all this changes/errors ?

            luc.willems Luc Willems added a comment - ok , problem found why release didn't work anymore parent pom.xml had version of 1.1 while all sub modules had 1.1-SNAPSHOT. i didn't do rollback after first failure build Fresh build done , project pom was back to 1.1-SNAPSHOT Retried Release , same error , NO pressed Rollback , got no response and following exception in continuum.log 2008-10-06 21:11:51,086 [Thread-10] ERROR taskQueueExecutor#rollback-release - Error executing task edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.lang.ClassCastException: org.apache.maven.shared.release.config.ReleaseDescriptor cannot be cast to org.apache.continuum.release.config.ContinuumReleaseDescriptor at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:301) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:120) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127) Caused by: java.lang.ClassCastException: org.apache.maven.shared.release.config.ReleaseDescriptor cannot be cast to org.apache.continuum.release.config.ContinuumReleaseDescriptor at org.apache.continuum.release.config.ContinuumPropertiesReleaseDescriptorStore.read(ContinuumPropertiesReleaseDescriptorStore.java:140) at org.apache.maven.shared.release.config.PropertiesReleaseDescriptorStore.read(PropertiesReleaseDescriptorStore.java:53) at org.apache.maven.shared.release.DefaultReleaseManager.loadReleaseDescriptor(DefaultReleaseManager.java:401) at org.apache.maven.shared.release.DefaultReleaseManager.rollback(DefaultReleaseManager.java:234) at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:40) at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116) at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:619) so rollback fails I think we should open a NEW issue to cover all this changes/errors ?

            Hi Luc,

            Sorry I'll reopen this issue... as the error pertains to the changes made for this.

            Was there a an error from the log why the release wasn't successful ( before the rollback ) cause I was able to prepare and perform release successfully?

            ctan Maria Catherine R. Tan added a comment - Hi Luc, Sorry I'll reopen this issue... as the error pertains to the changes made for this. Was there a an error from the log why the release wasn't successful ( before the rollback ) cause I was able to prepare and perform release successfully?

            unable to rollback

            ctan Maria Catherine R. Tan added a comment - unable to rollback
            luc.willems Luc Willems added a comment -
            • initial "prepare" failure was caused by a minor issues in my test so build failed because of this
            • My "normal" build defenitions had the -Dmaven.test.skip=1 option but the release:prepare step not (which is normal )
            • once i noticed this problem and i got my working copy back OK (al version = xxx-snapshot), i retried to see if rollback could solve this problem.
              just to check that i can go back to a valid state after a prepare error
            • this is the point where i got the ClassCastException exception and rollback failed ;-(
            • manually put the working copy back into good state
            • run de prepare step with extra -Dmaven.test.skip=1 parameter -> OK
            • run the release step with extra -Dmaven.test.skip=1 parameter -> OK

            so i have 1 successfull release done
            still feels a little bit fragile , many things can go wrong ,even if your builds are OK
            rollback doesn't seems to fix the problem always ;-(

            luc

            luc.willems Luc Willems added a comment - initial "prepare" failure was caused by a minor issues in my test so build failed because of this My "normal" build defenitions had the -Dmaven.test.skip=1 option but the release:prepare step not (which is normal ) once i noticed this problem and i got my working copy back OK (al version = xxx-snapshot), i retried to see if rollback could solve this problem. just to check that i can go back to a valid state after a prepare error this is the point where i got the ClassCastException exception and rollback failed ;-( manually put the working copy back into good state run de prepare step with extra -Dmaven.test.skip=1 parameter -> OK run the release step with extra -Dmaven.test.skip=1 parameter -> OK so i have 1 successfull release done still feels a little bit fragile , many things can go wrong ,even if your builds are OK rollback doesn't seems to fix the problem always ;-( luc

            fixed rollback in rev 702680

            ctan Maria Catherine R. Tan added a comment - fixed rollback in rev 702680
            luc.willems Luc Willems added a comment -

            hello,

            i was testing the rollback fix , it seems to work but no feedback is given after clicking the rollback button.
            the cursor stays in a "waiting" state , screen doesn change.

            pressing again rollback , gives this exception.
            2008-10-08 21:00:25,008 [pool-5-thread-1] ERROR taskQueueExecutor#rollback-release - Error executing task
            org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Failed to rollback release
            at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:45)
            at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
            at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
            at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
            at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178)
            at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
            at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
            at java.lang.Thread.run(Thread.java:619)
            Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Cannot restore from a missing backup POM: /home/luc/src/continuum/continuum-webapp/data/working-directory/1/pom.xml.releaseBackup
            at org.apache.maven.shared.release.phase.RestoreBackupPomsPhase.restorePomBackup(RestoreBackupPomsPhase.java:90)
            at org.apache.maven.shared.release.phase.RestoreBackupPomsPhase.execute(RestoreBackupPomsPhase.java:69)
            at org.apache.maven.shared.release.DefaultReleaseManager.rollback(DefaultReleaseManager.java:248)
            at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:40)
            ... 7 more

            2008-10-08 21:00:26,775 [pool-1-thread-1] INFO continuumBuildExecutor#maven2 - Exit code: 0

            which is "normal" because rollback was already performed.
            is it possible to show some feedback of the rollback action to prevent this kind of errors.

            luc

            luc.willems Luc Willems added a comment - hello, i was testing the rollback fix , it seems to work but no feedback is given after clicking the rollback button. the cursor stays in a "waiting" state , screen doesn change. pressing again rollback , gives this exception. 2008-10-08 21:00:25,008 [pool-5-thread-1] ERROR taskQueueExecutor#rollback-release - Error executing task org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Failed to rollback release at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:45) at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116) at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Cannot restore from a missing backup POM: /home/luc/src/continuum/continuum-webapp/data/working-directory/1/pom.xml.releaseBackup at org.apache.maven.shared.release.phase.RestoreBackupPomsPhase.restorePomBackup(RestoreBackupPomsPhase.java:90) at org.apache.maven.shared.release.phase.RestoreBackupPomsPhase.execute(RestoreBackupPomsPhase.java:69) at org.apache.maven.shared.release.DefaultReleaseManager.rollback(DefaultReleaseManager.java:248) at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:40) ... 7 more 2008-10-08 21:00:26,775 [pool-1-thread-1] INFO continuumBuildExecutor#maven2 - Exit code: 0 which is "normal" because rollback was already performed. is it possible to show some feedback of the rollback action to prevent this kind of errors. luc
            wsmoak Wendy Smoak added a comment -

            There are known issues with release rollback, see CONTINUUM-1887 for example.

            wsmoak Wendy Smoak added a comment - There are known issues with release rollback, see CONTINUUM-1887 for example.

            People

              ctan Maria Catherine R. Tan
              lptr Lóránt Pintér
              Votes:
              5 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: