Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: added README and empty CLA #17

Merged
merged 2 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: "CLA Assistant"
on:
issue_comment:
types: [ created ]
pull_request_target:
types: [ opened,closed,synchronize ]

# explicitly configure permissions, in case your GITHUB_TOKEN workflow permissions are set to read-only in repository settings
permissions:
actions: write
contents: write # this can be 'read' if the signatures are in remote repository
pull-requests: write
statuses: write

jobs:
CLAAssistant:
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
uses: contributor-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
# This token is required only if you have configured to store the signatures in a remote repository/organization
# PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'signatures/version1/cla.json'
path-to-document: 'https://github.com/fraunhofer-iem/spha-cli/blob/main/CLA.md' # e.g. a CLA or a DCO document
# branch should not be protected
branch: 'main'

# the followings are the optional inputs - If the optional inputs are not given, then default values will be taken
#remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository)
#remote-repository-name: enter the remote repository name where the signatures should be stored (Default is storing the signatures in the same repository)
create-file-commit-message: 'feat: Creating file for storing CLA Signatures'
signed-commit-message: '$contributorName has signed the CLA in $owner/$repo#$pullRequestNo'
#custom-notsigned-prcomment: 'pull request comment with Introductory message to ask new contributors to sign'
#custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA'
#custom-allsigned-prcomment: 'pull request comment when all contributors has signed, defaults to **CLA Assistant Lite bot** All Contributors have signed the CLA.'
lock-pullrequest-aftermerge: true # - if you don't want this bot to automatically lock the pull request after merging (default - true)
#use-dco-flag: true - If you are using DCO instead of CLA
Empty file added CLA.md
Empty file.
64 changes: 63 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,63 @@
# Software Product Health Assistant
![SPHA Logo](docs/img/Software_Project_Health_Assistant_Secondary-Logo.png)

## About

SPHA is a fully automated tool suite that assesses and communicates all aspects
of software product quality. It does so by combining data about your projects
from sources like ticketing systems, and static analysis tools. For more details
see [software-product.health](https://www.software-product.health).

## SPHA-CLI Tool

This project contains SPHA's command line tool, a wrapper around our
[core library](https://www.github.com/fraunhofer-iem/spha). The CLI-tool can `transform` tool results
into `RawValueKpis`, `calculate` a given `KpiHierarchy` based on `RawValueKpis`, and
generate a human-readable report.
A tool demo using our [GitHub Action](https://www.github.com/fraunhofer-iem/spha-action) can be
found [here](https://www.github.com/fraunhofer-iem/spha-demo).

## Installation

### Using Docker

The easiest way to get started with SPHA is by using the included docker image. To
build it locally run `docker build -t TAG_NAME .`. Afterward, you can run the container

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • is it really docker build -t TAG_NAME .? (with the period)
  • Afterwards instead of aftaward?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. It builds the file in the Current folder, indicated by the .

with `docker run TAG_NAME`. The default command will print the `--help` statement that
further explains how to use SPHA.
This repository contains a prebuild version of SPHA's docker image. To use it just run
`docker pull ghcr.io/fraunhofer-iem/spha-cli:latest` and then run `docker run fraunhofer-iem/spha-cli`.

### Build native

SPHA is a 100% Kotlin project build with Gradle. You must have Kotlin installed on your
system. To use Gradle either install it locally our use the included Gradle wrapper.
We aim to always support the latest version of Kotlin and Gradle.

To build the project using the wrapper run `./gradlew build`.
`./gradlew run` executes SPHA. We use CLIKT as a command line framework, see their
[documentation](https://ajalt.github.io/clikt/quickstart/#developing-command-line-applications-with-gradle) on how to
interact with CLIKT based tools. By default, it will print the `--help` output that further explains
how to use SPHA.

## Usage

After successfully building SPHA you can generally use one of the following three commands:
* `transform` - transforms a given tool result into our internal `RawValueKpi` format
* `calculate` - calculates a given `KpiHierarchy` by combining it with `RawValueKpi`
* `report` - generates a human-readable report from a given `KpiResultHierarchy`

For the most up-to-date documentation of each command run `--help`.

## Contribute

You are welcome to contribute to SPHA. Please make sure you adhere to our
[contributing](CONTRIBUTING.md) guidelines.
First time contributors are asked to accept our
[contributor license agreement (CLA)](CLA.md).
For questions about the CLA please contact us at _SPHA(at)iem.fraunhofer.de_ or create an issue.

## License

Copyright (C) Fraunhofer IEM.
Software Product Health Assistant (SPHA) and all its components are published under the MIT license.
![IEM Logo](docs/img/Logo_iem.png)
Binary file added docs/img/Logo_iem.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.