Skip to content

Commit

Permalink
Merge pull request #653 from xenon-middleware/making-a-release
Browse files Browse the repository at this point in the history
Making a release
  • Loading branch information
jmaassen authored Jul 31, 2019
2 parents 292ff24 + 3f840e2 commit d06178d
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 19 deletions.
36 changes: 22 additions & 14 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
{
"description": "A middleware abstraction library that provides a simple programming interface to various compute and storage resources.",
"license": "Apache-2.0",
"title": "Xenon",
"upload_type": "software",
"creators": [{
"creators": [
{
"affiliation": "Netherlands eScience Center",
"name": "Maassen, Jason"
"name": "Maassen, Jason",
"orcid": "0000-0002-8172-4865"
},
{
"affiliation": "Netherlands eScience Center",
"name": "Verhoeven, Stefan"
"name": "Verhoeven, Stefan",
"orcid": "0000-0002-5821-2060"
},
{
"affiliation": "Netherlands eScience Center",
"name": "Borgdorff, Joris"
"name": "Borgdorff, Joris",
"orcid": "0000-0001-7911-9490"
},
{
"affiliation": "Netherlands eScience Center",
"name": "Spaaks, Jurriaan H."
"name": "Spaaks, Jurriaan H.",
"orcid": "0000-0002-7064-4069"
},
{
"affiliation": "Netherlands eScience Center",
"name": "Drost, Niels"
"name": "Drost, Niels",
"orcid": "0000-0001-9795-7981"
},
{
"affiliation": "Netherlands eScience Center",
Expand All @@ -37,19 +39,21 @@
},
{
"affiliation": "Netherlands eScience Center",
"name": "van Nieuwpoort, Rob"
"name": "van Nieuwpoort, Rob",
"orcid": "0000-0002-2947-9444"
},
{
"affiliation": "Netherlands eScience Center",
"name": "van Werkhoven, Ben"
"name": "van Werkhoven, Ben",
"orcid": "0000-0002-7508-3272"
},
{
"affiliation": "Netherlands eScience Center",
"name": "Kuzniar, Arnold",
"orcid": "0000-0003-1711-7961"
}
],
"access_right": "open",
"description": "Many applications use remote storage and compute resources. To do so, they need to include code to interact with the scheduling systems and file transfer protocols used on those remote machines. Unfortunately, many different scheduler systems and file transfer protocols exist, often with completely different programming interfaces. This makes it hard for applications to switch to a different system or support multiple remote systems simultaneously. Xenon solves this problem by providing a single programming interface to many different types of remote resources, allowing applications to switch without changing a single line of code.",
"keywords": [
"Java",
"batch-job",
Expand All @@ -65,5 +69,9 @@
"SSH",
"Torque",
"distributed computing"
]
],
"license": {
"id": "Apache-2.0"
},
"title": "Xenon"
}
8 changes: 8 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,25 +1,31 @@
---
abstract: "Many applications use remote storage and compute resources. To do so, they need to include code to interact with the scheduling systems and file transfer protocols used on those remote machines. Unfortunately, many different scheduler systems and file transfer protocols exist, often with completely different programming interfaces. This makes it hard for applications to switch to a different system or support multiple remote systems simultaneously. Xenon solves this problem by providing a single programming interface to many different types of remote resources, allowing applications to switch without changing a single line of code."
authors:
-
affiliation: "Netherlands eScience Center"
family-names: Maassen
given-names: Jason
orcid: "https://orcid.org/0000-0002-8172-4865"
-
affiliation: "Netherlands eScience Center"
family-names: Verhoeven
given-names: Stefan
orcid: "https://orcid.org/0000-0002-5821-2060"
-
affiliation: "Netherlands eScience Center"
family-names: Borgdorff
given-names: Joris
orcid: "https://orcid.org/0000-0001-7911-9490"
-
affiliation: "Netherlands eScience Center"
family-names: Spaaks
given-names: "Jurriaan H."
orcid: "https://orcid.org/0000-0002-7064-4069"
-
affiliation: "Netherlands eScience Center"
family-names: Drost
given-names: Niels
orcid: "https://orcid.org/0000-0001-9795-7981"
-
affiliation: "Netherlands eScience Center"
family-names: Meijer
Expand All @@ -39,11 +45,13 @@ authors:
family-names: Nieuwpoort
given-names: Rob
name-particle: van
orcid: "https://orcid.org/0000-0002-2947-9444"
-
affiliation: "Netherlands eScience Center"
family-names: Werkhoven
given-names: Ben
name-particle: van
orcid: "https://orcid.org/0000-0002-7508-3272"
-
affiliation: "Netherlands eScience Center"
family-names: Kuzniar
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,10 @@ For more examples, see the tutorial at [Read The Docs](http://xenonrse2017.readt

Xenon's JavaDoc is available online at <http://xenon-middleware.github.io/xenon/>.

## Documentation for maintainers

For developers of Xenon itself

* see [RELEASE.md](RELEASE.md) how to perform a release.
* see [ADAPTOR_DEVELOPMENT.md](ADAPTOR_DEVELOPMENT.md) how to write a new adaptor.

Expand Down
34 changes: 29 additions & 5 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ To create a release, version numbers should be updated in:
- gradle/common.gradle
- CHANGELOG.md

Also, in `CHANGELOG.md` a section should be added with
notable changes in this version.
Also, add a section to the CHANGELOG.md with notable changes in this version.

- CITATION.cff (see section below)

## 2. Update the site

Expand All @@ -23,13 +24,34 @@ To update Xenon version in `docs/_data/version.yml` and update Javadocs inside `

The site is a [Jekyll](https://jekyllrb.com/) powered site and hosted by GitHub pages at http://nlesc.github.io/Xenon/

## 2.1 Update the CITATION.cff
## 2.1 Update the CITATION.cff and generate the Zenodo metadata

The CITATION.cff contains the information on how to cite xenon in scientific applications. Update the authors list is needed, and
change the date-released and version fields to reflect the current release.
The ``CITATION.cff`` contains the information on how to cite Xenon in scientific
applications. Update the authors list if needed, and change the
``date-released`` and ``version`` fields to reflect the release that you are
about to make.

NOTE: the CITATION.cff contains the concept DOI of xenon (refering to all versions), so this does not need to be changed.

After updating the citation metadata, use [``cffconvert``](https://pypi.org/project/cffconvert/)
to generate the metadata as used by Zenodo. Install ``cffconvert`` as follows:

```bash
# install cffconvert in user space from PyPI
pip install --user cffconvert

# change directory
cd <directory where the CITATION.cff lives>

# check if the CITATION.cff file is valid (if there is no output, that
# means it's all good)
cffconvert --validate

# generate the zenodo file by (note the dot in the file name):
cffconvert --outputformat zenodo --ignore-suspect-keys > .zenodo.json
```


## 3. Commit the changes

Next, commit all changes you have made to the master branch. If you check with
Expand All @@ -42,6 +64,8 @@ you should get something like this:
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:

modified: .zenodo.json
modified: CITATION.cff
modified: CHANGELOG.md
modified: README.md
modified: gradle/common.gradle
Expand Down

0 comments on commit d06178d

Please sign in to comment.