Skip to content

The release process

jantje edited this page Nov 20, 2017 · 20 revisions

Work in progress. Please contribute

This page is build as a reminder/to-do list on what should be done when a new "Arduino eclipse plugin V2" release is created. The basic idea of the new release creation process is that the new release is created after the release is published. This makes that the nightly is ready to be released. Except for following things.
The release only points to the stable repo while the nightly points to the stable and the nightly.

This makes the steps to make a new release as follows:

  • Update the version numbers in the manifest, xml and pom files
  • Publish and tag the nightly build packages as a new release
  • Create a Marker in github so we know what code has been used for the release.
  • Label activity in github.
  • Update the plugin so it reflects it is a new release.

Lets go into detail for each of these steps:

Update the version numbers in the manifest, xml and pom files

In eclipse update for all project the pom.xml file
For the pojo projects update the manifest.MF file
For the feature projects update the feature.xml file
For the product project update arduino.product

If all of this has been done correctly mvn verify should run ok and the build product should reference the new version numbers.
If so check-in the changes

Publish and tag the nightly build packages as a new release

From a delivery point of view there are 3 locations that must be updated.

  • The stable product version on eclipse.baeyens.it
  • The V2 update site on eclipse.baeyens.it
  • The eclipse.baeyens.it web site
  • The eclipse market place.

The stable product version on eclipse.baeyens.it

To release a stable version on eclipse.baeyens.it renaming the nightly build product files (5 in total) by adding VX.Y_ in front of the nightly build. X stands for the major version Y stands for the minor version. The files location on the server is eclipse/download/product. Of course you need the right credentials to do so.

The V3 update site on eclipse.baeyens.it

Prerequisites

  • your build server workspace is accessible as file system
  • You have read and write permissions to the workspace
    Step 1
    Download the V3 folder from ftp.baeyens.it/eclipse/V2
    Start the correct eclipse instance (pde dev neon right now)
    open the workspace on the build server
    right click on the it.baeyens.updatesite and select export
    select plug-in development->deployable features->next in available features select it.baeyens.arduino.features
    in destination select the ~/V3 folder
    in options make sure the source is not selected and "use class files compiled in the workspace" is selected
    select finish
    wait until done upload the V3 folder to ftp.baeyens.it/eclipse/V3

The eclipse.baeyens.it web site

The web site is updated via the github repository and the nightly build. The change involves the remind pages. rename V to V+1 rename V-1 to V copy V-2 to V-1 Note that the above description is a mental description and does not necessarily reflect the physical action that needs to take place as I change the version number after the release so nightly people get a different page (see below).
It is also a good idea to tweet about this so the home page reflects the new release.
Change the version numbers in the files "/Eclipse update site/WebContent/stable-linux.html" "/Eclipse update site/WebContent/stable-osx.html" and "/Eclipse update site/WebContent/stable-win.html".

The eclipse market place.

Updating the eclipse market place is also a good idea. As we are at it. Do both the product and the plugin version.

Create a Marker in github so we know what code has been used for the release.

On the github website make a new release https://github.com/jantje/arduino-eclipse-plugin/releases

##Label activity in github. Rename the label "status: fixed in nightly" to "status:fixed in release X.Y" and create a new label "status: fixed in nightly"

Update the plugin so it reflects it is a new release.

Change the link to the remind page

Clone this wiki locally