Skip to content

Commit

Permalink
Add GitHub releases support
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicholas K. Dionysopoulos committed Mar 18, 2017
1 parent a844834 commit 5f0d968
Show file tree
Hide file tree
Showing 5 changed files with 126 additions and 1 deletion.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 1.0.0

First release with a version number.
52 changes: 52 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Akeeba Contact Us

A simple contact form component for FOF 3

## What does it do?

It lets you add a very simple contact form on your site. Each contact category can have a different set of recipients. Also, each contact category can have an auto-responder. We built this for use on our site.

## Download

Pre-built packages of Akeeba Release System are made available through [our GitHub repository's Releases page](https://github.com/akeeba/contactus/releases).

## No support - For developers only

This software is provided **WITHOUT ANY KIND OF SUPPORT WHATSOEVER**. It's also too simple to even have any kind of documentation whatsoever.

If you are a developer you are free to submit a pull request with your code fix, as long as there is a clear description of what was not working for you, why and how you fixed it.

## Prerequisites

In order to build the installation packages of this component you will need to have the following tools:

* A command line environment. Using Bash under Linux / Mac OS X works best. On Windows you will need to run most tools through an elevated privileges (administrator) command prompt on an NTFS filesystem due to the use of symlinks. Press WIN-X and click on "Command Prompt (Admin)" to launch an elevated command prompt.
* A PHP CLI binary in your path
* Command line Git executables
* Phing

You will also need the following path structure inside a folder on your system

* **contactus** This repository
* **buildfiles** [Akeeba Build Tools](https://github.com/akeeba/buildfiles)
* **fof3** [Framework on Framework 3.x](https://github.com/akeeba/fof)

You will need to use the exact folder names specified here.

### Useful Phing tasks

All of the following commands are to be run from the MAIN/build directory.
Lines starting with $ indicate a Mac OS X / Linux / other *NIX system commands.
Lines starting with > indicate Windows commands. The starting character ($ or >)
MUST NOT be typed!

#### Creating a dev release installation package

This creates the installable ZIP packages of the component inside the
MAIN/release directory.

$ phing git
> phing git

**WARNING** Do not distribute the dev releases to your clients. Dev releases, unlike regular releases, also use a
dev version of FOF 3.
13 changes: 13 additions & 0 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Joomla and PHP Compatibility

We are developing, testing and using Akeeba Contact Us using the latest version of Joomla! and a popular and actively maintained branch of PHP 7. At the time of this writing this is:
* Joomla! 3.6
* PHP 7.0

Akeeba Contact Us should be compatible with:
* Joomla! 3.4, 3.5, 3.6, 3.7
* PHP 5.4, 5.5, 5.6, 7.0, 7.1.

## Changelog

First release with a version number.
7 changes: 6 additions & 1 deletion build/build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,9 @@ build.has_pro=0
; Do you have CLI script? If yes, a file_example package will be built for you
build.has_cli=0
; Do not include Akeeba Strapper
build.strapper=0
build.strapper=0

; GitHub Releases setup
; ------------------------------------------------------------------------------
github.organization=akeeba
github.repository=contactus
52 changes: 52 additions & 0 deletions build/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,56 @@
<echo>No documentation exists for this package</echo>
</target>

<!--
====================================================================================================
Tasks - Project management
====================================================================================================
-->

<target name="release">
<!-- Make sure there is a tag that's the same as the version number -->
<gittag gitPath="${git.binary}"
repository="${dirs.root}"
list="true" pattern="${version}"
outputProperty="git.tags"
/>

<php function="trim" returnProperty="git.tags">
<param value="${git.tags}" />
</php>

<if>
<not>
<equals arg1="${git.tags}" arg2="${version}" />
</not>
<then>
<fail message="You must tag version ${version} before trying to release it." />
</then>
</if>

<!-- Verify the tag. If it can't verify the tag the build fails. -->
<gittag gitPath="${git.binary}"
repository="${dirs.root}"
verify="true"
object="${version}"
outputProperty="git.verify"
/>

<!-- Make a draft release -->
<loadfile property="github.release.body" file="${dirs.root}/RELEASENOTES.md" />

<GitHubRelease token="${github.token}" organization="${github.organization}" repository="${github.repository}"
tagName="${version}" releaseName="v.${version}" releaseBody="${github.release.body}" draft="1"
propName="github.release.id" />

<!-- Upload the release files -->
<GitHubAsset token="${github.token}" organization="${github.organization}" repository="${github.repository}"
file="${dirs.release}/pkg_contactus-${version}.zip"
releaseId="${github.release.id}" />

<!-- Publish the release -->
<GitHubRelease token="${github.token}" organization="${github.organization}" repository="${github.repository}"
tagName="${version}" draft="0" />
</target>

</project>

0 comments on commit 5f0d968

Please sign in to comment.