olingo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r921307 - in /websites/staging/olingo/trunk/content: ./ doc/javascript/project-release.mdtxt
Date Fri, 05 Sep 2014 08:56:59 GMT
Author: buildbot
Date: Fri Sep  5 08:56:59 2014
New Revision: 921307

Staging update by buildbot for olingo

    websites/staging/olingo/trunk/content/   (props changed)

Propchange: websites/staging/olingo/trunk/content/
--- cms:source-revision (original)
+++ cms:source-revision Fri Sep  5 08:56:59 2014
@@ -1 +1 @@

Added: websites/staging/olingo/trunk/content/doc/javascript/project-release.mdtxt
--- websites/staging/olingo/trunk/content/doc/javascript/project-release.mdtxt (added)
+++ websites/staging/olingo/trunk/content/doc/javascript/project-release.mdtxt Fri Sep  5
08:56:59 2014
@@ -0,0 +1,235 @@
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
+# Apache Olingo OData Client for Java Script Release Documentation
+### Introduction
+This document describes the release guidelines for Apache Olingo OData Client for Java Script
(referenced in this document as ODataJS). 
+This is similar to [standard Apache procedures to release](http://maven.apache.org/developers/release/apache-release.html)
+for Maven based projects at Apache, but since it is an Java Script library it is adopted
to be used with grunt js.
+### Build Environments
+Apache Olingo is built and released with [Node.js®](http://nodejs.org/) in combination
+[grunt task runner](http://gruntjs.com/) 
+### Release Artifacts
+An Apache Olingo ODataJS release consists of:
+   * **Main artifact**: `<artifactId>-<version>.<ext>` 
+   <br/> A library artifact bundle containing all libraries necessary use the OData
Client for Java Script 
+   <br/> **Package formats**: zip.
+   * **JavaScript Doc artifact**: `<artifactId>-<version>-doc.<ext>` 
+   <br/> A documentation bundle containing the documentation for the ODataJS library.

+   <br/> **Package formats**: zip.
+   * **Source artifact**: `<artifactId>-<version>-sources.<ext>` 
+   <br/> A source-release bundle containing all files the sources necessary to build
all other artifacts. 
+   <br/> **Package formats**: zip.
+### Documentation and JavaDoc
+The documentation that will be part of the release must match the code. 
+The documentation must be up-to-date. Release independend documentation is 
+maintained on the [Apache Olingo Documentation][1] page.
+### Preparation
+##### Release Manager
+A release manager must be appointed for a release. He or she is in charge of the release
+following the guidelines and eventually generating the release artifacts.
+The release manager might tailor the process for a specific release.
+##### Version
+The Olingo community decides if the release will be a major or a minor release and 
+agrees on a version number.
+The artifactnames are build according the following rule:
+``artifactname`` : '${pkg.name}-${pkg.version}-${pkg.postfix}-${pkg.releaseCandidate}
+*pkg* refers to the ``package.json`` file
+*name* is the attribute ``name``
+*version* is the attribute ``version``
+*postfix* is the attribute ``postfix``
+*isReleaseCandidate* is the attribute ``releaseCandidate``
+package.json sample: 
+    {
+      "name": "odatajs",
+      "version": "4.0.0",
+      "postfix": "beta-01",
+      "releaseCandidate" : "RC01",
+      ...
+    }
+Workflow for changing the release
+    <change package.json ..., "name": "odatajs", "version": "4.0.0", ...
+    <change package.json ... , "postfix": "beta-01", "releaseCandidate" : "RC01", ...
+    git add package.json
+    git commit -am 'Issue OLINGO-25 - make release - set version 4.0.0-beta-01-RC01'
+    git tag -f 4.0.0-beta-01-RC01
+    grunt dist 
+    git push
+    git push --tags
+Release artifacts will be stored in the ``dist`` folder parallel to the ``olingojs`` folder.
+##### Open Issues
+There must not be any open JIRA issues for this release. There might be open issues for 
+future releases.
+##### Unit Tests and Integration Tests
+The QUnit tests in **odata-qunit-tests.htm** tests must succeed on a clean machine with the
c#.net testserver running.
+    Open http://localhost:4002/tests/odata-qunit-tests.htm in the browsers  recommented (
Internet Explorer, Chrome, Firefox and Opera)
+##### Apache License and Code Style
+Each source code file must have a current ASF license header. The source 
+code should follow the Apache Olingo code style. For verification run following
+Maven execution
+    ``grunt license-check``
+    must be ok
+##### Packaging
+NOTICE, LICENSE and DISCLAIMER must be present in all bundles and must be up-to-date. 
+##### MD5 and SHA for distribution packages
+MD5 and SHA files are created manually for distribution packages:
+    openssl md5 < ${filename}.zip > ${filename}.zip.md5
+    gpg --print-md SHA512 ${filename}.zip > ${filename}.zip.sha512
+##### Release Tag
+A tag has to be created for every release candidate. The naming rule 
+for the tags is olingojs-${version}-${postfix}-RCxx. This is created as 
+part of the Maven release process. The tag will be renamed to the 
+final version number upon vote approval.
+##### Release Branch
+A branch has to be created for every release. The naming rule for this 
+branch is olingojs-${version}-${postfix}. This has to be created 
+manually upon release approval.
+### Release Candidate
+Once all preparations are done, a release candidate will be built.
+All release candidates must be cryptographically signed. The string 
+"-RCxx" will be attached to the version number of the release candidate 
+artifacts, where is the number of the release candidate starting with 01. 
+If more than one release candidate is required a new tag has to be created 
+and release candidate number will be increased by one.
+The release candidate artifacts:
+  - Maven artifacts will be staged on repository.apache.org. A new staging repo 
+is created per RC and will be communicated upon release.
+  - Distribution commodity packages are staged at 
+http://people.apache.org/~[username]/olingo4/js/[version] (e.g. http://people.apache.org/~mibo/olingo4/js/4.0.0-RC01)
+Once candidate artifacts are available, release manager kicks off the [VOTE process][3].
+If the vote fails, the raised issues will be fixed, a new release candidate will be 
+built and the VOTE process will be restarted.
+If the release candidate gets approved, we can proceed to release publishing.
+#### How to verify a Release Candidate
+This checklist helps verifying if a release candidate is valid:
+* Are all files on "http://people.apache.org/~[username]/olingo4/js/[version]"?
+* Check if md5, sha512 and asc files are filled correctly?
+* Can the zip files be unpacked without issues?
+* Execute a "grunt build"
+* Start the test server
+* Is there a Disclaimer, Notice, License and Dependencies File in every folder?
+* Do all License files contain the right amount of licenses?
+* Do Notice files mention 3rd party libraries if they are contained in the distribution?
+After all questions of this checklist can be answered with yes it is OK to give a +1 on the
mailing list. 
+Of course the Release Manager can also use this checklist to make sure all artifacts are
correct before publishing the results on the mailing list.
+### Publishing the Release
+If the release candidate gets approved, we can proceed to release publishing:
+  - Publish final release Version to [Apache Repository](https://repository.apache.org/)
+    - Copy the release Artifacts into the *Staging Area*
+    - From *Staging Area* close and release the staged Artifacts to finish publishing 
+    - Afterwards the Maven artifacts are automatically synced to [Maven Central](http://search.maven.org/#search|ga|1|org.apache.olingo).
+  - Release candidate commodity packages are synced (together with their checksum and 
+signatures) to [Apache Distributions](http://www.apache.org/dist/olingo/).
+  - Release tag is renamed to final version.
+  - Release branch is created.
+  - Release is closed in Jira.
+  - Release is announced to dev@olingo.apache.org, announce@apache.org.
+### Maintain Version Section in DOAP File
+Results are shown here:
+[link text][5]
+### Additional Apache Release Information
+  - [Releases Policy][6]
+  - [Publishing Releases][7]
+  - [Publishing Maven Artifacts][8]
+  - [Release Management During Incubation][9]
+  [1]: http://olingo.apache.org/documentation.html
+  [3]: http://incubator.apache.org/guides/releasemanagement.html#best-practice-incubator-release-vote
+  [4]: http://olingo.apache.org/doap_Olingo.rdf
+  [5]: http://projects.apache.org/indexes/alpha.html#O
+  [6]: http://www.apache.org/dev/release.html
+  [7]: http://www.apache.org/dev/release-publishing.html
+  [8]: http://www.apache.org/dev/publishing-maven-artifacts.html
+  [9]: http://incubator.apache.org/guides/releasemanagement.html
\ No newline at end of file

View raw message