Skip to content
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

Add tagging of remote repo. #903

Merged
merged 3 commits into from
Jan 4, 2017
Merged
Changes from all commits
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
44 changes: 44 additions & 0 deletions phing/tasks/deploy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,27 @@
promptCharacter=":"
defaultValue="${branch.current}-build"/>

<if>
<isset property="deploy.tag"/>
<then>
<property name="deploy.tag.create" value="y" />
</then>
</if>

<propertyprompt promptText="Would you like to create a tag? [y/n]"
useExistingValue="true"
propertyName="deploy.tag.create"
defaultValue="n"/>
<if>
<equals arg1="${deploy.tag.create}" arg2="y" casesensitive="false"/>
<then>
<propertyprompt propertyName="deploy.tag" useExistingValue="true"
promptText="Enter the name of the tag to create"
promptCharacter=":"
defaultValue=""/>
</then>
</if>

<!-- Check necessary runtime parameters. -->
<if>
<or>
Expand Down Expand Up @@ -47,13 +68,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 +187,15 @@
<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="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 +218,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>