Skip to content

Commit

Permalink
Add Zenodo integration
Browse files Browse the repository at this point in the history
  • Loading branch information
pierrepo committed Aug 18, 2021
1 parent 0a5d5e3 commit 16f3da7
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 53 deletions.
23 changes: 23 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"title": "AutoClassWeb (v1.2.0): a web app to run AutoClass C Bayesian clustering",
"creators": [{
"name": "Poulain, Pierre",
"orcid": "0000-0003-4177-3619"
},
{
"name": "Camadro, Jean-Michel",
"orcid": "0000-0002-8549-2707"
}],
"description": "This repository contains the archived release for the software AutoClassWeb",
"access_right": "open",
"license": "bsd-3-clause",
"keywords": [
"Omics",
"Proteomics",
"Genomics",
"Clustering",
"Classification",
"Python"
],
"upload_type": "software"
}
82 changes: 82 additions & 0 deletions devtools/RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# How to release

## Setup

Install required packages:
```bash
$ conda env create -f environment.yml
```

Or if needed, update your conda environment:
```bash
$ conda env update -f environment.yml
```

For Zenodo integration, see [Making Your Code Citable](https://guides.github.com/activities/citable-code/).

## Lock dependencies (if needed)

```
$ conda env export -n autoclassweb --no-builds | grep -v "^prefix:" > environment-lock.yml
$ git commit -a -m "Update conda dependencies"
```

## Update version number

We use `bump2version` to update and synchronize the version number across different files.

For patch update (x.y.z → x.y.**z+1**):
```
$ bump2version --verbose --config-file devtools/bumpversion.cfg patch
```

For minor update (x.y.z → x.**y+1**.0):
```
$ bump2version --verbose --config-file devtools/bumpversion.cfg minor
```

For major update (x.y.z → **x+1**.0.0):
```
$ bump2version --verbose --config-file devtools/bumpversion.cfg major
```

Remark:

1. For a dry run with `bump2version`, use option `-n`.
2. `bump2version` will fail if the git working directory is not clean, i.e. all changes are not commited.

Once version number is updated, push everything to GitHub:
```
$ git push origin
$ git push origin --tags
```


## Add new release on GitHub

On [GitHub release page](https://github.com/pierrepo/autoclassweb/releases) :

- Click the *Draft a release* button.
- Select the latest version as *tag version*.
- Add release version as *Release title* (e.g.: v1.3.7).
- Copy and paste the content of the `CHANGELOG.md` in the *Describe this release* field.
- Hit the *Publish Release* button :rocket:.


## Zenodo integration

After the creation of the new release in GitHub, check the archive has been creating on [Zenodo](https://zenodo.org/deposit).


## Publish docker image

Docker images of autoclassweb are hosted in the [Biocontainers](https://biocontainers.pro/) docker repo:

<https://hub.docker.com/r/biocontainers/autoclassweb>

To push new images:

- Clone <https://github.com/BioContainers/containers>
- Add the Dockerfile for the new release in the `autoclassweb` subdirectory
- Make a pull request for merging.

5 changes: 2 additions & 3 deletions devtools/bumpversion.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
commit = True
tag = True
current_version = 1.2.0
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
serialize =
{major}.{minor}.{patch}

[bumpversion:file:flaskapp/__init__.py]

[bumpversion:file:.zenodo.json]

[bumpversion:file:CHANGELOG.md]
search = **Dev**
replace = **Dev**
Expand Down
50 changes: 0 additions & 50 deletions devtools/release.md

This file was deleted.

0 comments on commit 16f3da7

Please sign in to comment.