Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.

Add tagging of remote repo. #903

Merged
merged 3 commits into from
Jan 4, 2017
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions phing/tasks/deploy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
promptText="Enter a deploy branch (defaults to [current branch]-build)"
promptCharacter=":"
defaultValue="${branch.current}-build"/>
<propertyprompt propertyName="deploy.tag" useExistingValue="true"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to split this into two prompts:

  • Add a prompt to the deploy target which asks Would you like to create a tag?.
  • If yes, prompt for tag name "Enter the name of the tag to create:" and use input to set the value of deploy.tag property.

Otherwise, this will always create a tag.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

refactoring now.

promptText="Enter the name of the tag to create"
promptCharacter=":"
defaultValue=""/>

<!-- Check necessary runtime parameters. -->
<if>
Expand Down Expand Up @@ -47,13 +51,22 @@
<!--Commit artifact. -->
<phingcall target="deploy:commit"/>

<!-- Commit tag if present -->
<if>
<isset property="deploy.tag"/>
<then>
<phingcall target="deploy:tag"/>
</then>
</if>

<!-- Push up changes to remotes if this is not a dry run.-->
<if>
<not><isset property="deploy.dryRun"/></not>
<then>
<phingcall target="deploy:push-all"/>
</then>
</if>

</target>

<target name="deploy:remote:add" description="Adds a git remote and checks out deploy branch from upstream." hidden="true">
Expand Down Expand Up @@ -157,6 +170,16 @@
<exec command="echo ${deploy.remote} | openssl md5 | cut -d' ' -f 2" outputProperty="remoteName"/>
<exec command="git push ${remoteName} ${deploy.branch}" dir="${deploy.dir}" outputProperty="deploy.push.output" logoutput="true" checkreturn="true" level="${blt.exec_level}"/>
<exec command="export DEPLOY_UPTODATE=$(echo '${deploy.push.output}' | grep --quiet 'Everything up-to-date')" logoutput="true" checkreturn="true" level="${blt.exec_level}" passthru="true"/>

<!-- Push tag if present -->
<if>
<isset property="deploy.tag"/>
<then>
<exec command="echo ${deploy.remote} | openssl md5 | cut -d' ' -f 2" outputProperty="remoteName"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remoteName should already be set here, so I think this line can be removed.

<exec command="git push ${remoteName} ${deploy.tag}-build" dir="${deploy.dir}" outputProperty="deploy.push.output" logoutput="true" checkreturn="true" level="${blt.exec_level}"/>
<exec command="export DEPLOY_UPTODATE=$(echo '${deploy.push.output}' | grep --quiet 'Everything up-to-date')" logoutput="true" checkreturn="true" level="${blt.exec_level}" passthru="true"/>
</then>
</if>
</target>

<target name="deploy:sanitize" description="Removes sensitive files from the deploy docroot." hidden="true">
Expand All @@ -179,4 +202,9 @@
<property name="cm.core.config-dir" value="vcs"/>
</phingcall>
</target>

<target name="deploy:tag" description="Tag repository.">
<!-- Add -build to tag. -->
<exec command="git tag -a ${deploy.tag}-build -m '${deploy.commitMsg}'" dir="${deploy.dir}" logoutput="true" level="${blt.exec_level}" passthru="true"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This tags the "build" repo, but not the source repo, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correct

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we want to also tag the source repo? @geerlingguy

</target>
</project>