README.md 2.4 KB
Newer Older
1
<!--
Maximilian Dolling's avatar
bak2  
Maximilian Dolling committed
2
SPDX-FileCopyrightText: 2020 Helmholtz Centre Potsdam - GFZ German Research Centre for Geosciences, Germany (https://www.gfz-potsdam.de/)
3 4 5 6

SPDX-License-Identifier: CC0-1.0
-->

7
# Software Quality Assurance
Maximilian Dolling's avatar
Maximilian Dolling committed
8

Maximilian Dolling's avatar
Maximilian Dolling committed
9 10
---

11
This framework provides various services for the GitLab CI regarding to software quality.
Maximilian Dolling's avatar
Maximilian Dolling committed
12 13 14

## Description

15
This software is built as a docker image, which provides various services around software quality.
Maximilian Dolling's avatar
Maximilian Dolling committed
16 17 18
Its goal is to help researchers, developers and [RSEs](https://de-rse.org/en/) develop software with better quality.
Currently there are two ways to run the services.

19
> **Example:** You can find a full report of all available services [here](meta/software-quality-assurance-report.md)
Maximilian Dolling's avatar
Maximilian Dolling committed
20 21 22 23 24

---

## Requirements

Maximilian Dolling's avatar
Maximilian Dolling committed
25
The software you want to run the services on **must** be a [git](https://git-scm.com/) repository with a remote location named 'origin'.
Maximilian Dolling's avatar
Maximilian Dolling committed
26 27 28

**via GitLab CI/CD**

29
* available [GitLab Runner](https://docs.gitlab.com/runner/) with `software-quality-assurance` [tag](https://docs.gitlab.com/ee/ci/runners/#using-tags) and the [docker executor](https://docs.gitlab.com/runner/executors/docker.html)
Maximilian Dolling's avatar
Maximilian Dolling committed
30 31 32 33 34 35 36

**local usage**

* [docker](https://www.docker.com/) >= 19.03.1

---

37 38 39 40 41 42 43 44 45
## Documentation

You can find the documentation [here](http://software.gitext.gfz-potsdam.de/services/fair/software-quality-assurance/).
In case you received a local copy of the project, you can build and view the documentation like this:
```shell script
cd docs
make html
$BROWSER build/html/index.html
```
Maximilian Dolling's avatar
Maximilian Dolling committed
46 47 48

---

49
## Further planned features
Maximilian Dolling's avatar
Maximilian Dolling committed
50
* license check
Maximilian Dolling's avatar
Maximilian Dolling committed
51 52 53 54 55 56
    * R
    * Java
    * Fortran
    * JavaScript
    * C, C++
    * Matlab
Maximilian Dolling's avatar
Maximilian Dolling committed
57
* license generation
Maximilian Dolling's avatar
Maximilian Dolling committed
58
* comment check
Maximilian Dolling's avatar
Maximilian Dolling committed
59 60
* check for necessary files
* generate necessary files
Maximilian Dolling's avatar
Maximilian Dolling committed
61 62
* check if tests exist
* DOI request
63 64 65
* static code analysis
* linting
* code duplicates
Maximilian Dolling's avatar
Maximilian Dolling committed
66
---
67 68 69 70 71 72

## License

Copyright © 2020 Helmholtz Centre Potsdam - GFZ German Research Centre for Geosciences, Germany (https://www.gfz-potsdam.de/)

This work is licensed under the following license(s):
73 74 75
* Insignificant files are licensed under [CC0-1.0](LICENSES/CC0-1.0.txt)
* Software files are licensed under [GPL-3.0-or-later](LICENSES/GPL-3.0-or-later.txt)
* Everything else is licensed under [GPL-3.0-or-later](LICENSES/GPL-3.0-or-later.txt)
76 77 78 79

Please see the individual files for more accurate information.

> **Hint:** We provided the copyright and license information in accordance to the [REUSE Specification 3.0](https://reuse.software/spec/).